问题描述
公司有一套otter的测试环境,发现web页面打不开了,查看otter的log发现:
#otter Manager的log
2016-05-13 09:29:59.237 [] WARN org.eclipse.jetty.servlet.ServletHandler - /channel_list.htm
com.alibaba.citrus.service.pipeline.PipelineException: Failed to invoke Valve[#2/3, level 3]: com.alibaba.citrus.turbine.pipeline.valve.PerformTemplateScreenValve#211aa79a:PerformTemplateScree
nValve
at com.alibaba.citrus.service.pipeline.impl.PipelineImpl$PipelineContextImpl.invokeNext(PipelineImpl.java:161) ~[citrus-webx-all-3.2.0.jar:3.2.0]
.............................
Caused by: com.alibaba.citrus.webx.WebxException: Failed to execute screen: ChannelList
at com.alibaba.citrus.turbine.pipeline.valve.PerformScreenValve.performScreenModule(PerformScreenValve.java:126) ~[citrus-webx-all-3.2.0.jar:3.2.0]
at com.alibaba.citrus.turbine.pipeline.valve.PerformScreenValve.invoke(PerformScreenValve.java:74) ~[citrus-webx-all-3.2.0.jar:3.2.0]
at com.alibaba.citrus.service.pipeline.impl.PipelineImpl$PipelineContextImpl.invokeNext(PipelineImpl.java:157) ~[citrus-webx-all-3.2.0.jar:3.2.0]
... 51 common frames omitted
Caused by:
org.I0Itec.zkclient.exception.ZkNoNodeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /otter/channel/58/61/process
如上,可以看到是zookeeper中找不到相关信息 抛出的异常,通过配置文件:
~]# grep zook $OTTER_MANAGER_HOME/conf/otter.properties
## default zookeeper address IP:port
otter.zookeeper.cluster.default = 192.168.1.1:2181
## default zookeeper sesstion timeout = 60s
otter.zookeeper.sessionTimeout = 60000
#跟运维的同事确认了下 测试环境的zookeeper前一天的确是出问题了(异常重启过),而且进入zookeeper查找异常的路径,的确不存在:
至此,想到的是能否重新配置otter复制的mysqlbinlog文件和位置,让其接着同步呢?
但是web管理页面无法打开,无法配置。最后在github开源项目 otter的提问里面找到类似的问题:
https://github.com/alibaba/otter/issues/88
otter开发者回答到
otter会在zookeeper存储一些节点信息,更换zookeeper后,需要复制节点数据,或者删除数据库中的channel、pipeline等表的数据内容
或者访问 http://域名/system_reduction.htm,点击一键修复
尝试使用下面的连接 修复
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27000195/viewspace-2099256/
,如需转载,请注明出处,否则将追究法律责任。