2013-11-24 69 views
1

我在Amazon AWS上創建了服務器EC2,並安裝了用於使用HBASE的HappyBase python庫。 另外我在EMR中創建了一個作業羣集Hbase。 然後我試圖在EC2上的第一臺服務器上運行腳本:使用Amazon AWS上的python從另一臺EC2服務器上處理HBase EMR

import happybase 
connection = happybase.Connection('….us-west-2.compute.amazonaws.com') 
connection.open() 
print connection.tables() 

,但我得到了服務器沒有發現錯誤。作爲主機我有Hbase集羣公共DNS。我需要配置的使用python happybase處理來自另一個EC2服務器的EMR中創建的數據庫? 謝謝。

回答

1

您是否在集羣主節點上啓動​​服務器?你可以這樣做

$ ssh -i <your-key.pem> [email protected]<master-node-dns> 
$ hbase-daemon.sh start thrift 

爲了達到這個目的,必須在你的集羣上配置HBase。如果從可視界面配置作業,則必須選擇HBase作業類型。

old management console確保Steps標籤下該步驟Start HBase存在,和自舉操作Install HBaseBootstrap Actions下。

new console,在Cluster Details窗口,有Applications部分,選中的行像

Applications:HBase 0.92.0 

是目前。

當所有corectly完成後,你的主實例SSH和檢查HBase的守護程序腳本

~$ which hbase-daemon.sh 
/home/hadoop/bin/hbase-daemon.sh 
+0

我已經嘗試過了,但它不工作 Hadoop的@ IP-172 -... 。:〜$ hbase-daemon.sh start thrift -bash:hbase-daemon.sh:找不到命令 – user2955651

+0

@ user2955651首先,你選擇了HBase作業類型嗎?您可以檢查在管理控制檯步驟中是否存在步驟「啓動HBase」,並在引導操作中檢查「安裝HBase」。其次,你是否在主實例上運行命令? – alko

+1

我以前在EMR + EC2上使用過HBase,可以確認@alko的答案。另外需要注意的是,如果EC2和EMR位於不同的安全組中,請確保將EMR EC2實例的端口9090(Thrift)打開到另一個安全組。 – Suman

相關問題