Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zookeeper not connected #657

Closed
l343765828 opened this issue Jan 9, 2020 · 63 comments
Closed

zookeeper not connected #657

l343765828 opened this issue Jan 9, 2020 · 63 comments
Assignees
Milestone

Comments

@l343765828
Copy link

zookeeper:3.5.5
dubbo:2.7.5
一直报:java.lang.IllegalStateException: zookeeper not connected

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

@l343765828
Hello, 能否给出测试demo

@l343765828
Copy link
Author

有邮箱吗

@l343765828
Copy link
Author

@lzf971107

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

您可以直接将您的 demo 代码上传至 当前 issue中。
点击文本框下面 Attach files by dragging & dropping, selecting or pasting them. 即可上传文件。

@l343765828
Copy link
Author

zipkin.zip

@l343765828
Copy link
Author

@lzf971107 已上传

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

@lzf971107 已上传

请稍等

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

@l343765828
看起来像是 zookeeper的依赖错误导致的

<dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.2.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.5.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>4.2.0</version>
        </dependency>

替换为

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper</artifactId>
            <version>${dubbo.version}</version>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

@l343765828
Copy link
Author

能受累发个demo回来吗 我刚又测了下redis redis单体可以顺利跑 当我用redis集群做注册中心的时候 消费者找不到提供者 redis集群是三主三从

@l343765828
Copy link
Author

@lzf971107

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

zipkin.zip

@l343765828

注册中心的地址我改过,你记得修改下。

@l343765828
Copy link
Author

好的 redis集群这问题 我直接给您发贴配置文件的代码吧?

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

redis集群的话 我这边暂时可能跑不了 ,您可以看下是否是redis的环境配置问题呢

@l343765828
Copy link
Author

dubbo:
  scan:
    base-packages: com.testzipkin.provider.service
    # Dubbo Protocol
  protocol:
    name: dubbo
    port: -1
  registry:
    protocol: redis
    address: 192.168.3.244:32220,192.168.3.244:30256,192.168.3.244:30729
    group: dubbo
    password: 123456
    url: url
    username: name
    cluster: replicate

@l343765828
Copy link
Author

集群 我确定没问题 因为其他项目正在跑 我感觉是消费者读取的问题 a、b、c三台redis 服务注册到a 消费者注册到了b 然后消费者一直报在b找不到服务者

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

EZKAYOTWJPRKXWCUYEEB commented Jan 9, 2020

集群 我确定没问题 因为其他项目正在跑 我感觉是消费者读取的问题 a、b、c三台redis 服务注册到a 消费者注册到了b 然后消费者一直报在b找不到服务者

redis作为注册中心,我确实没有使用过,无法给您经验,不过您可以继续打开此问题,等待其余人的答案。

@l343765828
Copy link
Author

好的 再问您一下 2.7.5支持zipkin吗?

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

好的 再问您一下 2.7.5支持zipkin吗?

支持,可以参考simple:https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-zipkin
文章:https://dubbo.apache.org/zh-cn/blog/use-zipkin-in-dubbo.html

@l343765828
Copy link
Author

There was an unexpected error (type=Internal Server Error, status=500).
Failed to invoke the method sayHello in the service com.testzipkin.inter.DemoService. Tried 3 times of the providers [192.168.3.35:20880] (1/1) from the registry 192.168.3.244:32220 on the consumer 192.168.3.35 using the dubbo version 2.7.5. Last error is: com.alibaba.dubbo.rpc.protocol.dubbo.FutureAdapter.(Lcom/alibaba/dubbo/remoting/exchange/ResponseFuture;)V
我从2.7.3就开始试 到2.7.5一直都报这错呢

@l343765828
Copy link
Author

消费者的错 服务者没问题

@l343765828
Copy link
Author

需要我发demo吗

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

需要我发demo吗

需要,只有这点信息可能看不出什么。

@l343765828
Copy link
Author

zipkin.zip
注册中心是redis 您要有redis的话 就换成您的redis地址 没有的话 就换下zookeeper

@l343765828
Copy link
Author

哦 对了 配置文件中zipkin的baseurl 您需要改成您的zipkin地址

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

哦 对了 配置文件中zipkin的baseurl 您需要改成您的zipkin地址

好的,由于我本地没有zipkin,我需要搭建该环境,我会尽量给您解决,但是现在可能有一点小事情我要去处理,您可以继续自己尝试解决,或等其他人的方案。

@l343765828
Copy link
Author

好的 您解决完您尽快给我回下 我从2.7.1就开始试 试到了.5 都不行

@l343765828
Copy link
Author

@lzf971107

@l343765828
Copy link
Author

我有个远程的zipkin 您能调吗?

@EZKAYOTWJPRKXWCUYEEB
Copy link
Contributor

我有个远程的zipkin 您能调吗?

如果方便的话,您可以留一个。

@l343765828
Copy link
Author

方便留个邮箱么 我发您邮箱 @lzf971107

@mail6562
Copy link

mail6562 commented Jan 9, 2020

@lzf971107 您发的那个zookeeper项目 我这边还是不行 报的:

java.lang.IllegalStateException: zookeeper not connected
	at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(CuratorZookeeperClient.java:83) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.createZookeeperClient(CuratorZookeeperTransporter.java:26) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.remoting.zookeeper.support.AbstractZookeeperTransporter.connect(AbstractZookeeperTransporter.java:68) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive.connect(ZookeeperTransporter$Adaptive.java) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.<init>(ZookeeperDynamicConfiguration.java:70) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:37) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.lambda$getDynamicConfiguration$0(AbstractDynamicConfigurationFactory.java:39) ~[dubbo-2.7.5.jar:2.7.5]
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705) ~[na:na]
	at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:39) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.common.config.configcenter.DynamicConfiguration.getDynamicConfiguration(DynamicConfiguration.java:223) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.prepareEnvironment(DubboBootstrap.java:815) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.startConfigCenter(DubboBootstrap.java:560) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.useRegistryAsConfigCenterIfNecessary(DubboBootstrap.java:624) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:508) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:698) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:52) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:45) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.spring.context.OneTimeExecutionApplicationContextEventListener.onApplicationEvent(OneTimeExecutionApplicationContextEventListener.java:40) ~[dubbo-2.7.5.jar:2.7.5]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at com.testzipkin.provider.ProviderApplication.main(ProviderApplication.java:11) ~[classes/:na]
Caused by: java.lang.IllegalStateException: zookeeper not connected
	at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(CuratorZookeeperClient.java:80) ~[dubbo-2.7.5.jar:2.7.5]
	... 30 common frames omitted

是否是zookeeper环境问题
我也遇到这个问题,
Opening socket connection to server 192.168.4.50:2181. Will not attempt to authenticate using SASL (unknown
在windows idea 的debug模式下,在 org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient 类内部 this.client.start(); 执行后,断点等一会就运行正常了 。如果不配置dubbo.config-center.timeout , 超时时间是3000,配置后是5000,我感觉是zookeeper客户端的问题,我的zookeeper服务端是3.5.5 。

@l343765828
Copy link
Author

@lzf971107 我又测了下 我在本地搭了一个zookeeper 2.7.5也过了 无论写localhost 还是写IP 但是填回k8s的zookeeperIP 就过不了 2.7.3就可以过 这是2.7.5的一个bug么

@l343765828
Copy link
Author

@mail6562 配置了dubbo.config-center.timeout 2.7.3确实可以了 2.7.5 报连不上之后 直接退出了

@l343765828
Copy link
Author

@lzf971107 k8s中zookeeper用statefulset生成的 然后我把jar包放在k8s中测 zookeeper的地址填pods对应的域名 也不行

@mail6562
Copy link

mail6562 commented Jan 11, 2020

@l343765828 我使用2.7.5 在windows上面有问题,但是在linux上面没有问题,我们没有使用容器,是zookeeper 连接还没返回成功就状态,就开始执行状态判断,就直接就退出了,在我本地能重现这个问题,在第一次启动zookeeper连接后,打个断点 暂停一会就能正常使用。也有可能是本地网络的问题。

@l343765828
Copy link
Author

@mail6562 windows和linux 我都试了 zookeeper 就直接报 zookeeper not connected 然后就直接退了 关于您说的 timeout问题 在 2.7.3上配置了dubbo.config-center.timeout 确实解决了连接不上的问题 但是在2.7.5 我觉得已经不是这问题了

@mizhilong
Copy link

debug到连接zookeeper的代码,发现dubbo.config-center.timeout配置大值,实际未传入连接代码而是用的5000,如果在连接前断点,将连接timeout时间设置足够大,可以连接成功,不会报zookeeper not connected。由于刚开始玩这东西,只能跟踪到此,没有具体细查。

@l343765828
Copy link
Author

dubbo.config-center.timeout=50000
dubbo.registry.timeout=40000
这俩我同时设置了大数值 然后timeout的时间就取到了配置的值了 取最小的一个
@mizhilong @mail6562 @lzf971107

@mizhilong
Copy link

dubbo.config-center.timeout=50000
dubbo.registry.timeout=40000
这俩我同时设置了大数值 然后timeout的时间就取到了配置的值了 取最小的一个
@mizhilong @mail6562 @lzf971107

真巧,刚误打误撞试验,也发现这个,不过我这里试验是取dubbo.registry.timeout的值,会作为连接zk的时间使用。

@mizhilong
Copy link

dubbo.config-center.timeout=50000
dubbo.registry.timeout=40000
这俩我同时设置了大数值 然后timeout的时间就取到了配置的值了 取最小的一个
@mizhilong @mail6562 @lzf971107

补充一下,这两个值必须都设置,才会使用dubbo.registry.timeout,单一设置都不会起作用。

@l343765828
Copy link
Author

你设置dubbo.config-center.timeout小于dubbo.registry.timeout 试下 我这边哪个小取哪个 太怪了
@mizhilong

@mail6562
Copy link

mail6562 commented Jan 13, 2020

dubbo.config-center.timeout 只要重写,dubbo.registry.timeout 就会生效,dubbo.registry.timeout 配置时间够长就不会出现链接不上的情况,地址要正确。 @mizhilong @l343765828
只要zookeeper 在3秒内连接成功,就不会有这个问题

@l343765828
Copy link
Author

好的 redis集群作为注册中心也不行 @mail6562

@mail6562
Copy link

@l343765828 问没有使用过redis做注册中心,一般注册中心不用redis,不过zookeeper改了配置和nacos 1.1.4 做注册中心是可以的、

@l343765828
Copy link
Author

@mail6562 行吧 那天也是无意间发现的 单机redis可以注册 集群注册不了

@limng06
Copy link

limng06 commented Apr 15, 2020

2.7.6 我也遇到这个问题了 本地好好的 一连正式环境的zookeeper(3.6.0) 就不行了 现在有解决办法了吗

@l343765828
Copy link
Author

@limng06 生产环境 我用的2.7.3 之后的没敢用

@limng06
Copy link

limng06 commented Apr 15, 2020

@limng06 生产环境 我用的2.7.3 之后的没敢用

我看 2.7.6推荐生产来着 最近正好遇到netty起rest服务 not found 正好想一道升级来着 看来还是得切回去了

@joviqiao
Copy link

我用的2.7.6 也是这个问题,太tm奇怪了!!!!难到新老版本冲突到问题? 有时正常,有时又有问题。。。

@joviqiao
Copy link

2.7.6 版本依然是这个问题,有点想不通,明明是 config-center 的 timeout , 你偏偏用来连zk?

@mainlove
Copy link

这个超时是客户端的认证问题,其实和dobbo没啥关系
加一句 System.setProperty("zookeeper.sasl.client", "false"); 去zoo.cfg设置也可以
再次说明这是 zookeeper的问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants