zookeeper安装以及dubbo+redis平移dubbo+zookeeper

昨天写了篇平移到nacos的,今天正好尝试了下zookeeper的所以就一起写了。
下面是dubbo+redis的链接
rpc-dubbo-redis

1 linux下载zookeeper

去官网查看对应下载版本 https://zookeeper.apache.org/releases.html#download,复制对应的镜像地址
修改zoo.cfg配置文件

wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
cd apache-zookeeper-3.6.3-bin
cd conf
cp zoo_sample.cfg zoo.cfg


#修改下面2个参数,当然也可以不修改,dataDir默认是/tmp/zookeeper start
vi zoo.cfg
dataDir=/root/apache-zookeeper-3.6.3-bin/data
dataLogDir=/root/apache-zookeeper-3.6.3-bin/log

#保存修改
 
cd ..
mkdir data
mkdir log
# end

cd bin
sh zkServer.sh start

zkCli.sh查看启动是否成功,看到下面这句就是启动成功了

sh zkCli.sh

XXXX...........
Welcome to ZooKeeper!
XXXX...........

PS:
zookeeper关闭服务

sh zkServer.sh stop

2 dubbo从redis平移至zookeeper

同改到dubbo+nacos,基于dubbo+redis架构,只需改2处

2.1 pom.xml

从原始的redis和jedis依赖改成zookeeper的依赖

		<!-- dubbo 依赖-->
		<dependency>
		    <groupId>org.apache.dubbo</groupId>
		    <artifactId>dubbo-spring-boot-starter</artifactId>
		    <version>2.7.8</version>
		</dependency>
        <!-- zookeeper依赖 -->
	    <dependency>
	        <groupId>org.apache.zookeeper</groupId>
	        <artifactId>zookeeper</artifactId>
	        <version>3.6.3</version>
	    </dependency>  
	    <!-- curator依赖 -->   
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>4.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-recipes</artifactId>
			<version>4.0.1</version>
		</dependency>

2.2 application.yml

修改了dubbo.registry,直接把address改成zookeeper的对应地址。

dubbo:
  application:
    id: XXX
    name: XXX
    version: 1.0.0
  registry:
    address: zookeeper://XX.XX.XX.XX:2181 
    timeout: 10000 
  protocol:
    id: dubbo
    name: dubbo
    port: 20880   

3 遇见的问题:

3.1 只加dubbo和zookeeper的依赖,会报错

启动springboot项目会报如下错误

java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

需要加curator的包

		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>4.0.1</version>
		</dependency>
		
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-recipes</artifactId>
			<version>4.0.1</version>
		</dependency>

3.2 zookeeper not connected

Caused by: java.lang.IllegalStateException: zookeeper not connected

3.2.1 链接时间太短

可以在yml增加参数dubbo.registry.timeout: 10000 ,设置为10s

3.2.2 防火墙

因为昨天刚配过nacos的,正好是因为防火墙的问题,所以尝试改了下,就连上了。估计只要dubbo走tcp的,有防火墙的都得处理一下。

[root@root ~]# firewall-cmd --query-port=2181/tcp
no

开放端口并重载:

firewall-cmd --add-port=2181/tcp --permanent
firewall-cmd --reload

再次查询就ok了,之后就可以正常启动服务了

[root@root ~]# firewall-cmd --query-port=2181/tcp
yes

参考文献:

启动报curator错
https://blog.csdn.net/u010938610/article/details/85318907

windows安装zookeeper
https://blog.csdn.net/qq_33316784/article/details/88563482

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值