欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-30 18:20:04
...
初学耗时: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



B03 - 999、不学点Linux你怎么搞大数据?


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





一、准备工作

  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/ 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
B03 - 056、shell编程之一键安装三台Zookeeper



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

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


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

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



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