linux安装zookeeper集群,包括集群启停脚本

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: #### 三台机器安装zookeeper集群**注意事项:安装前三台机器一定要保证时钟同步**说明:* 我这里是有3台服务器,分别hostname为node01、node02、node03。* 三台机器已经配置好了ssh。* zookeeper使用的是cdh5的zookeeper包,没有使用原生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=1 ; i <= 3 ; i = $i + 1 )) ; do
    echo ============= node0$i $start_params =============
    ssh node0$i "source /etc/profile;$start_params"
done


};;
"stop"){
stop_params="zkServer.sh $1"
for (( i=1 ; i <= 3 ; i = $i + 1 )) ; do
    echo ============= node0$i $stop_params =============
    ssh node0$i "source /etc/profile;$stop_params"
done


};;
esac

修改文件权限,使其成为可执行文件

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

启动zookeeper集群

zkshell.sh start

在这里插入图片描述
关闭zookeeper集群

zkshell.sh stop
相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
5天前
|
NoSQL Linux 网络安全
Linux安装Redis(详细教程)
Linux安装Redis(详细教程)
36 2
|
5天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示&quot;Hello World!&quot;。另可参考LuaDist官方推荐方式安装。
|
5天前
|
弹性计算 分布式计算 Hadoop
Linux(阿里云)安装Hadoop(详细教程+避坑)
Linux(阿里云)安装Hadoop(详细教程+避坑)
27 3
|
5天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
18 0
|
5天前
|
Ubuntu Linux Shell
minio服务端以Linux服务形式安装
minio服务端以Linux服务形式安装
253 6
|
5天前
|
关系型数据库 MySQL Linux
Linux下安装MySQL
Linux下安装MySQL
22 0
|
5天前
|
安全 Linux 网络安全
【操作系统】实验一 Linux操作系统安装
【操作系统】实验一 Linux操作系统安装
10 3
|
5天前
|
Oracle 关系型数据库 Linux
SuSE linux server 11通过SAP来安装oracle11g
SuSE linux server 11通过SAP来安装oracle11g
10 0
|
5天前
|
Linux C语言
suse linux 11 安装GCC开发环境
suse linux 11 安装GCC开发环境
11 0
|
5天前
|
关系型数据库 MySQL Linux
在Linux系统上实现高效安装与部署环境的全方位指南
在Linux系统上实现高效安装与部署环境的全方位指南