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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 笔记

第一步:准备文件


(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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
3天前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
26 4
|
3天前
|
存储 安全 网络协议
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
13 0
|
4天前
|
Linux
CentOS 7 配置yum阿里源 (三步即可)
CentOS 7 配置yum阿里源 (三步即可)
|
15天前
|
网络协议 Java 应用服务中间件
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
11 0
|
17天前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
17天前
|
Linux 网络安全 开发工具
Centos7 sendmail服务安装与配置
该文本描述了在Linux系统中设置邮件服务的步骤。首先,启用httpd的邮件发送功能,然后安装sendmail、sendmail-cf和dovecot。接着配置/sendmail.mc,设定IP和邮件域名。在dovecot配置文件中启用imap、pop3和lmtp协议,取消明文认证限制,设定mail_location,并开启SSL。创建用户mail3和mail4,给予相应权限。停止postfix服务,编辑访问控制、提交配置、本地主机名等文件。最后,重置sendmail、dovecot和saslauthd服务。
40 0
|
17天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置PXE服务
PXE是Intel开发的预启动执行环境,允许工作站通过网络从远程服务器启动操作系统。它依赖DHCP分配IP,DNS服务分配主机名,TFTP提供引导程序,HTTP/FTP/NFS提供安装源。要部署PXE服务器,需关闭selinux和防火墙,安装dhcpd、httpd、tftp、xinetd及相关服务,配置引导文件和Centos7安装源。最后,通过syslinux安装引导文件,并创建pxelinux.cfg/default配置文件来定义启动参数。
54 0
|
17天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
16 0
|
17天前
|
网络协议 Linux 网络安全
Centos7 配置DNS服务
该教程指导配置DNS服务器:首先通过yum安装bind和cach件,然后修改IP设置。接着,编辑/etc/named.conf,将第13行和21行的参数改为"any"。在/etc/named.rfc1912中更新正向和反向域名。创建正向解析文件/var/named.localhost和反向解析文件/var/named.loopback,按指定格式添加解析记录。最后,重启服务,确保防火墙关闭,通过nslookup检查DNS配置效果。
24 1
|
28天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
123 2

热门文章

最新文章