jstorm0.9.6.3 hbase1.1.5整合,本地pom文件配置

由于jstorm0.9.x的版本不提供maven源下载,所以之前一直使用storm的maven配置替代。但是引用hbase后由于引用的zookeeper版本不同:storm引用了zookeeper3.3.3.jar而hbase引用了zookeeper3.4.6.jar,会导致项目启动出错。即使通过exclusions hbase的 ZooKeeper,也会在控制面板里不断的打印zookeeper连接异常。

17253 [Thread-98-SendMsgFilter-SendThread(dev07.badinfo.rcs:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused: no further information
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.0_79]
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) ~[na:1.7.0_79]
	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) ~[zookeeper-3.3.3.jar:3.3.3-1073969]

如果将storm自带的zookeeper排除掉,则会报以下异常:

Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.server.NIOServerCnxn$Factory
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:191)
	at backtype.storm.zookeeper$loading__4784__auto__.invoke(zookeeper.clj:1)
	at backtype.storm.zookeeper__init.load(Unknown Source)
	at backtype.storm.zookeeper__init.<clinit>(Unknown Source)
	... 90 more

最终找到了一个解决的办法,不引用storm,而是引用storm-core,具体的引用配置如下:

		<dependency>
			<groupId>org.apache.storm</groupId>
			<artifactId>storm-core</artifactId>
			<version>0.9.6</version>
		</dependency>

这样可以完美解决jstorm本地调试的问题。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值