B03 - 056、shell编程之一键安装三台Zookeeper
初学耗时:2h
注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。
一、准备工作
1.1 脚本目的:一键安装三台Zookeeper。
1.2 确定第一台虚拟机的Zookeeper是否上传。
1.3 基本环境是否部署:如免密登陆等。
二、一键安装
2.1 创建文件夹。
2.2 给文件夹配置环境变量。
2.3 编写脚本。
2.4 赋予权限后再执行脚本。
三、结果验证
3.1 常规完整版安装教程。
3.2 常规启动与查询。
3.3 脚本一键启动三台zk。
3.4 脚本一键查询三台zk。
3.5 脚本一键停止三台zk。
记忆词:
一键安装zk
-
1、B03 - 001、Linux参考的****:
B03-001、Linux参考的****
提取码:gm95
一、准备工作
1.1 ~ 脚本目的:一键安装三台Zookeeper。
1.2 ~ 确定第一台虚拟机的Zookeeper是否上传。
cd /export/softwares
1.2 ~ 基本环境是否部署:如免密登陆等。
Frankly,my dear,I don’t give a damn.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
二、一键安装
2.1 ~ 创建文件夹。
mkdir -p /export/onekey/zk
2.2 ~ 给文件夹配置环境变量。
vim /etc/profile
export ALL_ONEKEY=/export/onekey
export PATH=:$ALL_ONEKEY/zk:$ALL_ONEKEY/environment:$PATH
source /etc/profile
2.3 ~ 编写脚本。
mkdir -p /export/onekey/zk
cd /export/onekey/zk
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=zrk691101:2888:3888'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'server.2=zrk691102:2888:3888'>>/export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
echo 'server.3=zrk691103: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 发送到 zrk691102
scp -r /export/servers/zookeeper-3.4.5-cdh5.14.0/ aaa@qq.com:/export/servers/
# 7,把 zk 发送到 zrk691103
scp -r /export/servers/zookeeper-3.4.5-cdh5.14.0/ aaa@qq.com:/export/servers/
# 8,把环境变量发送给 zrk691102
scp -r /etc/profile aaa@qq.com:/etc
# 9,刷新环境变量 zrk691102
ssh aaa@qq.com "source /etc/profile"
# 10,把环境变量发送给 zrk691103
scp -r /etc/profile aaa@qq.com:/etc
# 11,刷新环境变量 zrk691103
ssh aaa@qq.com "source /etc/profile"
# 12,修改 zrk691102 的 myid 的值
ssh aaa@qq.com "echo '2'>/export/servers/zookeeper-3.4.5-cdh5.14.0/dataDir/myid"
# 13,修改 zrk691103 的 myid 的值
ssh aaa@qq.com "echo '3'>/export/servers/zookeeper-3.4.5-cdh5.14.0/dataDir/myid"
2.4 ~ 赋予权限再执行脚本。
chmod 777 installzk.sh
installzk.sh
Frankly,my dear,I don’t give a damn.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
三、结果验证
3.1 ~ 常规完整版安装教程。
B02 - 001、Zookeeper、CDH5.14.0 - 3.4.5
3.2 ~ 常规启动与查询。
# 全局命令
cd /export/servers/zookeeper-3.4.5-cdh5.14.0/bin
./zkServer.sh start
./zkServer.sh status
./zkServer.sh stop
3.3 ~ 脚本一键启动三台zk。
# 创建目录并配置节点。
mkdir -p /export/onekey/zk
cd /export/onekey/zk
vim slave
zrk691101
zrk691102
zrk691103
cat /export/onekey/zk/slave | while read line
do
{
ssh $line "source /etc/profile;nohup sh ${ZK_HOME}/bin/zkServer.sh start >/dev/null 2>&1 &"
echo " 『" $line "』 "
}&
wait
done
echo
echo "-----------------------------------"
echo
echo " 三更灯火五更鸡, -- 1/4"
echo " 正是男儿读书时。 -- 2/4"
echo " 黑发不知勤学早, -- 3/4"
echo " 白首方悔读书迟。 -- 4/4"
echo
echo
3.4 ~ 脚本一键查询三台zk。
vim /export/onekey/zk/queryzk.sh
cat /export/onekey/zk/slave | while read line
do
{
ssh $line "source /etc/profile;sh ${ZK_HOME}/bin/zkServer.sh status"
echo " 『" $line "』 "
}&
wait
done
echo
echo "-----------------------------------"
echo
echo " 孩儿立志出乡关, -- 1/4"
echo " 学不成名誓不还。 -- 2/4"
echo " 埋骨何须桑梓地, -- 3/4"
echo " 人生无处不青山。 -- 4/4"
echo
echo
3.5 ~ 脚本一键停止三台zk。
vim /export/onekey/zk/stopzk.sh
chmod +x startzk.sh stopzk.sh queryzk.sh
cat /export/onekey/zk/slave | while read line
do
{
ssh $line "source /etc/profile;nohup sh ${ZK_HOME}/bin/zkServer.sh stop >/dev/null 2>&1 &"
echo " 『" $line "』 "
}&
wait
done
echo
echo "-----------------------------------"
echo
echo " 花开不并百花丛, -- 1/4"
echo " 独立疏篱趣未穷。 -- 2/4"
echo " 宁可枝头抱香死, -- 3/4"
echo " 何曾吹落北风中。 -- 4/4"
echo
echo
Frankly,my dear,I don’t give a damn.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ 至此,shell编程之一键安装三台Zookeeper完成。
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
※ 世间诱惑何其多,坚定始终不动摇。
Belady现象可能会出现在以下哪个算法中?
…
A、预防死锁算法
B、磁盘调度算法
C、内存管理算法
D、内存换页算法
E、进程调度算法
…
D
Frankly,my dear,I don’t give a damn.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。
我知道我的不足,我也知道你的挑剔,但我就是我,不一样的烟火,谢谢你的指指点点,造就了我的点点滴滴:)!
Frankly,my dear,I don’t give a damn.
上一篇: 基于ICMP的反弹式木马研究与实现
下一篇: 速读原著-TCP/IP(TCP的半关闭)