springboot-dubbo-zookeeper-demo-master踩过的坑

网上的东西经常出现少这或少那,不管什么原因,让后来学习者踩过,本一下载了两套代码,踩以下坑,最终两套代码都成功运行。

 

踩过的坑:

  1. 启动App时就报如下错:

The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

参考:https://blog.csdn.net/jiankunking/article/details/51462111

说下载Tomcat对应版本的 tcnative-1.dll文件放到Tomcat下面,不知道版本的话,随便下一个,然后会有提示:如下图:

springboot-dubbo-zookeeper-demo-master踩过的坑

然后不报错了,但是Eclipse中还是跑不起SpringBoot项目。

2.第二个坑,启动SpringApplicationEclipse控制台中输出Tomcat已停止,没有任务错误信息,如下:

springboot-dubbo-zookeeper-demo-master踩过的坑

这头大了,第一想法,百度,结果网上说springboot log和tomcat log冲突,还是说是依赖错了等等,试了都不行,冷静下来分析,还得把错误详细信息打印出来,这才能真正解决,网上发现一文章,可以日志打出来,如下,试了果然可以,结果还是代码和配置有问题

springboot-dubbo-zookeeper-demo-master踩过的坑

springboot-dubbo-zookeeper-demo-master踩过的坑

  坑3:

生产者可以注册到Zookeeper上,但是消费者怎么也无法调用,报各种错:

springboot-dubbo-zookeeper-demo-master踩过的坑

Zookeeper一直报上面的问题,我是单独的Zookeeper,没有集群。

在本地不行,然后又把Zookeeper放到虚拟机中运行,但是又报另一个错:

springboot-dubbo-zookeeper-demo-master踩过的坑

Zookeeper拒接消息者的连接,生产者没问题,可以注册服务,很奇怪,找了好久没找到问题,后来一篇文章说是虚拟环境的问题,一查看,发出这个方向是对的,Zookeeper监听到消费者是IP是虚拟IP,不是我本地的,后来把以下(除本地连接)都禁用,不报这个错了,但是还是报别的问题。

springboot-dubbo-zookeeper-demo-master踩过的坑

折腾三天了,没时间了,最后,把所有代码,Zookeeper、Dubbo Admin 都删除,按照这篇文章来,https://blog.csdn.net/xingxing_tx/article/details/83894092,所以涉及到的版本都跟文章保持一持,把Zookeeper的注册端口2181改为2182(怕2181有残留进程影响),所有程序和Zookeeper 、Dubbo Admin都在本地跑起来,发现可以了。

springboot-dubbo-zookeeper-demo-master踩过的坑

springboot-dubbo-zookeeper-demo-master踩过的坑

不确认下面有没有引起问题,data和logs不用先创建,我之前是先创建,可能会引起问题,成功跑起的时候,这两个目录是没有先创建的。

springboot-dubbo-zookeeper-demo-master踩过的坑

 

在本地成功后,想验证是哪里出问题了,把Zookeeper放到VM中去,然后把以下所有开启,

springboot-dubbo-zookeeper-demo-master踩过的坑

结果在监控中心和Zookeeper日志中,发现都不是我本地IP 192.168.20.46去调用的,而在虚拟IP 169.254.208.231,但是成功了。

springboot-dubbo-zookeeper-demo-master踩过的坑

springboot-dubbo-zookeeper-demo-master踩过的坑

  为找到问题所在,把现在跑成功Zookeeper的端口2188还原回默认2181端口,结果还是没问题,最后看看是不是项目中的Zookeeper版本跟实现安装的不一致,结果发现第一套代码zookeeper-3.4.10,项目中也是zookeeper-3.4.10,第二套是zookeeper-3.4.13,项目也是zookeeper-3.4.13,最终用zookeeper-3.4.13成功运行了两套代码,怀疑第一套Zookeeper版本有问题。现把所有都奉献上。

下载地址:

https://github.com/chenbin916/springboot-dubbo-zookeeper-demo