本篇文章给大家带来的内容是关于Springboot的zookeeper集群的配置 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

主机系统环境准备

Jdk1.7+,window系统(使用window10+window7),或者linux系统(本次测试使用centos7)

第一步:主机名称到ip地址映射配置

zookeeper集群中具有两个关键的角色:leader和follower。

集群中所有的结点作为一个整体对分布式应用提供服务,集群中每个结点之间都互相连接,所以,在配置的zookeeper集群的时候,每一个结点的host到ip地址的映射都要配置上集群中其它结点的映射信息。

例如,我的zookeeper集群中每个结点的配置,以master为例,/etc/hosts内容如下所示:

192.168.0.253 master(虚拟机linux系统)

192.168.0.219 follow-1(my 物理机 window系统)

192.168.0.133 follow-2(玉姐 物理机window系统)

第二步:配置防火墙端口(各主机之间)

window 系统关闭防火墙或者开放相应的端口,本系统中使用端口为2181,2888,3888

linux系统则使用systemctl iptables.service stop停止防火墙(不同linux版本命令有所差异)

l 本次测试中由于centos7防火墙关闭后无法访问网络,因此需要启用防火墙,配置开放端口

配置方式:

1. 找到防火墙对应的iptables文件,centos下路径为:/etc/sysconfig/iptables

2. 添加

-A INPUT -p tcp -m state--state NEW -m tcp --dport 80 -j ACCEPT(端口号)

-A INPUT -p tcp -m state--state NEW -m tcp --dport 2000:4000 -j ACCEPT(端口号范围)

第三步:主机之间连通性测试

使用ping命令做连通测试

Follow-1 follow-2 master

可能产生的问题,如果linux与window之间不通,则按照以下步骤检查

第四步:添加dubbo配置

1. Pom文件依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-dubbo</artifactId>
    <version>1.3.1.RELEASE</version>
    <exclusions>
        <exclusion>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
        </exclusion>
    </exclusions>
</dependency>
登录后复制

1. Yaml配置dubbo参数

-------privoder 提供者-------

spring:
dubbo:
registry:
address:
192.168.0.129:2181,192.168.0.165:2181,192.168.0.133:2181
protocol: zookeeper
protocol:
name:
dubbo
host: 192.168.0.165
port: 20882
monitor:
protocol:
registry
provider:
timeout:
120000
threadpool: fixed
threads: 100
accepts: 1000

-------customer 消费者-------

spring:

dubbo:
application:
name:
atme-crm-service
registry:
address:
192.168.0.129:2181,192.168.0.165:2181,192.168.0.253:2181
protocol: zookeeper
protocol:
name:
dubbo
prot: 20886
threads: 1000
heartbeat: 100000
host: 192.168.0.165
monitor:
protocol:
registry

2. 启动项目引入dubbo配置

@ImportResource({"classpath:config/dubbo.xml"})

最后:遇到的那些坑

如果配置后出现Cannot open channel to 1 at election address /192.168.253.130:3888java.net.Co请按照如下步骤检查

1. /conf/zoo.cfg dataDir与dataDirLog文件路径是否存在,如果不存在请手动创建

2. 检查dataDir路径下是否创建了myid文件,文件中是否存储了server.x 中 x的号码

3. 检查各zookeeper节点所在的宿主机的防火墙端口是否开启

以上如果都不行,请清空zookeeper 的pid,以及data与log文件夹下的文件

相关推荐:

在CentOS 7 上安装Zookeeper集群

关于Pacemaker集群配置的版本_PHP教程

以上就是Springboot的zookeeper集群的配置的详细内容,更多请关注Work网其它相关文章!

08-21 09:47