1

我正在尝试从拥有自己的 zookeeper 的 dev 集群连接到在另一个集群或环境(例如暂存)中运行的 zookeeper。

当我在分布式模式下运行它时,我无法连接到不同的 hbase 实例,但是当我在伪或独立模式下运行时,我可以连接到不同的 hbase 环境。

    Configuration cloneConfig = HBaseConfiguration.create();
    cloneConfig.clear();
    cloneConfig.set("hbase.zookeeper.quorum", "shost3,shost2,shost1");
    cloneConfig.set("hbase.zookeeper.property.clientPort", "2181");
    HBaseAdmin.checkHBaseAvailable(cloneConfig); 
  destinationTable = new HTable(cloneConfig, destinationTableName);

有没有办法连接到不同的动物园管理员而不是它正在运行的开放?例如,如果我使用默认配置连接到 hbase 服务器

Configuration conf = HBaseConfiguration.create();
new HTable(conf, destinationTableName);

我看到它连接到日志中的默认 Zookeeper。

zookeeper.ZooKeeper: Initiating client connection, connectString=host1:2181,host2:2181,

但是设置 hbase.zookeeper.quorum 属性并没有改变连接字符串,它仍然连接到默认的 zookeeper。

4

0 回答 0