使用Java连接到Hbase映射器
您好,我正在运行hbase VMWare sandbox MapR-sandbox-For-Hadoop-3.1.0VM。我没有对沙盒进行任何更改。我可以通过浏览器访问控制面板。在另一个linux虚拟机上,我安装了eclipse和hbase客户端。我有一个java程序,我想在其中创建一个hbase表,但无法连接。请帮忙 正如你在下面看到的,我得到了一个错误 错误client.HConnectionManager$HConnectionImplementation:检查“zookeeper.znode.parent”中配置的值。可能与主机中配置的不匹配 然后 timesorg.apache.hadoop.hbase.MasterNotRunningException:重试1次 (请参阅下面的完整stacktraace) 我的应用程序使用使用Java连接到Hbase映射器,hbase,mapr,Hbase,Mapr,您好,我正在运行hbase VMWare sandbox MapR-sandbox-For-Hadoop-3.1.0VM。我没有对沙盒进行任何更改。我可以通过浏览器访问控制面板。在另一个linux虚拟机上,我安装了eclipse和hbase客户端。我有一个java程序,我想在其中创建一个hbase表,但无法连接。请帮忙 正如你在下面看到的,我得到了一个错误 错误client.HConnectionManager$HConnectionImplementation:检查“zookeeper.zno
System.setProperty("java.library.path", "/opt/mapr/lib");
conf = HBaseConfiguration.create();
conf.set("zookeeper.znode.parent", "/maprdemo");
conf.set("hbase.zookeeper.quorum", "16.49.150.79");
conf.set("hbase.zookeeper.property.clientPort", "5181");
conf.set("hbase.client.retries.number", "2");
admin = new HBaseAdmin(conf);
System.out.println(admin.isMasterRunning());
POM包括
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>0.94.13-mapr-1401-m7-3.1.0</version>
</dependency>
看起来您正在尝试访问M7 mapr本机表(这是HBase API的不同实现) 动物园管理员的Z节点在M7中是不相关的。所以下面的几行没有区别
conf.set("zookeeper.znode.parent", "/maprdemo");
conf.set("hbase.zookeeper.quorum", "16.49.150.79");
conf.set("hbase.zookeeper.property.clientPort", "5181");
它也不需要运行hbase主机和区域服务。因此,在沙箱上找不到运行的主服务。但它安装在节点上
maprcli node services -nodes `cat /opt/mapr/hostname` -hbmaster restart
您可以手动启动它并重新运行应用程序。您可以使用属性conf.set(“mapr.hbase.default.db”)更改访问方式强> 按照Nabeel的建议,在使用HBase时,必须设置znode父级等 请注意,这仅适用于mapr表的二进制表。
对于JSON Mapr db表,您可以使用OJAI API。澄清一下:如果您只想测试master运行,请使用上面的命令重新启动hbmaster并继续。如果要测试M7,请尝试在不启动主机的情况下直接访问表。
maprcli node services -nodes `cat /opt/mapr/hostname` -hbmaster restart