Storm本地模式异常
来自:http://isuifengfei.iteye.com/blog/1998265
问题1
java.net.SocketException: Address family not supported by protocol family: connect
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>
问题解决,本地运行ok