集群安装zookeeper

一、安装zoopeeper3.4.6

没有集群的看我以前文章
zk集群在搭建部署的时候,通常选择 2n+1 奇数台。底层 Paxos 算法支持(过半成功)。

1.1. zk安全前提

服务器基础环境

IP
主机名
hosts映射
防火墙关闭
时间同步
ssh免密登录

JDK环境

jdk1.8
配置好环境变量

1.2. zk具体安装部署(选择node1安装 scp给其他节点)

1.2.1. 安装包

zookeeper-3.4.6.tar.gz

1.2.2. 上传解压重命名

cd /export/software/
tar zxvf zookeeper-3.4.6.tar.gz -C /export/server/
cd /export/server/
mv zookeeper-3.4.6/ zookeeper

1.2.3. 修改配置文件

1.2.3.1. zoo.cfg
#zk默认加载的配置文件是zoo.cfg 因此需要针对模板进行修改。保证名字正确。
cd zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
#修改
dataDir=/export/data/zkdata
#文件最后添加 2888心跳端口 3888选举端口
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
1.2.3.2. myid
#在每台机器的dataDir指定的目录下创建一个文件 名字叫做myid
#myid里面的数字就是该台机器上server编号。server.N  N的数字就是编号
[root@node1 conf]# mkdir -p /export/data/zkdata
[root@node1 conf]# echo 1 >/export/data/zkdata/myid

1.2.4. 把安装包同步到其他节点上

cd /export/server
scp -r zookeeper/ node2:$PWD
scp -r zookeeper/ node3:$PWD

1.2.5. 创建其他机器上myid和datadir目录

[root@node2 ~]# mkdir -p /export/data/zkdata
[root@node2 ~]# echo 2 > /export/data/zkdata/myid 

[root@node3 ~]# mkdir -p /export/data/zkdata
[root@node3 ~]# echo 3 > /export/data/zkdata/myid 

1.3. zk集群的启动

1.3.1. 每台机器上单独启动服务

#在哪个目录执行启动命令 默认启动日志就生成当前路径下 叫做zookeeper.out
/export/server/zookeeper/bin/zkServer.sh  start|stop|status
#3台机器启动完毕之后 可以使用status查看角色是否正常。
#还可以使用jps命令查看zk进程是否启动。
[root@node3 ~]# jps
2034 Jps
1980 QuorumPeerMain  #看我,我就是zk的java进程

1.4. 扩展:编写shell脚本 一键脚本启动。

本质:在node1机器上执行shell脚本,由shell程序通过ssh免密登录到各个机器上帮助执行命令。

1.4.1. 一键关闭脚本

root@node1 ~]# mkdir -p /onekey && cd /onekey
[root@node1 onekey]# vim zk2_stop.sh 
#!/bin/bash

# 1 数组 放 主机名
hosts=(node1 node2 node3)

# 2 遍历 关闭
for host in ${hosts[*]}
do
  ssh $host "source /etc/profile;/export/server/zookeeper/bin/zkServer.sh stop"
done

1.4.2. 一键启动脚本

[root@node1 onekey]# vim zk1_start.sh 

#!/bin/bash

# 1 数组 放 主机名
hosts=(node1 node2 node3)

# 2 遍历 启动
for host in ${hosts[*]}
do
  ssh $host "source /etc/profile;/export/server/zookeeper/bin/zkServer.sh start"
done

注意:关闭java进程时候 根据进程号 直接杀死即可就可以关闭。启动java进程的时候 需要JDK。
shell程序ssh登录的时候不会自动加载/etc/profile 需要shell程序中自己加载。
chmod 777 /onekey/*

1.5. 使用客户端访问

/export/server/zookeeper/bin/zkCli.sh [-server ip]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值