【问题标题】:Execute commands in ZooKeeper Command Line Interface using Python使用 Python 在 ZooKeeper 命令行界面中执行命令
【发布时间】:2017-08-04 23:53:37
【问题描述】:

我正在 AWS 中借助 Python 尝试 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 中实现上述情况?

【问题讨论】:

  • 必须是python吗?
  • @MichelleTan 我在 python 中尝试使用 cloudera manager api。如果 python 中没有其他选项,我准备尝试任何其他选项。整个意图是在zookeeper cli中自动执行命令

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


【解决方案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

【讨论】:

  • 感谢@Michelle Tan 的回复。我已经尝试过了,并且能够在 zookeeper cli 中执行我的命令。我创建了一个 shell 脚本,并从 Python 执行了该脚本,并在那里能够使用相同的 Python 脚本自动化我的工作.. :)
猜你喜欢
  • 2017-07-04
  • 2021-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多