记一次 zookeeper连接地址值不对导致业务无法启动问题

背景: 昨天接到任务,需要在云服务器上部署一套公司业务系统

业务组件(tomcat、mysql zookeeper dubbo redis)都是存放在/home下,于是拷贝了原服务器内的/home到新服务器(centos7.5)

执行启动脚本, 发现网站并不能打开
启动tomcat后 使用netstat -lntp 查看 tomcat的SHUTDOWN端口没有起来,说明tomcat并没有完全启动
在这里插入图片描述server.xml

查看catalina.out发现deploy ROOT.war耗时非常久, (正常只需10s左右)
在这里插入图片描述
且zookeeper dubbo的链接地址非本机ip,且有报错:
在这里插入图片描述
com.alibaba.dubbo.remoting.transport.AbstractClient:112}- [DUBBO] Failed to start NettyClient XXXXX/XXXXXXX connect to the server

经过大量实验后 (升级tomcat版本、升级系统版本、更换系统内核版本)仍然无效
最后通过dubbo的报错百度后,确定问题出在这, dubbo zookeeper链接的并不是本机ip,
这个问题在ip地址不是本机网卡的时候会遇到 (比如云服务器)
解决办法:
echo ‘quorumListenOnAllIPs=true’ >> /home/zookeeper/zookeeper-3.4.9/conf/zoo.cfg
然后重启服务

总结: 业务系统起不来一定要仔细查看日志每一条报错

[2020-02-04 17:55:44 WARN ] [localhost-startStop-1] {com.alibaba.dubbo.remoting.transport.AbstractClient:112}- [DUBBO] Failed to start NettyClient hefei_ceshi/120.209.131.70 connect to the server /120.209.131.70:20882 (check == false, ignore and retry later!), cause: client(url: dubbo://120.209.131.70:20882/com.prison.res.service.IResService?anyhost=true&application=common-consumer&check=false&codec=dubbo&default.check=false&default.delay=-1&default.retries=0&default.timeout=600000&delay=-1&dubbo=2.8.4&generic=false&heartbeat=60000&interface=com.prison.res.service.IResService&methods=countDistrictLine,delDistrictRuleUserById,getDistrictByLineId,checkLine,delDistrictPoint,getFilesByEvtId,getResFile,queryRuleUser,getDistrictById,checkBeforeSaveOrUpdate,queryDistrictLineTag,isCanParent,queryDistrictDevicesByPartyId,getDistrictByParentPartyId,countDistricts,countDistrictRule,queryDistrictLine,deleteDistrictPoint,getDistrictPointByPointId,delDistrictUserNum,getDistrictDevicesByParentId,saveOrUpdDistrictLine,delDistrictDevice,getDistrictByDeviceId,saveOrUpdDistrictPoint,getResFileByResIds,saveOrUpdDistrict,getDistrictCriminalCharts,getDistrictListByType,countResEvents,getDistrictDrawArea,getResFileByResId,queryResEvents,queryDistrictPointsByLineId,saveOrUpdDistrictRule,getDistrictUserNumByDistrictId,delDistrict,saveOrUpdResEvent,queryLinePointByLineId,queryDistrictParents,listDistrictPoint,queryDistrictRule,delDistrictLine,queryDistrictLineByName,queryLinePointByPoint,saveOrUpdDistrictUserNum,DistrictUserNumByMonitorId,getDistrictUserNumByDeviceId,getDistrictPoint,getDistrictDevice,delDistrictRule,updKeyDistrict,queryDistricts,getResConfig,delResEvent,getDistrictUserNumByDistrictCode,queryDistrictsTag,queryDistrictPoints,delDistrictLines,delDistrictDrawArea,countDistrictDevices,saveOrUpdResRelat,saveOrUpdResFile,getDistrictLinePreview,saveOrUpdDistrictDevice,queryRuleUserById,getDistrictMarkDevice,countDistrictPoint,getDistrictRoot,updResEvent,saveOrUpdRuleUser,getDistrictPreview,queryDistrictLineByLineId,queryDistrictDevices,delResFile,getDistrictPointByDeviceid,queryResEventUnTransFinish,getResEvent&organization=dubbox&owner=programmer&pid=13699&revision=1.0&side=consumer&timestamp=1580810141493&version=1.0.0) failed to connect to server /120.209.131.70:20882 client-side timeout 3000ms (elapsed: 3001ms) from netty client 120.209.131.70 using dubbo version 2.8.4, dubbo version: 2.8.4, current host: 120.209.131.70
com.alibaba.dubbo.remoting.RemotingException: client(url: dubbo://120.209.131.70:20882/com.prison.res.service.IResService?anyhost=true&application=common-consumer&check=false&codec=dubbo&default.check=false&default.delay=-1&default.retries=0&default.timeout=600000&delay=-1&dubbo=2.8.4&generic=false&heartbeat=60000&interface=com.prison.res.service.IResService&methods=countDistrictLine,delDistrictRuleUserById,getDistrictByLineId,checkLine,delDistrictPoint,getFilesByEvtId,getResFile,queryRuleUser,getDistrictById,checkBeforeSaveOrUpdate,queryDistrictLineTag,isCanParent,queryDistrictDevicesByPartyId,getDistrictByParentPartyId,countDistricts,countDistrictRule,queryDistrictLine,deleteDistrictPoint,getDistrictPointByPointId,delDistrictUserNum,getDistrictDevicesByParentId,saveOrUpdDistrictLine,delDistrictDevice,getDistrictByDeviceId,saveOrUpdDistrictPoint,getResFileByResIds,saveOrUpdDistrict,getDistrictCriminalCharts,getDistrictListByType,countResEvents,getDistrictDrawArea,getResFileByResId,queryResEvents,queryDistrictPointsByLineId,saveOrUpdDistrictRule,getDistrictUserNumByDistrictId,delDistrict,saveOrUpdResEvent,queryLinePointByLineId,queryDistrictParents,listDistrictPoint,queryDistrictRule,delDistrictLine,queryDistrictLineByName,queryLinePointByPoint,saveOrUpdDistrictUserNum,DistrictUserNumByMonitorId,getDistrictUserNumByDeviceId,getDistrictPoint,getDistrictDevice,delDistrictRule,updKeyDistrict,queryDistricts,getResConfig,delResEvent,getDistrictUserNumByDistrictCode,queryDistrictsTag,queryDistrictPoints,delDistrictLines,delDistrictDrawArea,countDistrictDevices,saveOrUpdResRelat,saveOrUpdResFile,getDistrictLinePreview,saveOrUpdDistrictDevice,queryRuleUserById,getDistrictMarkDevice,countDistrictPoint,getDistrictRoot,updResEvent,saveOrUpdRuleUser,getDistrictPreview,queryDistrictLineByLineId,queryDistrictDevices,delResFile,getDistrictPointByDeviceid,queryResEventUnTransFinish,getResEvent&organization=dubbox&owner=programmer&pid=13699&revision=1.0&side=consumer&timestamp=1580810141493&version=1.0.0) failed to connect to server /120.209.131.70:20882 client-side timeout 3000ms (elapsed: 3001ms) from netty client 120.209.131.70 using dubbo version 2.8.4
at com.alibaba.dubbo.remoting.transport.netty.NettyClient.doConnect(NettyClient.java:144)
at com.alibaba.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:280)
at com.alibaba.dubbo.remoting.transport.AbstractClient.(AbstractClient.java:103)
at com.alibaba.dubbo.remoting.transport.netty.NettyClient.(NettyClient.java:78)
at com.alibaba.dubbo.remoting.transport.netty.NettyTransporter.connect(NettyTransporter.java:37)
at com.alibaba.dubbo.remoting.Transporter A d p a t i v e . c o n n e c t ( T r a n s p o r t e r Adpative.connect(Transporter Adpative.connect(TransporterAdpative.java)
at com.alibaba.dubbo.remoting.Transporters.connect(Transporters.java:67)
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:37)
at com.alibaba.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:102)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:424)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:390)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:367)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.refer(DubboProtocol.java:349)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:62)
at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:65)
at com.alibaba.dubbo.rpc.Protocol A d p a t i v e . r e f e r ( P r o t o c o l Adpative.refer(Protocol Adpative.refer(ProtocolAdpative.java)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.toInvokers(RegistryDirectory.java:395)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.refreshInvoker(RegistryDirectory.java:224)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.notify(RegistryDirectory.java:195)
at com.alibaba.dubbo.registry.support.AbstractRegistry.notify(AbstractRegistry.java:449)
at com.alibaba.dubbo.registry.support.FailbackRegistry.doNotify(FailbackRegistry.java:273)
at com.alibaba.dubbo.registry.support.FailbackRegistry.notify(FailbackRegistry.java:259)
at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.doSubscribe(ZookeeperRegistry.java:170)
at com.alibaba.dubbo.registry.support.FailbackRegistry.subscribe(FailbackRegistry.java:189)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.subscribe(RegistryDirectory.java:133)
at com.alibaba.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:271)
at com.alibaba.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:254)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:60)
at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:63)
at com.alibaba.dubbo.rpc.Protocol A d p a t i v e . r e f e r ( P r o t o c o l Adpative.refer(Protocol Adpative.refer(ProtocolAdpative.java)
at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:392)
at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)
at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138)
at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:65)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1585)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:534)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:523)
at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1162)
at com.prison.common.cache.LocalCacher.init(LocalCacher.java:16)
at com.prison.common.init.ApplicationCacheInit.setApplicationContext(ApplicationCacheInit.java:30)
at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:119)
at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:94)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory 1. g e t O b j e c t ( A b s t r a c t B e a n F a c t o r y . j a v a : 306 ) a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t S i n g l e t o n B e a n R e g i s t r y . g e t S i n g l e t o n ( D e f a u l t S i n g l e t o n B e a n R e g i s t r y . j a v a : 230 ) a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t B e a n F a c t o r y . d o G e t B e a n ( A b s t r a c t B e a n F a c t o r y . j a v a : 302 ) a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t B e a n F a c t o r y . g e t B e a n ( A b s t r a c t B e a n F a c t o r y . j a v a : 197 ) a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t L i s t a b l e B e a n F a c t o r y . p r e I n s t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值