当前位置:   article > 正文

Will not attempt to authenticate using SASL | dubbo项目启动特别慢,拉取 zookeeper 服务日志打印特别慢_java程序连接zookeeper 报错 will not attemp to using sasl

java程序连接zookeeper 报错 will not attemp to using sasl

大家好,我是烤鸭:
    今天分享一下使用dubbo遇到的几个问题。

1. cause: KeeperErrorCode = ConnectionLoss for /dubbo/ xxx

异常如下:

  1. pid=9965&qos.accept.foreign.ip=false&qos.enable=true&qos.port=10887&timestamp=1567416737107, cause: KeeperErrorCode = ConnectionLoss for /dubbo/com.etc.service.bank.IEtcBankcardCodeService/providers/dubbo%3A%2F%2F172.17.33.68%3A20887%2Fcom.etc.service.bank.IEtcBankcardCodeService%3Fanyhost%3Dtrue%26application%3Detc-manage-service-customer%26default.timeout%3D600000%26dubbo%3D2.6.2%26generic%3Dfalse%26interface%3Dcom.etc.service.bank.IEtcBankcardCodeService%26methods%3Dupdate%2Cinsert%2CselectListByObject%2CselectBankCodes%2CselectBank%2CselectOneByObject%26pid%3D9965%26revision%3D1.2.0%26side%3Dprovider%26timestamp%3D1567416870108
  2.     at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.doRegister(ZookeeperRegistry.java:116)
  3.     at com.alibaba.dubbo.registry.support.FailbackRegistry.retry(FailbackRegistry.java:315)
  4.     at com.alibaba.dubbo.registry.support.FailbackRegistry$1.run(FailbackRegistry.java:68)
  5.     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  6.     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
  7.     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
  8.     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
  9.     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  10.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  11.     at java.lang.Thread.run(Thread.java:748)

可以考虑看下这篇文章:
https://blog.csdn.net/xsm666/article/details/85258450
我们zk是3个节点的集群配置,修改了如下zoo.cfg的配置

  1. tickTime=10000
  2. initLimit=1000

2. Will not attempt to authenticate using SASL (unknown error)

  1. [INFO] [main-SendThread(172.17.33.77:2181)] [2019-09-03 11:29:46,048]  logStartConnect(1032) | Opening socket connection to server 172.17.33.77/172.17.33.77:2181. Will not attempt to authenticate using SASL (unknown error)
  2. [WARN] [main-SendThread(172.17.33.77:2181)] [2019-09-03 11:29:46,049]  run(1162) | Session 0x1034bacf7d90005 for server null, unexpected error, closing socket connection and attempting reconnect
  3. java.net.ConnectException: Connection refused
  4.     at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  5.     at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
  6.     at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
  7.     at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)

关闭防火墙。

servcie iptables stop​​​​​​​

https://www.cnblogs.com/hfultrastrong/p/7876198.html

3. No provider available from registry:

  1. [ERROR] [DubboServerHandler-172.17.33.68:20887-thread-68] [2019-09-04 13:39:26,308]  invoke(85) |  [DUBBO] Got unchecked and undeclared exception which called by 172.17.33.68. service: com.etc.service.customer.IEtcCustomerService, method: getCustomerNewType, exception: com.alibaba.dubbo.rpc.RpcException: No provider available from registry 172.17.33.68:2181 for service com.etc.service.credit.EtcCreditApplyLogService on consumer 172.17.33.68 use dubbo version 2.6.2, please check status of providers(disabled, not registered or in blacklist)., dubbo version: 2.6.2, current host: 172.17.33.68
  2. com.alibaba.dubbo.rpc.RpcException: No provider available from registry 172.17.33.68:2181 for service com.etc.service.credit.EtcCreditApplyLogService on consumer 172.17.33.68 use dubbo version 2.6.2, please check status of providers(disabled, not registered or in blacklist).
  3.     at com.alibaba.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:575)
  4.     at com.alibaba.dubbo.rpc.cluster.directory.AbstractDirectory.list(AbstractDirectory.java:74)
  5.     at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.list(AbstractClusterInvoker.java:271)
  6.     at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:232)
  7.     at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:75)
  8.     at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)
  9.     at com.alibaba.dubbo.common.bytecode.proxy1.queryIsNewCustomerUrl(proxy1.java)
  10.     at com.etc.service.customer.EtcCustomerServiceImpl.getCustomerNewType(EtcCustomerServiceImpl.java:873)
  11.     at com.etc.service.customer.EtcCustomerServiceImpl$$FastClassBySpringCGLIB$$2f308333.invoke(<generated>)
  12.     at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
  13.     at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)
  14.     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
  15.     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
  16.     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
  17.     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
  18.     at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
  19.     at com.etc.service.customer.EtcCustomerServiceImpl$$EnhancerBySpringCGLIB$$953f1998.getCustomerNewType(<generated>)
  20.     at com.alibaba.dubbo.common.bytecode.Wrapper15.invokeMethod(Wrapper15.java)
  21.     at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:47)
  22.     at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:76)
  23.     at com.alibaba.dubbo.config.invoker.DelegateProviderMetaDataInvoker.invoke(DelegateProviderMetaDataInvoker.java:52)
  24.     at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
  25.     at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:62)
  26.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  27.     at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
  28.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  29.     at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
  30.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  31.     at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
  32.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  33.     at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:72)
  34.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  35.     at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:131)
  36.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  37.     at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
  38.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  39.     at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
  40.     at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
  41.     at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:103)
  42.     at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:96)
  43.     at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:172)
  44.     at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
  45.     at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:80)
  46.     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  47.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  48.     at java.lang.Thread.run(Thread.java:748)

这个比较明显就是,提供者的服务找不到,看下 dubbo-admin里边,服务是否注入成功。
dubbo-admin 链接: https://pan.baidu.com/s/139VlS82K1u76lPT0Q4UjrA 提取码: ed3a 


4. 项目启动后,拉取生产者时巨慢。一个项目启动半小时才能完整启动,并且访问时还获取不到生产者的服务。

  1. notify(387) |  [DUBBO] Notify urls for subscribe url provider: xxx
  2. retry(366) |  [DUBBO] Failed to retry subscribe xxx


去 dubbo-admin查看服务的生产和消费均正常,就是奇怪的地方在于一个服务同一个ip项目有多个消费者(应该只有一个)。
jps| grep 项目
发现同一个项目启动多个,这是dubbo-admin上看到多个消费者的原因。
猜想是多个服务同时启动并获取 zk上的服务,导致获取阻塞。
至于为什么同时启动多个,应该是jenkins每次集成显示成功后jar包并未启动成功,然后又集成,持续了好几次。

dubbo项目启动 zookeeper 发布和订阅特别慢
因为zk是要往服务器写日志的,这时候检查一下服务器的io。

iostat -x

查看io读写情况。

虽然不确定是不是这个问题,切换一个机器部署zk,解决了。
新机器的io情况。

如果出现 dubbo项目启动特别慢,拉取 zookeeper 服务日志打印特别慢的情况。考虑换一台机器部署zk,有可能是服务器的io问题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/54070
推荐阅读
相关标签
  

闽ICP备14008679号