我正在尝试从拥有自己的zookeeper的开发群集连接到另一个群集或环境(例如暂存)中运行的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。