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

简介: #### 三台机器安装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
目录
相关文章
|
5月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
374 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
5月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
627 0
|
7月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
366 5
|
7月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
Linux Shell
Linux系统诊断小技巧(14):启停问题之如何修复initrd损坏
initrd丢失、损坏或者没有正常工作,是导致系统启动失败比较常见的原因。 如何解决这类问题呢?重新做initrd即可。那么,具体怎么操作呢?我们讨论下。这里我们主要是围绕阿里云的实例问题展开。
3103 0
【云吞铺子之专家来了】linux系统启停问题之如何修复initrd损坏
《专家来了》第四季第2期如期而至!本期我们继续跟随阿里云高级技术专家直寻学习如何排查、诊断和解决Linux系统问题,本期主题【linux系统启停问题之如何修复initrd损坏】,技术干货不可错过哦!
|
6月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
728 1
二、Linux文本处理与文件操作核心命令
|
6月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
431 137
|
6月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1109 58