rest - 如何通过负载均衡在 HBase 集群上使用 REST api

标签 rest hadoop hbase stargate

我有一个带有 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/

相关文章:

java - Jersey JSON 不适用于最新的 Jersey API

javascript - 无法访问 Set-cookie 响应 header 和/或 cookie 请求 header

javascript - 使用 JavaScript 和 REST 从 SharePoint 列表中删除项目

hadoop - 每次重新启动时都会替换Cloudera节点/etc/krb5.conf

amazon-web-services - 获得许可被拒绝(公钥)。在 AWS EC2 实例中设置 hadoop 集群时出错

hadoop - 如何通过 StarGate REST API 向 HBase 中插入数据

python - 没有/<id> 的请求中不允许使用 PUT 方法

hadoop - 从ISO转换为自定义格式Pig

sql - Hive 无法在 hbase 中为外部表创建分区列

hbase - 如何知道hbase服务器是否正在运行