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

简介: 笔记

第一步:准备文件


(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日志文件


相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1240 87
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
403 16
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
1000 9
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
2613 29
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
1248 20
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
3600 26
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
602 5
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
724 10
|
消息中间件 运维 Java
搭建Zookeeper、Kafka集群
本文详细介绍了Zookeeper和Kafka集群的搭建过程,涵盖系统环境配置、IP设置、主机名设定、防火墙与Selinux关闭、JDK安装等基础步骤。随后深入讲解了Zookeeper集群的安装与配置,包括数据目录创建、节点信息设置、SASL认证配置及服务启动管理。接着描述了Kafka集群的安装,涉及配置文件修改、安全认证设置、生产消费认证以及服务启停操作。最后通过创建Topic、发送与查看消息等测试验证集群功能。全网可搜《小陈运维》获取更多信息。
1215 1