`

关于storm 升级 。

阅读更多
关于storm 升级 。

storm 启动 supervisor 报错!

2013-11-26 17:39:20 event [ERROR] Error when processing event
java.lang.RuntimeException: java.io.InvalidClassException: clojure.lang.APersistentMap; local class incompatible: stream classdesc serialVersionUID = 7921415892740123219, local class serialVersionUID = 270281984708184947
        at backtype.storm.utils.Utils.deserialize(Utils.java:59)
        at backtype.storm.utils.LocalState.snapshot(LocalState.java:24)
        at backtype.storm.utils.LocalState.get(LocalState.java:28)
        at backtype.storm.daemon.supervisor$sync_processes.invoke(supervisor.clj:190)
        at clojure.lang.AFn.applyToHelper(AFn.java:161)
        at clojure.lang.AFn.applyTo(AFn.java:151)
        at clojure.core$apply.invoke(core.clj:603)
        at clojure.core$partial$fn__4070.doInvoke(core.clj:2343)
        at clojure.lang.RestFn.invoke(RestFn.java:397)
        at backtype.storm.event$event_manager$fn__2173.invoke(event.clj:24)
        at clojure.lang.AFn.run(AFn.java:24)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.InvalidClassException: clojure.lang.APersistentMap; local class incompatible: stream classdesc serialVersionUID = 7921415892740123219, local class serialVersionUID = 270281984708184947
        at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.util.HashMap.readObject(HashMap.java:1149)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at backtype.storm.utils.Utils.deserialize(Utils.java:55)
        ... 11 more
2013-11-26 17:39:20 util [INFO] Halting process: ("Error when processing an event")






版本冲突了。
原因:storm.local.dir: "/data2/storm"
storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限 。

当第一次使用低版本的时候,worknode的这个目录下的数据保存的是低版本的。
当升级后,masternode 使用的是新版本的jar包,当Supervisor启动时,本地的(即/data2/storm下的包与masternode 包冲突) 导致序列号的id号不一致。

解决方案:在worknode执行:
rm -rf /data2/storm/*

启动Supervisor,进入正常工作。


关于升级流程:
1、确认storm的依赖正常安装
详细可参考:
https://github.com/nathanmarz/storm/wiki/Installing-native-dependencies

2、zookeeper需要正常工作。
安装可参考:
http://blog.csdn.net/shirdrn/article/details/7183503

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics