2012-01-15 45 views
0

我有一個帶有1個主節點和5個從節點的試用HBase羣集。我想通過其REST API訪問羣集(基本上通過GET的方式寫入廣告展示數據)羣集。 我希望能夠在稍後使用Hadoop/Hive?Pig(TBD)運行彙總報表,因此我需要單個數據圖片。如何通過負載平衡在HBase羣集上使用REST api

我是否在主服務器上啓動REST服務器並只寫入該單個端點,還是在每個從節點上啓動REST服務器實例並在從節點上進行負載均衡寫入?

(後者看起來不正確,但我在文檔中看到了一些提及,所以我有點困惑)。

回答

1

我使用其餘的API通過nginx提供負載平衡。你的nginx的配置會是這個樣子......

upstream cluster 
{ 
    server master:1234; 
    server slave1:1234; 
    server slave2:1234; 
    server slave3:1234; 
    server slave4:1234; 
} 
server 
{ 
    listen 4444; 
    server_name someserver.com; 
    location/
    { 
     proxy_pass http://cluster; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; 
    } 
} 

你會集羣

hbase rest -p 1234 start 

你會叫你休息通話someserver.com:4444在所有服務器上運行。

0

如果您不希望REST服務器成爲瓶頸,那麼您希望運行其中的幾個並在它們之間實現負載平衡。

我不確定我是否會在datanode本身或另一組盒子上運行它們。高頻解析REST消息可能會影響HBase本身的性能。