从WebLogic 12c连接到HBase
我们正在尝试从部署到WebLogic 12c的WebApp连接到HBase服务器 WebApp使用包含HBase客户端连接代码的jar文件。此代码通过HTablePool实例连接到HBase,当发出HTable的第一个请求时,HTablePool的初始化如下:从WebLogic 12c连接到HBase,hbase,jaas,weblogic12c,Hbase,Jaas,Weblogic12c,我们正在尝试从部署到WebLogic 12c的WebApp连接到HBase服务器 WebApp使用包含HBase客户端连接代码的jar文件。此代码通过HTablePool实例连接到HBase,当发出HTable的第一个请求时,HTablePool的初始化如下: public HTableInterface getTable(String tableName) { if (pool == null) { logger.info("Initializing connect
public HTableInterface getTable(String tableName) {
if (pool == null) {
logger.info("Initializing connection to HBase");
final Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "<HBaseHost>");
pool = new HTablePool(config, Integer.MAX_VALUE);
logger.info("HTable pool created");
}
return = pool.getTable(tableName);
}
公共HTableInterface getTable(字符串tableName){
如果(池==null){
logger.info(“初始化与HBase的连接”);
最终配置config=HBaseConfiguration.create();
config.set(“hbase.zookeeper.quorum”,”);
pool=新的HTablePool(配置,Integer.MAX_值);
logger.info(“创建了HTable池”);
}
return=pool.getTable(tableName);
}
当从JUnit调用此代码(即不将其部署到WebLogic)时,此代码工作正常。但一旦它部署到WL并从WebApp调用,就会引发以下异常(注意,我用等替换了所有特定的连接细节)
信息:正在启动客户端连接,connectString=:2181 sessionTimeout=180000 watcher=hconnection
2013年6月14日17:28:06 org.apache.zookeeper.ClientCnxn$SendThread startConnect
信息:正在打开与服务器的套接字连接/:2181
13/06/14 17:28:06信息zookeeper.RecoverableZooKeeper:此进程的标识符为6504@
2013年6月14日17:28:06 org.apache.zookeeper.ClientCnxn$SendThread运行
警告:服务器null的会话0x0,意外错误,正在关闭套接字连接并尝试重新连接
java.lang.IllegalArgumentException:未注册可处理名为Client的配置的配置
位于com.bea.common.security.jdkutils.JAASConfiguration.getAppConfigurationEntry(JAASConfiguration.java:130)
位于org.apache.zookeeper.client.ZooKeeperSaslClient.(ZooKeeperSaslClient.java:92)
位于org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:938)
位于org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:973)
13/06/14 17:28:07警告zookeeper.RecoverableZooKeeper:可能是暂时的zookeeper异常:org.apache.zookeeper.KeeperException$ConnectionLossException
option:keeperrorcode=ConnectionLoss for/hbase/master
13/06/14 17:28:07 INFO util.RetryCounter:重试前休眠2000毫秒#1
看起来我们可能缺少一些额外的JAAS配置来允许WL的传出连接
如果有任何帮助,我们将不胜感激。好的,在谷歌搜索了一段时间后,我们发现这是由于: 不使用SASL时WebLogic/Zookeeper组合出现问题 上面的Zookeeper Jira链接到Zookeeper源代码的修复程序,不幸的是我们不能使用它,因为我们必须使用Cloudera CDH 4.2.2运行 我们很可能会切换到JBoss。至少JBoss 5(我们可以运行的最低版本)没有显示此问题。我们还将尝试JBoss 6和7,看看会发生什么 将接受此作为答案,希望它对某人有用。查看此线程是否有帮助: