0

我正在尝试从 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");
    }

谁能帮我解决这个问题??谢谢....

4

2 回答 2

0

hbase.rootdir设置将被完全忽略。只能在hbase-site.xml文件中设置。

于 2015-02-20T20:52:55.637 回答
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.

于 2013-02-26T09:07:58.893 回答