MCPcopy Create free account
hub / github.com/4paradigm/OpenMLDB / DeployZookeeper

Function DeployZookeeper

tools/deploy.py:106–163  ·  view source on GitHub ↗
(zk_conf, teardown)

Source from the content-addressed store, hash-verified

104
105
106def DeployZookeeper(zk_conf, teardown):
107 source_file = zk_conf["package"]
108 file_name = os.path.basename(source_file)
109 dir_name = "zookeeper"
110 server_conf = []
111 for idx in xrange(len(zk_conf["address_arr"])):
112 host = zk_conf["address_arr"][idx]["address"].split(":")[0]
113 cur_server_conf = "server." + str(idx + 1) + "=" + host
114 if "inner_port1" in zk_conf["address_arr"][idx]:
115 cur_server_conf += ":" + str(zk_conf["address_arr"][idx]["inner_port1"])
116 else:
117 cur_server_conf += ":" + str(zk_conf["inner_port1"])
118 if "inner_port2" in zk_conf["address_arr"][idx]:
119 cur_server_conf += ":" + str(zk_conf["address_arr"][idx]["inner_port2"])
120 else:
121 cur_server_conf += ":" + str(zk_conf["inner_port2"])
122 server_conf.append("echo {} >> conf/zoo.cfg".format(cur_server_conf))
123
124 for idx in xrange(len(zk_conf["address_arr"])):
125 host = zk_conf["address_arr"][idx]["address"].split(":")[0]
126 port = zk_conf["address_arr"][idx]["address"].split(":")[1]
127 (prefix, suffix, is_local) = GetPrefixAndSuffix(host)
128 real_path = ''
129 if "path" in zk_conf["address_arr"][idx]:
130 real_path = zk_conf["address_arr"][idx]["path"]
131 else:
132 real_path = zk_conf["path"]
133 java_home_str = "echo $PATH"
134 if not CheckJava(host):
135 DeployJava(host, real_path, zk_conf["java_package"], teardown)
136 java_home_str = "PATH=$PATH:{}/{}/bin".format(real_path, "jdk1.8.0_121")
137 cmd_arr = []
138 work_path = real_path + "/" + dir_name
139 if teardown:
140 print("teardown zookeeper on {}. path: {}".format(host, real_path))
141 cmd_arr.append("{} cd {}; sh bin/zkServer.sh stop {}".format(prefix, work_path, suffix))
142 cmd_arr.append("{} cd {}; rm {}; rm -rf {} {}".format(prefix, real_path, file_name, dir_name, suffix))
143 else:
144 print("start zookeeper on {}. path: {}".format(host, real_path))
145 cmd_arr.append("{} mkdir -p {} {}".format(prefix, real_path, suffix))
146 if is_local:
147 cmd_arr.append("cp {} {}".format(source_file, real_path))
148 else:
149 cmd_arr.append("scp {} {}:{}".format(source_file, host, real_path))
150 cmd_arr.append("{} cd {}; tar -zxvf {}; mv {} {}; cd {}; mv conf/zoo_sample.cfg conf/zoo.cfg {}".format(
151 prefix, real_path, file_name, file_name[:-7], dir_name, dir_name, suffix))
152 cmd_arr.append("{} cd {}; sed -i 's/dataDir=.*/dataDir=\.\/data/g' conf/zoo.cfg;"
153 "sed -i 's/clientPort=.*/clientPort={}/g' conf/zoo.cfg;"
154 "{} {}".format(
155 prefix, work_path, port, ";".join(server_conf), suffix))
156 cmd_arr.append("{} cd {}; mkdir -p ./data; echo {} > ./data/myid {}".format(prefix, work_path, idx + 1, suffix))
157 cmd_arr.append("{} cd {}; {}; sh bin/zkServer.sh start {}".format(prefix, work_path, java_home_str, suffix))
158 for cmd in cmd_arr:
159 (returncode,output,errout) = RunWithRetunCode(cmd)
160 if returncode != 0:
161 print("execute cmd[{}] failed! error msg: {}".format(cmd, errout))
162 return
163 print("execute cmd[{}] success".format(cmd))

Callers 1

deploy.pyFile · 0.85

Calls 5

GetPrefixAndSuffixFunction · 0.85
CheckJavaFunction · 0.85
DeployJavaFunction · 0.85
RunWithRetunCodeFunction · 0.85
appendMethod · 0.80

Tested by

no test coverage detected