Zookeeper源码【一】环境搭建和集群配置

 

1 搭建步骤

1.1 到github中下载该项目

https://github.com/apache/zookeeper

https://github.com/apache/zookeeper.git

git@github.com:apache/zookeeper.git

1.2 使用IDEA的Git插件拉代码

1.3 检出为稳定版本的代码

1.4 ant对源码编译成eclipse工程

https://ant.apache.org/bindownload.cgi 下载地址

1.4.1.在环境变量中配置变量ANT_HOME,值为D:\apache-ant-1.10.5;在Path中添加:%ANT_HOME%\bin;
1.4.2.验证Ant是否安装成功,开始–>运行–>cmd,进入命令行–>键入 ant -version回车显示版本号,便表示Ant配置完成。

1.4.3编译 ,idea控制台直接输入 ant eclipse

1.4.4 如上图遇到异常

需要修改bulid.xml 中的get src="https://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"

修改为 get src="http://ufpr.dl.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"

编译完成

1.5 通过idea导入eclipse工程

将idea的编译器版本设置为1.7。然后整个世界就安静了,终于不再报错了。

2 linux centOS7搭建zookeeper集群

我这里配置了四台服务器,这里操作都一样

2.1 安装jdk

我这里安装的是  jdk-8u181-linux-x64.tar.gz

tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/java/

设置环境变量

vim /etc/profile

没有安装vim编辑器的,直接执行  yum install -y vim 安装

# java
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=/usr/local/java/jdk1.8.0_181/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

java -version 不用说了吧

2.2 安装zookeeper

下载地址  http://mirror.bit.edu.cn/apache/zookeeper/    , 我下载的是 zookeeper-3.4.13

http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

然后解压

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

配置环境变量,  每次启动服务就不需要定位到Zookeeper的bin目录了

vim /etc/profile
# zookeeper
export ZK_HOME=/usr/local/zookeeper-3.4.13
export PATH=$ZK_HOME/bin:$PATH

2.2.1修改配置文件

 首先需要在每个机器上的zookeeper目录下创建data和logs目录

mkdir /usr/local/zookeeper-3.4.13/logs
mkdir /usr/local/zookeeper-3.4.13/data

然后在每个data目录创建myid文件 ,这里的 1 代表每个server的ID,其他机器不能相同

echo "1" > /usr/local/zookeeper-3.4.13/data

修改zoo.cfg配置文件, zoo_sample.cfg是zk自带的配置文件,这里copy一份

[root@localhost zookeeper-3.4.13]# cd conf
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
[root@localhost conf]# vim zoo.cfg 

 修改为以下内容

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/zookeeper-3.4.13/data

clientPort=2181

dataLogDir=/usr/local/zookeeper-3.4.13/logs

server.1=192.168.190.128:2888:3888
server.2=192.168.190.129:2888:3888
server.3=192.168.190.130:2888:3888
server.4=192.168.190.131:2888:3888:observer

第四台机器为Observer,不参与投票选举,但是会同步数据,并且Observer节点需要加上peerType=observer

配置文件说明

Learner是Follower和Observer节点 

2.3 启动服务验证

首先需要刷新一下环境变量

source /etc/profile

然后开启防火墙 

[root@localhost zookeeper-3.4.13]# firewall-cmd --zone=public --add-port=2888/tcp --permanent
success
[root@localhost zookeeper-3.4.13]# firewall-cmd --zone=public --add-port=3888/tcp --permanent
success
[root@localhost zookeeper-3.4.13]# systemctl restart firewalld

依次启动每个服务 

zkServer.sh start

查看zk服务状态

zkServer.sh status

 

一个leader,两个follower,一个observer

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值