1

尝试通过 Java API 放入 HBase 时,抛出 NoServerForRegionException。

代码片段:

Put rowData;

  rowData.add(Bytes.toBytes(columnfamilyName),
                            Bytes.toBytes(key), Bytes.toBytes(val));
                        table.put(rowData);

 table.put(rowData);

出现以下错误。

Hbase:org.apache.hadoop.hbase.client.NoServerForRegionException:尝试 10 次后无法找到 ,,99999999999999 的区域。>

从使用 HBase Shell 的命令行中,如果我们尝试使用 put 命令,同样可以正常工作。

同样从zookeeper日志中,它似乎能够连接到HBase,然后抛出异常

在 IBM BigInsights Distribution 中尝试过。

任何关于如何克服这个问题的想法都非常感谢。

谢谢你的时间。

编辑:

我通过指定 ip 和 quorom 详细信息从 Web 服务器(托管在与 BigInsights Cluster 相同的网络中的不同计算机中)调用它。

4

1 回答 1

1

此错误表明您的客户端无法与 RegionServer 通信。请确保它运行正常并且没有端口或其他网络相关问题。尝试挖掘 RegionServer 日志以了解确切的错误。还将您的 Web 浏览器指向HBase WebUI(hmaster_machine:60010) ,看看您是否能够看到那里的 RegionServer。

此外,将 HBase 机器的主机名/IP 添加到客户端机器的 etc/hosts 文件中。

于 2013-07-30T07:36:41.423 回答