RocketMQ高并发项目——Zookeeper环境搭建

 

 

zookeeper是目前主流的分布式协调框架,主要用于实现集群节点间的协调工作,zookeeper在很多优秀的开源框架中广泛应用,比如hadoop/kafka等

结构,一共是三个节点(zk服务器集群规模不小于3个节点,但也不要太多,因为节点之间的同步复制会影响性能,我们可以使用多个集群)

 

首先更改主机名与IP

[root@localhost /]# vim etc/hostname

[root@localhost /]# vim etc/hosts

 

 

解压zookeeper

先用XFTP将zookeeper的包放入/usr/local/software下,再解压

tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/

重命名 

[root@zo1 local]# mv zookeeper-3.4.6 zookeeper

 修改环境变量

[root@zo1 local]# vim /etc/profile

修改部分为红色框处

 

即:

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=.:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

 

修改完后记得刷新生效

[root@zo1 local]# source /etc/profile

 修改配置文件

到/usr/local/zookeeper/conf目录下,将zoo_sample.cfg文件改名为zoo.cfg

mv zoo_sample.cfg zoo.cfg

 修改zoo.cfg的内容

(1)dataDir=/usr/local/zookeeper/data
(2)最后面添加
    server.0=zo1:2888:3888
    server.1=zo2:2888:3888
    server.2=zo4:2888:3888

因为上面配置文件中把存放数据的位置改为了usr/local/zookeeper/data中,所以需要在zookeeper下新建data文件夹

[root@zo1 zookeeper]# mkdir data

服务器标识配置 

在data文件夹下建立文件myid

[root@localhost data]# vim myid 

把myid就是服务的标识,把myid文件里面的值修改未0,1,2与我们的server.0  server.1  server.2相匹配

 

好啦这样就配置完啦,另外两个节点的配置和上面一模一样,只是主机名与ip改成自己的就行了,我们在三个节点分别启动zookeeper,在哪里

zkServer.sh start

然后我们在各自节点查询节点状态:

zkServer.sh status

可以看到三个节点都启动成功,一主两从

 

最后我们来看看zoo.cfg文献参数:

        tickTime:    基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tickTime时间就会发送一个心跳。
                    
        initLimit:    这个配置项是用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
            
        syncLimit:    这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒
                    
        dataDir:    存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
       
        clientPort: 这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
              
        server.A = B:C:D : 
                    A表示这个是第几号服务器,
                    B 是这个服务器的 ip 地址;
                    C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
                    D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值