2012-01-15 30 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本身的性能。