【发布时间】:2013-09-13 18:16:44
【问题描述】:
我正在尝试将 bash 脚本转换为 java 程序。在这个脚本中,我运行 Hadoop、Zookeeper 和 Accumulo 的启动脚本:
/hadoop/bin/start_all.sh
/zookeeper/bin/zkServer.sh start
/accumulo/bin/start_all.sh
这在脚本中很简单。如果程序已经在运行,我可以再次调用这些启动脚本没有问题,程序将简单地输出它们已经在运行以及它们的 pid。
我试图弄清楚是否有办法在 java 程序中执行此操作。 Hadoop/ZooKeeper/Accumulo API 中是否有一些隐藏命令,我可以在其中运行 Class.run(configs),它会启动或尝试启动 Hadoop/ZooKeeper/Accumulo?
我的下一步是我可能可以使用 jsch 来运行 ssh 命令,但这似乎并没有真正将 bash 脚本抛在后面。
编辑:executing hadoop example jar files from java 在这个问题中,提问者正在使用运行时执行启动命令。这是启动 Hadoop 的合适方式吗?如果有要使用的命令,我宁愿使用原生 Hadoop API。
【问题讨论】:
-
我不禁想知道为什么...介意解释一下?
-
@DonaldMiner 我正在编写一个程序,使非技术人员可以轻松启动这些程序。
-
Cloudera 经理/Ambari?木偶?这里似乎有些不对劲……非技术人员可能不应该启动和停止 hadoop 服务。
-
@DonaldMiner 它更适合单节点实例封闭演示。最终,管理可能会由您提到的服务之一运行。感谢您的健全性检查。 :)
标签: java bash hadoop apache-zookeeper accumulo