1. 程式人生 > >ambari-phoenix監控資料檢視方法

ambari-phoenix監控資料檢視方法

近日在研究ambari專案,需要檢視下ambari的監控資料的具體情況。

1.檢視ambari專案對應的phoenix版本為4.4.0.2.3.4.0-3347。

  <properties>
    <!-- Needed for generating FindBugs warnings using parent pom -->
    <!--<yarn.basedir>${project.parent.parent.basedir}</yarn.basedir>-->
    <protobuf.version>2.5.0</protobuf.version
>
<hadoop.version>2.7.1.2.3.4.0-3347</hadoop.version> <phoenix.version>4.4.0.2.3.4.0-3347</phoenix.version> <hbase.version>1.1.2.2.3.4.0-3347</hbase.version> </properties>

2.下載對應的phoenix包。
link

3.解壓安裝包後,進行訪問

./bin/sqlline.py 172.16.31.183:2181

異常出現,出現/hbase不存在的問題

17/08/15 09:58:08 ERROR client.ConnectionManager$HConnectionImplementation: The node /hbase is not in ZooKeeper. It should have been written by the master. Check the value configured in 'zookeeper.znode.parent'. There could be a mismatch with the one configured in the master.

4.因為ambari預設使用的是單機版本的hbase,所以使用的是內建的zookeeper,
初步懷疑為zookeeper埠和叢集的zookeeper出現衝突,
ambari-metric在hadoop183節點,檢視叢集,發現該節點確實也存在叢集的zookeeper。
檢視ambari-metric的zookeeper配置,發現埠為{{zookeeper_clientPort}},該變數未找到。

如果埠衝突,則必然有一個服務會報錯,但是兩者都沒有異常顯示,則應該埠沒有衝突。
但是zookeeper_clientPort這個埠的定義沒有找到。

這裡我將該埠重新指定為7777,然後重啟ambari-metric服務。

5.重啟後,重新連線資料庫

./bin/sqlline.py 172.16.31.183:2181

異常依然存在,還是同樣的問題,/hbase不存在

17/08/15 09:58:08 ERROR client.ConnectionManager$HConnectionImplementation: The node /hbase is not in ZooKeeper. It should have been written by the master. Check the value configured in 'zookeeper.znode.parent'. There could be a mismatch with the one configured in the master.

6.這時我決定到zookeeper裡面具體看看,/hbase是否真的不存在。
根據之前的經驗,/hbase是hbase在zookeeper的儲存目錄,如果沒有該目錄,則hbase無法正常執行。

這裡需要用到單機版hbase訪問zookeeper的方法。

hbase zkcli -server localhost:7777 ls /hbase

返回結果發現,/hbase確實不存在。

Node does not exist: /hbase

這就奇怪了,難道說沒存在/hbase裡面。
查詢了下根目錄的情況,發現根目錄下只有zookeeper和ams-hbase-unsecure兩個目錄。

[zookeeper, ams-hbase-unsecure]

發現ams-hbase-unsecure很可疑,具體檢視,果然該目錄即為hbase資訊的儲存路徑。

[meta-region-server, rs, splitWAL, backup-masters, table-lock, flush-table-proc, region-in-transition, online-snapshot, switch, master, running, recovering-regions, draining, rolllog-proc, namespace, hbaseid, table]

7.查到這裡,就真相大白了,原來改了儲存目錄。
這裡指定目錄進行查詢,成功進入phoenix命令列。

./bin/sqlline.py 172.16.31.183:7777:/ams-hbase-unsecure