使用 Python 在 ZooKeeper 命令行界面中执行命令
Execute commands in ZooKeeper Command Line Interface using Python
我正在 AWS Python 的帮助下尝试 Cloudera Manager API。执行脚本 'zkCli.sh' 后,我试图在 Zookeeper 命令行界面中执行一些命令。
我已经尝试使用子进程使用以下命令,并且能够登录到 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中还有其他方法可以实现上述情况吗?
不确定 cloudera API。您也许可以使用 Python 来执行脚本。
你试过Heredoc吗? https://en.wikipedia.org/wiki/Here_document
您可以在终端上 运行 或放入 shell 脚本来执行它 automatically.It 就像这样:
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
我正在 AWS Python 的帮助下尝试 Cloudera Manager API。执行脚本 'zkCli.sh' 后,我试图在 Zookeeper 命令行界面中执行一些命令。 我已经尝试使用子进程使用以下命令,并且能够登录到 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中还有其他方法可以实现上述情况吗?
不确定 cloudera API。您也许可以使用 Python 来执行脚本。 你试过Heredoc吗? https://en.wikipedia.org/wiki/Here_document 您可以在终端上 运行 或放入 shell 脚本来执行它 automatically.It 就像这样:
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