我正在尝试从java客户端api获取hbase连接。
这是我的代码。在这里,我编写了一些代码来获取hbase中的连接。
运行此代码时,我没有收到任何错误。但我不能创建任何表格。
Configuration hbaseConfiguration = HBaseConfiguration.create();
try {
hbaseConfiguration.set("hbase.rootdir",
"file:///home/sample/hbase");
hbaseConfiguration.set("hbase.zookeeper.property.dataDir",
"/home/sample/zookeeper");
hbaseConfiguration.set("hbase.zookeeper.quorum",
"sample");
Configuration newConfig = new Configuration(hbaseConfiguration);
HConnection connection = HConnectionManager
.getConnection(newConfig);
hBaseAdmin = new HBaseAdmin(connection);
hBaseAdmin.createTable(new HTableDescriptor("sample"));
if (!hBaseAdmin.isMasterRunning())
throw new Exception("Hbase is not running");
tableFactory = new HTableFactory();
} catch (Exception e) {
throw new Exception("Hbase is not running");
}
任何人都可以帮我解决这个问题吗?感谢....
答案 0 :(得分:0)
更改以下代码
hbaseConfiguration.set("hbase.rootdir",
"file:///home/sample/hbase");
hbaseConfiguration.set("hbase.zookeeper.property.dataDir",
"/home/sample/zookeeper");
hbaseConfiguration.set("hbase.zookeeper.quorum",
"sample");
到
hbaseConfiguration.set("hbase.zookeeper.quorum",
"rs1.example.com");
注意:rs1.example.com
应替换为您的zookeeper群集的地址点。您可以在conf/hbase-site.xml
中找到该值。
答案 1 :(得分:0)
hbase.rootdir
设置将被完全忽略。它只能在 hbase-site.xml 文件中设置。