Centos下ZooKeeper安装部署配置(集群模式)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 笔记

第一步:准备文件


(1)上传文件

zookeeper压缩文件上传至node1中,Mac系统上传方式可以直接通过终端scp命令,Windows系统可以通过其他的上传工具。上传方式为:

scp /自己电脑本机路径/zookeeper-3.4.13.tar.gz caizhengjie@10.211.55.59:/opt/Hadoop

(2)解压文件

上传成功之后需要对文件赋予权限

chmod u+x zookeeper-3.4.13.tar.gz

解压文件:

tar -zxvf zookeeper-3.4.13.tar.gz

创建软链接:

ln -s zookeeper-3.4.13 zookeeper


第二步:修改配置文件


(1)重命名文件

在安装zookeeper的时候我们要去修改zookeeper预装是conf目录下面的zoo_sample.cfg这个文件,首先我们要做的事就是重命名这个文件。在目录/opt/Hadoop/zookeeper/conf下,将zoo_sample.cfg改名为zoo.cfg文件,这一步非常重要,不修改的话会出现下面的问题:

ZooKeeper JMX enabled by default
Using config: /home/caizhengjie/zookeeper/bin/../conf/zoo.cfg
grep: /home/caizhengjie/zookeeper/bin/../conf/zoo.cfg: 没有那个文件或目录
mkdir: 无法创建目录"": 没有那个文件或目录
Starting zookeeper ... /home/caizhengjie/zookeeper/bin/zkServer.sh:行149: /zookeeper_server.pid: 权限不够
FAILED TO WRITE PID

这是第一个坑!

则我们需要修改文件名:

mv zoo_sample.cfg  zoo.cfg


(2)创建tmp文件夹

cd /opt/Hadoop/zookeeper/
mkdir tmp
cd tmp
mkdir data

(3)创建myid文件

cd /opt/Hadoop/zookeeper/tmp/data
vim myid

第一台主机node1添加内容:1

注意:一定要在刚才创建的data文件夹下在创建myid

如果直接在tmp文件夹下直接创建myid文件,查看zookeeper.out日志文件会报错

Caused by: java.lang.IllegalArgumentException: /opt/Hadoop/zookeeper/tmp/data/myid file is missing

这是第二个坑!


(4)修改配置文件

修改zookeeper/conf下zoo.cfg文件

vim zoo.cfg
#The number of milliseconds of each tick
tickTime=2000
#The number of ticks that the initial 
#synchronization phase can take
initLimit=5
#The number of ticks that can pass between 
#sending a request and getting an acknowledgement
syncLimit=2
#the directory where the snapshot is stored.
#do not use /tmp for storage, /tmp here is just 
#example sakes.
#**这个地方填写自己的路径**
dataDir=/opt/Hadoop/zookeeper/tmp/data
#the port at which the clients will connect
clientPort=2181
#the maximum number of client connections.
#increase this if you need to handle more clients
#maxClientCnxns=60 
#服务器名称与地址:集群信息(服务器编号、服务器编号、服务器地址、LF通信端口、选举端口)
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888


第三步:配置环境变量


配置环境变量:

vim ~/.bashrc

添加下面内容:

export ZOOKEEPER_HOME=/opt/Hadoop/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

这里需要根据自己安装的路径来填写

使之生效:

source ~/.bashrc


第四步:分发文件


(1)分发文件

在node1配置好文件之后,需要将文件分发到node2,node3机器下面。

scp -r zookeeper zookeeper-3.4.13 zookeeper-3.4.13.tar.gz caizhengjie@node2:/opt/Hadoop/
scp -r zookeeper zookeeper-3.4.13 zookeeper-3.4.13.tar.gz caizhengjie@node3:/opt/Hadoop/

(2)2、3机配置环境变量

参考node1的配置方法


(3)修改myid文件

前面在/opt/Hadoop/zookeeper/tmp/data/myid文件中,第一台主机添加内容:1

则在node2和node3中分别按下面修改

第二台主机添加内容:2

第三台主机添加内容:3


第五步:启动与查看运行状态


按照上面的步骤全部配置完成之后,可以启动zookeeper

启动命令(三台机同时启动):

zkServer.sh start

关闭命令:

zkServer.sh stop

出现下面的情况则安装成功

ZooKeeper JMX enabled by default
Using config: /opt/Hadoop/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

检验jps进程

4616 Jps
2041 QuorumPeerMain

查看运行状态(三台机同时)

zkServer.sh status

node1

ZooKeeper JMX enabled by default
Using config: /opt/Hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: follower

node2

ZooKeeper JMX enabled by default
Using config: /opt/Hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: leader

node3

ZooKeeper JMX enabled by default
Using config: /opt/Hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: follower

会发现其中有一台机器是leader,其他两台机器是follower

到这里zookeeper集群模式就安装成功了!

总结:如果运行出错,多看zookeeper.out日志文件


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
9天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
45 2
|
30天前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
64 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
23天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
73 1
|
25天前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
28 1
|
30天前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
61 1
|
30天前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
36 1
|
26天前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
158 0
|
30天前
|
Linux
CentOS-Stream-9配置chfs
通过上述步骤,您就可以在CentOS Stream 9上配置并运行CHFS,为用户提供基于HTTP的文件分享服务。请注意,实际操作时应根据CHFS的具体版本和文档进行适当调整。
46 0
|
Linux 网络安全 开发工具
centos7部署l2tp ipsec
1、查询操作系统版本 #cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 2、查询系统是否支持ppp,返回yes代表通过。 #modprobe ppp-compress-18 && echo yes 3、查询系统是否开启了tun,返回File descriptor in bad state代表通过。
7996 0
|
28天前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
100 64