25 ,shell 练习 ( 一键安装 zookeeper )

版权声明:欢迎大家学习讨论,拒绝盗版 https://blog.csdn.net/qq_34319644/article/details/91356479

1 ,上传 zookeeper

首先,当然要把 zookeeper 上传到 linux 中,上传路径为 /export/softwares

2 ,shell 脚本 : vim installZk.sh

#!/bin/bash
# 1,解压
tar -xzvf /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz -C /export/servers

# 2,配置 zoo.cfg
touch /export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '#  2 秒心跳一次,zk 服务与客户端一直保持通讯,如果 2 个心跳(4秒)不回话,就认为这个客户端断开连接了'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'tickTime=2000'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '#  follower 启动后,在这些时间内必须从 leader 同步到所有数据,如果不能完成,就不要这个 follower 了'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'initLimit=10'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '#  大哥跟小弟日常喊话,如果 5 次心跳过后,小弟没有应答,那么,大哥认为小弟挂了'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'syncLimit=5'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '#  数据存放目录,日志存放目录'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'dataDir=/export/servers/zookeeper-3.4.5-cdh5.14.0/dataDir'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '#  客户端连接端口'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'clientPort=2181'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '# 一小时清理一次日志文件'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'autopurge.purgeInterval=1'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '# 保留 3 个日志文件'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'autopurge.snapRetainCount=3'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo '# 开会:server.1 中的 1 代表 myid 中的 id ; cld01 代表 ip 地址 ; 2888 是数据同步端口(leader-follower通信) ; 3888 是选举投票端口'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'server.1=node01:2888:3888'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'server.2=node02:2888:3888'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'server.3=node03:2888:3888'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg

# 3,配置环境变量 node01
echo '# zk 环境变量'>>/etc/profile
echo 'ZK_HOME=/export/servers/zookeeper-3.4.5-cdh5.14.0'>>/etc/profile
echo 'PATH=$PATH:$ZK_HOME/bin'>>/etc/profile
echo '# zk 的启动日志输出目录'>>/etc/profile
echo 'export ZOO_LOG_DIR=/export/servers/zookeeper-3.4.5-cdh5.14.0/logout'>>/etc/profile

source /etc/profile

# 4,创建目录
mkdir /export/servers/zookeeper-3.4.5-cdh5.14.0/dataDir
mkdir /export/servers/zookeeper-3.4.5-cdh5.14.0/logout

# 5,编辑 myid
echo '1'>/export/servers/zookeeper-3.4.5-cdh5.14.0/dataDir/myid

# 6,把 zk 发送到 node02
scp -r /export/servers/zookeeper-3.4.5-cdh5.14.0/ root@node02:/export/servers/

# 7,把 zk 发送到 node03
scp -r /export/servers/zookeeper-3.4.5-cdh5.14.0/ root@node03:/export/servers/

# 8,把环境变量发送给 node02
scp -r /etc/profile root@node02:/etc

# 9,刷新环境变量 ndoe02
ssh root@node02 "source /etc/profile"

# 10,把环境变量发送给 node03
scp -r /etc/profile root@node03:/etc

# 11,刷新环境变量 node03
ssh root@node03 "source /etc/profile"

# 12,修改 node02 的 myid 的值
ssh root@node02 "echo '2'>/export/servers/zookeeper-3.4.5-cdh5.14.0/dataDir/myid"

# 13,修改 node03 的 myid 的值
ssh root@node03 "echo '3'>/export/servers/zookeeper-3.4.5-cdh5.14.0/dataDir/myid"

3 ,执行 :

sh installZk.sh

4 ,刷新环境变量 : ( 三台机器都刷新 )

  1. 为什么 :因为环境变量必须针对每一条连接,仅仅在 shell 脚本中刷新是不行的。
  2. 命令 :source /etc/profile

5 ,启动 :

三台机器一起启动 zookeeper : zkServer.sh start

6 ,成功的标志 :

  1. 查看 zookeeper 的启动状态 : zkServer.sh status
  2. 看到 : 2 个 follower , 1 个 leader

7 ,停止 zookeeper :

zkServer.sh stop

猜你喜欢

转载自blog.csdn.net/qq_34319644/article/details/91356479
今日推荐