1. 程式人生 > >Storm本地模式環境問題

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