热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux安装zookeeper集群保姆教程,包括集群启停脚本

篇首语:本文由编程笔记#小编为大家整理,主要介绍了linux安装zookeeper集群保姆教程,包括集群启停脚本相关的知识,希望对你有一定的参考价值。三台机器安

篇首语:本文由编程笔记#小编为大家整理,主要介绍了linux安装zookeeper集群保姆教程,包括集群启停脚本相关的知识,希望对你有一定的参考价值。



三台机器安装zookeeper集群

注意事项:安装前三台机器一定要保证时钟同步

说明:


  • 我这里是有3台服务器,分别hostname为node01、node02、node03。
  • 三台机器已经配置好了ssh。
  • zookeeper使用的是cdh5的zookeeper包,没有使用原生zookeeper项目的包。
  • 三台机器已经进行了时钟同步。

下载zookeeeper的压缩包,下载网址如下:http://archive.cloudera.com/cdh5/cdh/5/
我下载的版本为:zookeeper-3.4.5-cdh5.14.2.tar.gz

将压缩包上传到的node01的/book/soft路径下


1、解压

解压node01执行以下命令解压zookeeper的压缩包到node01服务器的/book/install路径下去,然后准备进行安装

cd /book/soft
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /book/install/

2、修改配置文件

第一台机器依次执行下面的修改配置文件

# 到对应的配置路径下
cd /book/install/zookeeper-3.4.5-cdh5.14.2/conf
# 创建一个存储zookeeper数据的目录
mkdir -p /book/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
# 拷贝一份配置文件
cp zoo_sample.cfg zoo.cfg
# 打开要修改的配置文件
vim zoo.cfg

修改的内容如下:

dataDir=/book/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888

解释:



server.A=B:C:D, A代表服务器的编号,与下面的对应下面的myid, B是集群的各个IP地址,C:D 是端口配置



3、添加myid配置

在第一台机器的/book/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/路径下创建一个文件,文件名为myid ,文件内容为1,执行如下命令即可

echo 1 > /book/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid

4、安装包分发并修改myid的值

安装包分发到其他机器,第一台机器上面执行以下两个命令,不过前提条件是3台服务器已经配置好了ssh

scp -r /book/install/zookeeper-3.4.5-cdh5.14.2/ node02:/book/install/
scp -r /book/install/zookeeper-3.4.5-cdh5.14.2/ node03:/book/install/

第二台机器上修改myid的值为2,执行以下命令即可

echo 2 > /book/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid

第三台机器上修改myid的值为3,执行以下命令即可

echo 3 > /book/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid

5、配置环境变量

三台节点都配置/etc/profile文件

# zookeeper
export ZK_HOME=/book/install/zookeeper-3.4.5-cdh5.14.2
export PATH=$PATH:$ZK_HOME/bin

三台节点执行以下命令,让新添环境变量生效

source /etc/profile

6、三台机器启动zookeeper服务

三台机器执行下面命令

/book/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start

查看启动状态

/book/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status

使用nohub开启,做了个小优化
zookeeper服务开启使用nohub,在每次开启之后会在开启服务的路径生成日志文件zookeeper.out, 所以我们在三台机器下的zookeeper的安装目录下创建一个logs文件

mkdir /book/install/zookeeper-3.4.5-cdh5.14.2/logs

然后启动时切换到此路径下,然后如下命令启动服务:

# 开启
cd /book/install/zookeeper-3.4.5-cdh5.14.2/logs && /book/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start

7、关闭zookeeper

三个节点都运行下命命令

zkServer.sh stop

8、使用脚本启停zookeeper

创建脚本

vim /home/book/bin/zkshell.sh

添加内容,注意内容修改为你自己对应安装的路径

#!/bin/bash
case $1 in
"start" )
start_params="cd /book/install/zookeeper-3.4.5-cdh5.14.2/logs && zkServer.sh $1"
for (( i&#61;1 ; i <&#61; 3 ; i &#61; $i &#43; 1 )) ; do
echo &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; node0$i $start_params &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
ssh node0$i "source /etc/profile;$start_params"
done
;;
"stop")
stop_params&#61;"zkServer.sh $1"
for (( i&#61;1 ; i <&#61; 3 ; i &#61; $i &#43; 1 )) ; do
echo &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; node0$i $stop_params &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
ssh node0$i "source /etc/profile;$stop_params"
done
;;
esac

修改文件权限&#xff0c;使其成为可执行文件

chmod 777 /home/book/bin/zkshell.sh

启动zookeeper集群

zkshell.sh start


关闭zookeeper集群

zkshell.sh stop

推荐阅读
author-avatar
mobiledu2502869077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有