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

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

异常如下:

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%3D1567416870108at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.doRegister(ZookeeperRegistry.java:116)at com.alibaba.dubbo.registry.support.FailbackRegistry.retry(FailbackRegistry.java:315)at com.alibaba.dubbo.registry.support.FailbackRegistry$1.run(FailbackRegistry.java:68)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)

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

tickTime=10000
initLimit=1000

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

[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)
[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
java.net.ConnectException: Connection refusedat sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)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:

[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
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).at com.alibaba.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:575)at com.alibaba.dubbo.rpc.cluster.directory.AbstractDirectory.list(AbstractDirectory.java:74)at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.list(AbstractClusterInvoker.java:271)at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:232)at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:75)at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)at com.alibaba.dubbo.common.bytecode.proxy1.queryIsNewCustomerUrl(proxy1.java)at com.etc.service.customer.EtcCustomerServiceImpl.getCustomerNewType(EtcCustomerServiceImpl.java:873)at com.etc.service.customer.EtcCustomerServiceImpl$$FastClassBySpringCGLIB$$2f308333.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)at com.etc.service.customer.EtcCustomerServiceImpl$$EnhancerBySpringCGLIB$$953f1998.getCustomerNewType(<generated>)at com.alibaba.dubbo.common.bytecode.Wrapper15.invokeMethod(Wrapper15.java)at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:47)at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:76)at com.alibaba.dubbo.config.invoker.DelegateProviderMetaDataInvoker.invoke(DelegateProviderMetaDataInvoker.java:52)at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:62)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:72)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:131)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:103)at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:96)at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:172)at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:80)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)

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

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

notify(387) |  [DUBBO] Notify urls for subscribe url provider: xxx
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问题

Will not attempt to authenticate using SASL | dubbo项目启动特别慢,拉取 zookeeper 服务日志打印特别慢相关推荐

  1. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)

    文章目录 个人简介 一.业务场景:报错kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection ...

  2. Zookeeper报错Will not attempt to authenticate using SASL解决办法

    Will not attempt to authenticate using SASL (unknown error) 经过查资料,这个问题与zookeeper里面的zoo.cfg配置有关. 在程序填 ...

  3. 搭建dubbo项目解决dubbo.xml标签报错的问题

    搭建dubbo项目解决dubbo.xml标签报错的问题 参考文章: (1)搭建dubbo项目解决dubbo.xml标签报错的问题 (2)https://www.cnblogs.com/ajax-li/ ...

  4. 编译dubbo项目方法

    1.从git上https://github.com/alibaba/dubbo下载dubbo-master. 2.安装maven3.2.5并确保cmd执行mvn -version出现版本号,如果此步已 ...

  5. 微服务资源springboot、springcloud、docker、dubbo项目实战等倾心分享

    精彩内容 java实战练习项目教程 全网最全电子图书分享 你所需要的大数据视频教程 java全套学习视频教程及源码 今天又是周末,还是想给大家送一些福利,因为最近一直有小伙伴问我要springboot ...

  6. Dubbo 3.0 前瞻之对接 Kubernetes 原生服务

    Kubernetes 是当前全球最流行的容器服务平台,在 Kubernetes 集群中,Dubbo 应用的部署方式往往需要借助第三方注册中心实现服务发现.Dubbo 与 Kubernetes 的调度体 ...

  7. Dubbo 3.0 前瞻:重塑 Spring Cloud 服务治理

    作者 | 小马哥 **导读:**Dubbo 社区策划了[Dubbo 云原生之路]系列文章,和大家一起回顾 Apache Dubbo 产品和社区的发展,并展望未来发展.系列文章主要涵盖 Dubbo 技术 ...

  8. SpringCloud Greenwich(七)集成dubbo先启动消费者(check=false),然后启动提供者无法自动发现注册

    SpringCloud Greenwich集成dubbo先启动消费者(check=false),然后启动提供者无法自动发现注册问题. 官方说明:修复bug的提交时间 spring-cloud-star ...

  9. 源码分析Dubbo服务提供者启动流程-下篇

    本文继续上文Dubbo服务提供者启动流程,在上篇文章中详细梳理了从dubbo spring文件开始,Dubbo是如何加载配置文件,服务提供者dubbo:service标签服务暴露全流程,本节重点关注R ...

最新文章

  1. 链表问题10——两个单链表生成相加链表
  2. Cocoa原理指南-学习和实践1
  3. FreeBSD 9.1安装KMS 这是一个伪命题###### ,9....
  4. 【开源项目】向Nginx-RTMP服务器推流
  5. Shell循环输入符合条件为止
  6. 凤凰系统运行linux,把凤凰系统装进U盘里,打造PC上的可移动android系统
  7. Python 学习笔记->《流畅python》学习
  8. 测试测量(3)- 如何选择设备的平台
  9. 【数据工具】地理坐标拾取器V.1.01(支持WGS-84、GCJ-02、BD-09)
  10. Thumbnails 压缩图片到指定kb
  11. C语言中格式输出二进制的两种方法
  12. python3爬妹子图_python3爬妹子图
  13. 精准电流走向分析|用笔记本电脑的供电电路描述MOS管的两大功能:开关作用和隔离功能
  14. vue 有关于命名大小写的问题
  15. 《ffmpeg入门学习》 二 摄像头对接
  16. Mybatis Plus 自定义SqlInjector sql注入器
  17. 肖博高考数学二轮复习方法之圆锥曲线 解题策略附带题型解析
  18. Android开发 - 实时心率控件图
  19. DT时代,小数据时代的未来发展
  20. bootstrap中的glyphicon问题

热门文章

  1. [vue] vue生命周期的作用是什么?
  2. 前端学习(2851):简单秒杀系统学习之相对定位
  3. 前端学习(2176):vue-router的路由的嵌套使用
  4. 前端学习(1355)模板语法循环
  5. 前端学习(219):css伪类选择器
  6. mybatis学习(32):删除操作
  7. 第三十七期:为什么2019年人工智能算法岗求职竞争如此激烈?
  8. stylus之条件(Conditionals)
  9. stylus之选择器(Selectors)
  10. d3.js(相当于svg的JQ)