如何解决连接到 HBase 中的表
我在 HBase 中创建了一个名为 notifications
的表。
我想连接到这个表执行插入和删除操作。
我用于创建连接的代码是:
Configuration conf = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(conf);
Table table = connection.getTable(TableName.valueOf("notifications"));
但这似乎不起作用。
解决方法
您是否将 hbase-site.xml 与上述代码一起提供,并且您确信您的应用程序能够正确找到它?
您的应用程序需要知道要连接的zookeeper 仲裁地址和端口号。通常你在 hbase-site.xml 中指定那些你的应用程序需要能够看到的。但是,如果您想确保连接到正确的位置,可以直接在代码中以编程方式设置最基本的值,如下所示:
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","zk1,zk2,zk3");
conf.set("hbase.zookeeper.property.clientPort","2181");
Connection connection = ConnectionFactory.createConnection(conf);
Table table = connection.getTable(TableName.valueOf("notifications"));
所以上面假设您有 3 个 zk 节点 zk1、zk2 和 zk3,并且它们使用端口 2181(hbase 的默认值,但您可以在服务器端仔细检查您的 hbase-site.xml)
,您遇到的错误是什么?检查类路径上是否有 hbase-site.xml 和 core-site.xml 配置文件。如果没有,请在创建连接之前将其添加到配置中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。