03用于集群分布中分发master机器文件到多个子节点机器的python脚本

发布于:2023-01-04 ⋅ 阅读:(367) ⋅ 点赞:(0)

分发master机器文件的python脚本

#coding=utf-8
import os

print("注意python2的input需要加引号'或者“")
contents=input("请输入 <filepath1>|<filepath2> <host1>|<host2> <user> 此类内容命令:\n")
# eg: /usr/local/flink|/usr/local/hadoop slave1|slave2|slave3

paths=contents.strip().split(" ")[0]
hosts=contents.strip().split(" ")[1]
n=len(contents.strip().split(" "))
for path in paths.split("|"):
    for host in hosts.split("|"):
        user=contents.strip().split(" ")[2] if n>=3 else "root"
        cmd = "sudo scp -r {} {}@{}:{}".format(path, user,host, os.path.dirname(path))
        os.system(cmd)
        # print(cmd)
        print("-"*50)

因为centOS7.5上默认安装了python2,所以以上的程序是可以在centOS7.5上直接进行运行的,
只需要在终端中执行python batchCopy.py即可执行,之后需要输入/usr/local/flink|/usr/local/hadoop slave1|slave2|slave3这类值作为参数,就可以实现/usr/local/flink和/usr/local/hadoop两个文件夹上传到slave1、slave2和slave3机器的/usr/local目录下,当然中间会需要进行密码输入。
但需要注意的是,python2的input语句在输入字符串时,必须带引号。
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到