B03 - 009、shell编程之一键安装三台Zookeeper

版权声明:本文为博主原创文章,未经允许不得转载。 https://blog.csdn.net/weixin_42464054/article/details/91488546

0、本章学习目录大纲 - shell编程

初学耗时: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。



ギ 舒适区ゾ || ♂ 累觉无爱 ♀





一、准备工作

  1.1 ~ 脚本目的:一键安装三台Zookeeper。

  1.2 ~ 确定第一台虚拟机的Zookeeper是否上传。

cd /export/softwares

  1.2 ~ 基本环境是否部署:如免密登陆等。

  B03 - 008、shell编程之一键部署大数据基本环境



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/ root@zrk691102:/export/servers/

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

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

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

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

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

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

# 13,修改 zrk691103 的 myid 的值
ssh root@zrk691103 "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
alt



Frankly,my dear,I don’t give a damn.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -


注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。

我知道我的不足,我也知道你的挑剔,但我就是我,不一样的烟火,谢谢你的指指点点,造就了我的点点滴滴:)!



Frankly,my dear,I don’t give a damn.


猜你喜欢

转载自blog.csdn.net/weixin_42464054/article/details/91488546