我在AWS的帮助下尝试了Cloudera Manager API。我在执行脚本'zkCli.sh'后尝试在Zookeeper命令行界面中执行一些命令。 我尝试使用subprocess命令使用以下命令,并且能够登录到zookeeper cli。
subprocess.call('ssh -o StrictHostKeyChecking = no -t -t -i /home/ec2-user/key.pem ec2-user@xx.xx.xx.xx“sudo /opt/cloudera/parcels/CDH/lib/zookeeper/bin/zkCli.sh“',shell = True)
任何人都可以帮助我使用相同的子进程在zookeeper cli中执行其他命令(比如'ls /')。
在Python中是否还有其他方法可以实现上述情况?
答案 0 :(得分:1)
不确定cloudera API。您可以使用Python来执行脚本。 你试过Heredoc吗? https://en.wikipedia.org/wiki/Here_document 你可以在终端上运行它或者在shell脚本中自动执行它。它会是这样的:
bin/zkCli.sh -server localhost:2181 << END
create /zookeeper/Testing "Testdata"
quit
END
甚至输出到日志文件
bin/zkCli.sh -server localhost:2181 >> zkAutomation.log << END
create /zookeeper/Testing "Testdata"
quit
END