2

我正在尝试为我的集群编写一个小的自动化状态例程。基本上,我正在编写一个小 shell 脚本,它将查询所有节点,检查各种指标(有点像 Ganglia 会给我的......但我不能使用那个......长篇大论)。这完成了,除了 HBase。对于所有其他服务器(NN、JT、ZK 等),我可以查看配置文件并知道主机名。然而,HBase 主服务器并没有在任何地方列出。它位于“/hbase/master”znode 中。

我的问题..我怎样才能从 bash 中获取该主机名?我一直在尝试类似'zkCli.sh -server myzoo << get /hbase/master'之类的东西,但到目前为止,我还是一无所获。

底线是,我想要一个可以访问我所有主要服务器的 shell 脚本。HBase 是我唯一遇到的问题。

提前致谢。

4

2 回答 2

2

根据使用字符串,我们应该可以做到

zkCli.sh -server myzoo get /hbase/master

即使这不起作用,我们也可以不用 input.txt:

zkCli.sh -server myzoo <<EOF
get /hbase/master
quit
EOF
于 2013-11-21T08:00:01.563 回答
0

我们可以在 hbase-site.xml 文件中拥有“hbase.master”属性,然后您可以从那里像其他进程一样选择它。

于 2012-05-29T23:01:58.293 回答