zookeeper服务搭建

news/2024/9/13 20:48:41 标签: zookeeper, 分布式, 云原生, java, 大数据, 数据仓库

zookeeper服务搭建

  • 前言
  • 1. 前置准备
  • 2. 下载和解压Zookeeper
  • 3. 配置环境变量
  • 4. 编辑Zookeeper配置文件
  • 5. 配置Zookeeper节点ID
  • 6. 配置好的Zookeeper分发到其他节点
  • 7. 启动Zookeeper集群
  • 参考博客

前言

Zookeeper是一个开源的分布式协调服务,主要用于解决分布式应用中的一致性问题。它提供了一个高可用的、具有严格顺序访问特性的分布式数据管理系统。本文将介绍如何搭建Zookeeper服务。


1. 前置准备

  • 安装JDK
  • 配置Hadoop集群

因为之前写过,这里就不重复了,如果没有配置这些可以先配置一下

2. 下载和解压Zookeeper

在Zookeeper官网上下载Zookeeper的安装包,我这里用的是zookeeper-3.5.7
如果觉得官网慢可以在我的百度网盘中下载
链接:https://pan.baidu.com/s/1bh6vctylCqFgvWaa-D6jXQ
提取码:55k9

wget https://downloads.apache.org/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

在这里插入图片描述

3. 配置环境变量

编辑环境配置文件

vim /etc/profile.d/my_env.sh

加入下面这些配置

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_333
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin

#解决hadoop无法启动问题
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

使配置文件生效

source /etc/profile.d/my_env.sh

4. 编辑Zookeeper配置文件

拷贝zookeeper的conf目录下zoo_sample.cfg文件,重命名,编辑

cd /opt/module/zookeeper-3.5.7/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

zoo.cfg文件中,设置以下必要的配置:

  • dataDir=/opt/module/zookeeper-3.5.7/data/zData:指定Zookeeper数据目录。
  • server.1=hadoop101:2888:3888:定义Zookeeper节点1的主机名、数据端口和选举端口。
  • server.2=hadoop102:2888:3888:定义Zookeeper节点2的主机名、数据端口和选举端口。
  • server.3=hadoop103:2888:3888:定义Zookeeper节点3的主机名、数据端口和选举端口。

具体配置如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/module/zookeeper-3.5.7/data/zData
# 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
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888

5. 配置Zookeeper节点ID

在每个Zookeeper节点的数据目录(/opt/module/zookeeper-3.5.7/data/zData)下创建一个名为myid的文件,其中包含该节点的ID。例如,节点1的myid文件中包含1,节点2的myid文件中包含2,以此类推。

mkdir -p /opt/module/zookeeper-3.5.7/data/zData
vim /opt/module/zookeeper-3.5.7/data/zData/myid

输入1即可,另外两台节点分别为2、3

在这里插入图片描述

6. 配置好的Zookeeper分发到其他节点

将配置好的zookeeper和环境文件分发到其他服务器

cd /opt/module/
xsync zookeeper-3.5.7/
xsync /etc/profile.d/my_env.sh 
# 记得刷新其他服务器环境
source /etc/profile.d/my_env.sh

分发完后记得改另外两台服务器的/opt/module/zookeeper-3.5.7/data/zData/myid文件

7. 启动Zookeeper集群

在每个节点上启动Zookeeper服务(记得关闭防火墙):

cd /opt/module/zookeeper-3.5.7/bin
./zkServer.sh start

在这里插入图片描述

您可以使用以下命令检查Zookeeper集群的状态:

./zkServer.sh status

如果一切正常,您将看到输出类似于以下内容:

Mode: follower
Leader: 10.0.0.1:3888

在这里插入图片描述

请注意,节点1将成为初始的Leader节点。

现在,您已经成功搭建了Zookeeper集群。您可以通过连接到任何一个Zookeeper节点的数据端口(默认为2181)来使用Zookeeper。

参考博客

  • (超详细)基于Zookeeper的Hadoop HA集群的搭建

http://www.niftyadmin.cn/n/5622326.html

相关文章

婚恋交友系统该如何制作成品系统?

制作婚恋交友系统的成品系统是一个综合性的过程,涉及多个关键步骤和技术要点。以下是一个详细的制作流程: 1. 需求分析 市场调研:首先需要对婚恋交友市场进行深入调研,了解目标用户群体的需求、喜好、习惯以及市场痛点。用户画像…

QT error: undefined reference to `vtable for Net‘

报错 C:\Users\Administrator\Desktop\VideoHill\GikISearch\net.cpp:4: error: undefined reference to vtable for Net 以下是两个可能错误原因 1&#xff0c;未定义Q_OBJECT 宏 在头文件中加上 加上#include <QObject>&#xff0c; 改写继承QObject 和定义宏 …

小资人群“轻社交”需求与创新营销模式——以“2+1 链动模式小程序、AI 智能名片、S2B2C 商城系统”为例

摘要&#xff1a;本文深入分析小资人群在“轻社交”场景下的特殊需求&#xff0c;探讨传统餐饮服务在满足这一需求方面的不足。通过引入星巴克卖酒的案例&#xff0c;阐述传统餐饮品牌对新兴生活方式服务功能的拓展。同时&#xff0c;结合关键词“21 链动模式小程序、AI 智能名…

HTML 全解析:从基础到实战

一、简介 HTML&#xff08;HyperText Markup Language&#xff09;即超文本标记语言&#xff0c;是用于创建网页的标准标记语言。它通过各种标签来定义网页的结构和内容&#xff0c;使得浏览器能够正确地显示网页。HTML 文档由 HTML 元素组成&#xff0c;这些元素通过标签来表…

网络工程师学习笔记——广域网通信

广域网&#xff08;WAN&#xff09; 公共交换电话网 &#xff08;PSTN&#xff09;&#xff08;为了语音通话而建立的&#xff09; 基于电路交换 上20世纪60年代开始用于数据运输 3G基于语音传输的&#xff0c;4G是用于进行数据传输的 电话系统是一个高度冗余的分级网络&am…

CICD持续集成持续交付部署

一、CICD概念 1、什么是CI/CD&#xff1f; 通俗来说就是启动一个服务&#xff0c;能够监听代码变化&#xff0c;然后自动执行构建、测试、打包、发布等流程&#xff1b; 2、CI 持续集成 指在开发人员频繁地提交新代码&#xff0c;都会自动执行构建、测试。根据测试结果&…

Pytorch如何指定device(cuda or cpu)例子解析

代码示例&#xff1a; 在PyTorch中&#xff0c;指定设备&#xff08;CPU或CUDA&#xff09;是一个非常重要的步骤&#xff0c;特别是当你在进行深度学习训练时。以下是一些指定设备的详细例子&#xff1a; 检查CUDA是否可用: 首先&#xff0c;你需要检查你的机器是否支持CUDA&…

WEB应用服务器 -- Tomcat详解及案例实现

一、Web前端三大核心技术 1.1 HTML HTML&#xff08;HyperText Markup Language&#xff09;超文本标记语言&#xff0c;它不同于一般的编程语言。超文本即超出纯文本的范畴&#xff0c;例如&#xff1a;描述文本颜色、大小、字体等信息&#xff0c;或使用图片、音频、视频等…