zookeeper服务搭建

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.rhkb.cn/news/412422.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode面试经典150题-82.删除排序链表中的重复元素II前序-83.删除排序链表中的重复元素

解法都在代码里,不懂就留言或者私信,比第一题稍微难点 题目比较简单,真实面试中82和83都出现过,83偏多,先有个基础,马上分析82 /*** Definition for singly-linked list.* public class ListNode {* …

视频智能分析厨帽检测算法,厨帽检测算法全套源码、样本和模型展示

厨帽检测算法是一种基于人工智能和计算机视觉技术的系统,旨在自动检测厨师是否佩戴了符合规范的厨帽。该算法通过分析视频流或图像数据,实时识别厨帽的佩戴情况,从而帮助餐饮企业确保员工的着装符合卫生标准。这一技术广泛应用于餐馆、厨房、…

19050 牛牛打气球

### 思路 1. **输入读取**: - 读取 n,a 和 b。 - 读取每个气球的坚韧度。 2. **计算最少释放次数**: - 使用二分查找来确定最少的释放次数。 - 每次释放武器时,选择一个气球多承受 a 点伤害,其他气球承受…

春秋云镜initial

场景介绍 场景地址:仿真场景-专业徽章 (ichunqiu.com) 靶标介绍: Initial是一套难度为简单的靶场环境,完成该挑战可以帮助玩家初步认识内网渗透的简单流程。该靶场只有一个flag,各部分位于不同的机器上。 网络拓扑:&…

WebSocket通信学习笔记

1 简介 WebSocket是一种全双工通信协议,它允许客户端和服务器之间建立持久化的双向连接,从而在不频繁创建HTTP请求的情况下进行实时数据传输。与传统的HTTP协议相比,WebSocket更适合需要实时数据更新的应用场景,如聊天应用、实时…

【Kafka】Windows下安装Kafka(全面)

目录 1.前提条件 2.下载 3.安装 4.环境变量配置 5.验证 1.前提条件 1.先安装zookeeper: 【Zookeeper】Windows下安装Zookeeper(全面)-CSDN博客https://blog.csdn.net/weixin_57259781/article/details/141679454 2.还需要安装scala: …

虚幻5|技能栏UI优化(2)——优化技能UI并实现技能栏的拖拽操作

这篇文章里,前情提要,文章里的序列变量应命名为序号,我命名错了,虽然不差,但为了后面更好的理解 一.刷新技能栏,用于刷新上一章文章的初始化技能栏 1.打开技能栏格子,打开图表,添加…

【数学建模学习手册】python基本入门使用

本专栏内容为:数学建模原理 记录学习数学建模 💓博主csdn个人主页:小小unicorn ⏩专栏分类:数学建模 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学…

Cycle inside Runner; building could produce unreliable results.

报错 Showing Recent Messages Cycle inside Runner; building could produce unreliable results. Cycle details: → Target Runner ○ That command depends on command in Target Runner: script phase “Thin Binary” ○ Target Runner has process command with outpu…

Oracle taf高级特性使用

0、taf介绍 TAF是Oracle数据库提供的一个高级特性,旨在实现应用程序在数据库连接中断时的透明重连。它允许应用程序在数据库故障发生时,无需修改代码或手动干预,就能自动连接到新的数据库实例,保证了事务的连续性和应用的高可用性…

Python编码—掌握Python与Kubernetes:构建高效微服务架构

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

开源搜索引擎之Solr

Apache Solr 是一个开源的企业级搜索平台,构建在 Apache Lucene 之上,提供了强大的全文搜索、实时索引和分布式搜索能力。Solr 被广泛用于构建高性能的搜索应用程序,支持从简单的搜索引擎到复杂的数据分析平台等多种场景。以下是对 Apache So…

Linux学习笔记(4)----Debian压力测试方法

使用命令行终端压力测试需要两个实用工具:s-tui和stress sudo apt install s-tui stress 安装完成后,在终端中启动 s-tui实用工具: s-tui 执行后如下图: 你可以使用鼠标或键盘箭头键浏览菜单,然后点击“压力选项(Str…

类在JVM中的工作原理

文章目录 引言I 类在JVM中的工作原理class文件的结构类的生命周期II JVM运行时数据区堆栈的意义栈帧内部结构堆III 在JIT中比较常见的优化手段引言 类是一种抽象概念,它是一种模板,用来定义一类事物的属性和行为。类是面向对象编程的基础,它是一种抽象的概念,代表一类事物…

科技赋能 重塑未来医疗丨共谋医疗信息化新方向,2024东北医院信息网络大会圆满落幕!

近年来,随着我国医疗行业信息化的飞跃式发展,医疗信息化已经成为推动医疗行业高质量发展的重要力量之一。自2021年国家卫健委、中医药管理局联合印发《公立医院高质量发展促进行动(2021-2025年)》以来,各医疗机构将建设…

Ant Design Vue中Modal.confirm无法自动关闭

温馨tips:着急看解决方法可跳过碎碎念~ 前两天经理扔给我一个问题:“这个弹窗怎么关不上了?” 我怀着无所谓的心态:小意思啦,5分钟之内解决完~ …当然flag是不能随便乱立的 拉下来项目(原神启动(不是&…

商家推广怎么利用C#发送视频短信

视频短信,这一融合了视频、音频与文本的创新通信方式,不仅革新了传统短信的单一形式,更以其独特的魅力带领着移动通信的新风尚。它以移动视频格式为载体,实现了信息传输的多元化,为用户带来不一样的通信体验。 支持免费…

layui栅格布局设置列间距不起作用

layui栅格布局支持设置列间距,只需使用预置类layui-col-space*即可。不过实际使用时却始终看不到效果。   根据layui官网文档的说明,只需要在行所在div元素的class属性中增加layui-col-space*即可出现列间距。如下图所示:   但是实际使用…

2024 年顶级 Flutter UI 框架和库

根据 2022 年 StackOverflow 调查显示,Flutter 是最受欢迎的跨平台工具之一。自发布以来的 16 个月内,已有超过 200 万开发者采用了 Flutter。在本博客中,我们将浏览 GitHub 上可用的顶级 Flutter 存储库。除了每个存储库之外,还提…

Navicat Lite导入为SQL,然后到服务器的SQLServer Management 里执行时,报各种错误,是文件的Encoding不一致导致的解决

1、好多时候,本地的操作系统与服务器的操作系统不一致,有的时候也是历史原因,我们不得不用老旧的版本的数据库,比如 SQLServer 2008R2的数据库系统。 2、然后本地因为操作系统是win11的,导致这个SQLServer 2008R2根本…