我有一个带有 1 个主节点和 5 个从节点的试验 HBase 集群。我想通过其 REST API 访问(基本上通过 GET 写入广告印象数据)集群。 我希望稍后能够使用 Hadoop/Hive?Pig (TBD) 运行聚合报告,所以我想要一张数据图片。
我是在主节点上启动 REST 服务器并只写入该单个端点,还是在每个从节点上启动 REST 服务器实例并在从节点之间进行负载平衡写入?
(后者似乎不正确,但我在文档中看到一些提及,所以有点困惑)。
最佳答案
我使用带有通过 nginx 提供的负载平衡的 rest api。你的 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 进行休息。
关于rest - 如何通过负载均衡在 HBase 集群上使用 REST api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8868605/