Storm本地模式环境问题

运行从github上把 storm-starter的代码 fork下来
https://github.com/nathanmarz/storm-starter
将m2-pom.xml重命名为pom.xml,编译一下,导入eclipse里
 
运行第一个例子ExclamationTopology
 
问题1
java.net.SocketException: Address family not supported by protocol family: connect
 
查了下 http://stackoverflow.com/questions/16373906/address-family-not-supported-by-protocol-family-socketexception-on-a-specific
stackoverflow上说是因为Java7会自动使用IPv6进行连接,修改方法是 添加jvm参数 -Djava.net.preferIPv4Stack=true,该参数会强制jvm走IPv4
 
问题2
提示找不到kryo的类,很明显,pom中没有依赖kryo,引入
 
<dependency>
  <groupId>com.esotericsoftware.kryo</groupId>
  <artifactId>kryo</artifactId>
  <version>2.22</version>
</dependency>
 
问题3
java.lang.NoSuchMethodError: backtype.storm.serialization.DefaultKryoFactory$KryoSerializableDefault.setReferences(Z)V
 
这好像是个版本冲突啊,查了下 https://github.com/thinkaurelius/titan/issues/301
使用推荐的Kryo 版本 2.17
<dependency>
  <groupId>com.esotericsoftware.kryo</groupId>
  <artifactId>kryo</artifactId>
  <version>2.17</version>
</dependency>

问题4
8495 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2000] WARN  org.apache.storm.zookeeper.server.NIOServerCnxn - caught end of stream exception
org.apache.storm.zookeeper.server.ServerCnxn$EndOfStreamException: Unable to read additional data from client sessionid 0x152f5667669000a, likely client has closed socket
at org.apache.storm.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228) ~[storm-core-0.9.6.jar:0.9.6]
at org.apache.storm.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208) [storm-core-0.9.6.jar:0.9.6]
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_43]
注意,这里只是出现警告,不影响程序正常运行。
是第一次尝试连接zookeeper失败出现的警告。

 
问题解决,本地运行ok
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐