eclipse连接HBase时,总是提示如下错误:
WARN org.apache.zookeeper.client.ZooKeeperSaslClient: SecurityException: java.lang.SecurityException: 无法定位登录配置 occurred when trying to find JAAS configuration.
查了下资料,没有什么收获。有人说更换了eclipse版本就行了,但是真心怀疑这种做法的合理性。现在出错应该是zookeeper部分,可能是配置或者版本不对;出错原因与HBase关联的可能都不大,怎么和IDE扯上关系了。如果这样就解决问题了,那多半是歪打正着,更关eclipse版本同时也更换了关键的构件。
我把hadoop,hbase配置中的ip都换成了主机名,貌似没起作用。然后又在java客户端程序中加上hbase.zookeeper.quorum:
configuration = HBaseConfiguration.create();
configuration.set("hbase.master", "hadoop1:60000");
configuration.set("hbase.zookeeper.quorum","hadoop1,hadoop2,hadoop3");
configuration.set("hbase.zookeeper.property.clientPort", "2181");
依然还是不起作用。这种糊里糊涂的感觉让人倍感挫败。折腾了一会,突然发现hbase中lib目录下用的zookeeper版本为3.3.5,client中导入的却是3.4.5。赶忙全部替换为3.3.5的版本,重新运行,结果没有报错了。
解决问题实在是有侥幸成分,但总好过没有。初试Hadoop+HBase_Zookeeper, 它们之间配置相对复杂,而且要用对应的版本,否则很容易出现各种问题。所以有个规范的教程和基础知识,何其重要。