使用Python

时间:2017-03-14 15:01:28

标签: python-2.7 amazon-web-services subprocess apache-zookeeper cloudera-manager

我在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中是否还有其他方法可以实现上述情况?

1 个答案:

答案 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