我正在尝试从拥有自己的 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。