在安装完ambari-server并配置之后,选定客户端进行指定安装的时候,发现总是遇到这一错误
Ambari Agent host cannot reach Ambari Server ‘localhost:8080‘.
我看了一下错误日志发现在从ambari-server传送到客户端的setupAgent.py脚本的main函数中的参数设置老是不对,如下所示:
156 def main(argv=None): 157 scriptDir = os.path.realpath(os.path.dirname(argv[0])) 158 # Parse the input 159 onlyargs = argv[1:] 160 expected_hostname = onlyargs[0] 161 passPhrase = onlyargs[1] 162 #hostname = onlyargs[2] 163 hostname = "192.168.31.150" 164 projectVersion = None 165 #server_port = 8080 166 server_port = 8440 167 if len(onlyargs) > 3: 168 projectVersion = onlyargs[3] 169 if len(onlyargs) > 4: 170 server_port = onlyargs[4] 171 try: 172 server_port = int(server_port) 173 except (Exception), e: 174 server_port = 8080 175 176 checkServerReachability(hostname, server_port) 177 178 if projectVersion is None or projectVersion == "null" or projectVersion == "{ambariVersion}" or projectVersion == "": 179 retcode = getOptimalVersion("") 180 else: 181 retcode = getOptimalVersion(projectVersion) 182 183 184 if retcode["exitstatus"] == 0 and retcode["log"] != None and retcode["log"] != "" and retcode["log"][0].strip() != "": 185 availiableProjectVersion = "-" + retcode["log"].strip() 186 if not isAgentPackageAlreadyInstalled(availiableProjectVersion): 187 if is_suse(): 188 ret = installAgentSuse(availiableProjectVersion) 189 else: 190 ret = installAgent(availiableProjectVersion) 191 if (not ret["exitstatus"]== 0): 192 sys.exit(ret) 193 elif retcode["exitstatus"] == 1 and retcode["log"][0].strip() != "":
其中第162和第165行为原先的代码,如果按照原先的代码执行就会一直出现上述问题。而163和166行是我手动指定了ambari-server所在机器的host和service port,修改之后执行就可以通过。
这个问题追查了很长时间,我的判断是在客户端调用setupAgent.py执行的时候,并没有将服务端的相应参数传入而是使用的默认参数,从而导致了问题的发生。至于为什么会发生这种情况还不得而知。
本文出自 “左罗CTO” 博客,请务必保留此出处http://zorro.blog.51cto.com/2139862/1409468
ambari安装问题记录:Ambari Agent host cannot reach Ambari Server 'localhost:8080'.,布布扣,bubuko.com
ambari安装问题记录:Ambari Agent host cannot reach Ambari Server 'localhost:8080'.
原文:http://zorro.blog.51cto.com/2139862/1409468