我使用风暴0.93与titan 0.5.4。 Titan与我的应用程序在同一个VM中运行,并与外部运行的cassandra数据库进行通信。
当我将拓扑部署到storm时,其中一个螺栓使用titan的API进行一些查询。我得到以下异常:com.esotericsoftware.kryo.KryoException:遇到未注册的类ID:10。
这是因为Titan和Storm使用略有不同的kyro版本。泰坦使用2.22,风暴使用2.21。
关于如何解决这个问题的任何建议?
感谢。
答案 0 :(得分:1)
我已经用kryo-2.21.jar
替换了Storm 0.9.3附带的kryo-2.22.jar
来解决这个问题。我没有经历任何不良副作用来更换这个罐子。我们已经在生产中运行了几个月没有错误。
TL; DR
如果您使用debain软件包安装风暴this project可能会有所帮助。我已经提交pull request项目升级到风暴0.9.3。在创建debian包之前,将kryo-2.21.jar
替换为kryo-2.22.jar