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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: #### 三台机器安装zookeeper集群**注意事项:安装前三台机器一定要保证时钟同步**说明:* 我这里是有3台服务器,分别hostname为node01、node02、node03。* 三台机器已经配置好了ssh。* zookeeper使用的是cdh5的zookeeper包,没有使用原生zookeeper项目的包。* 三台机器已经进行了时钟同步。

三台机器安装zookeeper集群

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

说明:

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

下载zookeeeper的压缩包,我下载的版本为: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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
1月前
|
存储 负载均衡 监控
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
这篇文章是关于Apache Dubbo框架与Zookeeper的关系,以及如何下载、安装和启动Zookeeper的教程,包括解决启动过程中可能遇到的报错问题。
51 3
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
|
14天前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
18天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
35 1
|
2月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
424 2
|
1月前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
23 0
|
2月前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
运维 Shell 应用服务中间件