zookeeper集群部署

一、规划

192.168.60.100        znode01

192.168.60.110        znode02

192.168.60.120        znode03

二、环境准备

1.配置ip地址并可以连接互联网

2.ssh互信

[root@znode01 ~]# ssh-keygen -t rsa

[root@znode01 ~]# mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

[root@znode01 ~]# for i in 100 110 120; do scp -r /root/.ssh/ 192.168.60.$i:/root/; done

3.设置主机名,并同步主机解析

[root@znode01 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.60.100 znode01.com
192.168.60.110 znode02.com
192.168.60.120 znode02.com

[root@znode01 ~]# for i in 100 110 120; do scp -r /etc/hosts 192.168.60.$i:/etc/; done 

4.关闭防火墙

systemctl stop firewalld
systemctl disabled firewalld

5.关闭selinux

setenforce 0

cat /etc/selinux/config

SELINUX=disabled 

6.时间同步

 ntpdate ntp.aliyun.com

三、下载


我用夸克网盘分享了「jdk-8u91-linux-x64.tar.gz」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/35c4f1ed2e69


我用夸克网盘分享了「apache-zookeeper-3.7.1-bin.tar.gz」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/3225d8dd5808


四、解压安装

JDK——


[root@znode01 /]# tar -xvf jdk-8u91-linux-x64.tar.gz -C /usr/local/        #解压jdk包

[root@znode01 /]# vim /etc/profile        #配置java的环境变量(文件末尾加上就行)

export JAVA_HOME=/usr/local/jdk1.8.0_91
export PATH=$PATH:$JAVA_HOME/bin

[root@znode01 /]# source /etc/profile        #生效(source命令只在当前终端生效)

 [root@znode01 /]# java -version        #查看版本

其余两台机子也安装一下jdk以及配置一下环境变量

[root@znode01 /]# scp -r /usr/local/jdk1.8.0_91 192.168.60.110:/usr/local/         #拷贝过去

[root@znode01 /]# scp -r /usr/local/jdk1.8.0_91 192.168.60.120:/usr/local/ 

[root@znode02 ~]# vim /etc/profile        #配置环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_91
export PATH=$PATH:$JAVA_HOME/bin

[root@znode02 ~]# source /etc/profile         #生效

[root@znode02 ~]# java -version        #查看版本

 [root@znode03 ~]# vim /etc/profile        #配置环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_91        
export PATH=$PATH:$JAVA_HOME/bin

[root@znode03 ~]# source /etc/profile         #生效

[root@znode03 ~]# java -version        #查看版本


zookeeper——

[root@znode01 /]# tar -xvf apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/         #解压

[root@znode01 /]# mv /usr/local/apache-zookeeper-3.7.1-bin /usr/local/zookeeper        #重命名

[root@znode01 /]# mkdir /usr/local/zookeeper/data        #创建持久化数据目录

[root@znode01 /]# mkdir /usr/local/zookeeper/log        #日志目录

(因为还有一些配置需要修改,所以这里先不准备其他两个节点的zookeeper安装,等在znode01上面修改好后直接拷贝到其他两个节点上就行)

五、配置zookeeper

[root@znode01 /]# cd /usr/local/zookeeper/conf/        #准备配置文件

[root@znode01 conf]# cp zoo_sample.cfg zoo.cfg

[root@znode01 conf]# vim zoo.cfg        #修改配置

dataDir=/usr/local/zookeeper/data        #持久化数据目录的路径

dataLogDir=/usr/local/zookeeper/log        #日志目录

clientPort=2181                                        #客户端连接的端口,默认就是2181

server.1=192.168.60.100:2888:3888        
server.2=192.168.60.110:2888:3888
server.3=192.168.60.120:2888:3888

 (2888是这三个server之间相互传递心跳,3888用于这三个server相互同步数据,然后server.1,这“.”后面跟的数字就是选举机制里面的myid,这个myid是需要文件存放的,我们需要在data目录下创建一个myid文件来存放myid)

[root@znode01 conf]# touch /usr/local/zookeeper/data/myid        #存放myid

[root@znode01 conf]# echo 1 > /usr/local/zookeeper/data/myid 

准备其他两个节点zookeeper的安装与配置——

[root@znode01 conf]# scp -r /usr/local/zookeeper 192.168.60.110:/usr/local/

[root@znode01 conf]# scp -r /usr/local/zookeeper 192.168.60.120:/usr/local/ 

[root@znode02 ~]# echo 2 > /usr/local/zookeeper/data/myid

[root@znode03 ~]# echo 3 > /usr/local/zookeeper/data/myid

六、启动zookeeper,查看状态

启动znode01——

[root@znode01 /]# cd /usr/local/zookeeper/bin/

[root@znode01 bin]# ./zkServer.sh start        #启动

(这是这个启动时加载的配置)

[root@znode01 bin]# ./zkServer.sh status        #查看状态

(可以看到是error的状态以及zookeeper没有运行,这是正常状态,因为zookeeper有一个半数存活原则,三个zookeeper组成的集群,至少得有两个zookeeper启动,只启动一个自然是没有的)

启动znode02——

[root@znode02 ~]# cd /usr/local/zookeeper/bin/

[root@znode02 bin]# ./zkServer.sh start

[root@znode02 bin]# ./zkServer.sh status

(这是可以看到,没有error信息了,第二个启动的zookeeper变成了主leader,那第一个启动的就自然变成了从follower)

[root@znode01 bin]# ./zkServer.sh status

启动znode03——

[root@znode03 ~]# cd /usr/local/zookeeper/bin/

[root@znode03 bin]# ./zkServer.sh start

[root@znode03 bin]# ./zkServer.sh status



 (一旦zookeeper集群里面有了leader,后面启动的zookeeper服务都是从follower)

 (至此,整个zookeeper集群的部署就结束了,接下来就是开发的工作了)


zookeeper的作用介绍-优快云博客

zookeeper集群的选举机制以及数据一致性-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值