基于 Zookeeper 部署 Kafka 集群

news2025/5/19 17:35:09

文章目录

  • 1、前期准备
  • 2、安装 JDK 8
  • 3、搭建 Zookeeper 集群
    • 3.1、下载
    • 3.2、调整配置
    • 3.3、标记节点
    • 3.4、启动集群
  • 4、搭建 Kafka 集群
    • 4.1、下载
    • 4.2、调整配置
    • 4.3、启动集群

1、前期准备

本次集群搭建使用:3 Zookeeper + 3 Kafka,所以我在阿里云租了3台ECS用于本次集群搭建,服务器相关配置如下:

  • 操作系统:Ubuntu 22.04
  • 配置:2核4G
  • 硬盘:40G
  • Zookeeper 版本:3.4.14
  • Kafka 版本:2.2.0

在这里插入图片描述
本次部署资源分配如下:
在这里插入图片描述

2、安装 JDK 8

在三台服务器上,依次执行下述命令安装好 JDK 8,命令如下:

# 更新库
sudo apt update

# 安装 jdk8
sudo apt install openjdk-8-jdk

# 配置路径
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

# 保存配置
source ~/.bashrc

3、搭建 Zookeeper 集群

3.1、下载

首先在三台服务器上,依次执行下述命令,先安装好 Zookeeper 3.4.14,命令如下:

# 创建 Zookeeper 安装目录
mkdir /opt/zookeeper
cd /opt/zookeeper

# 下载 Zookeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

然后3台服务器上依次进行解压缩操作:

# 解压 Zookeeper
tar -zxvf zookeeper-3.4.14.tar.gz

3.2、调整配置

首先,依次在三台服务器创建目录:

# 存放数据
mkdir /opt/zookeeper/data
# 存放日志
mkdir /opt/zookeeper/log

接着,依次在三台服务器上,将 Zookeeper 文件复制一份,改名为zoo.cfg

cd /opt/zookeeper/zookeeper-3.4.14/conf/
cp zoo_sample.cfg zoo.cfg

接着调整三台服务器上的 Zookeeper 配置文件zoo.cfg,配置内容一模一样:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/log
clientPort=2181

# Zookeeper集群通信配置
# server.数字:其中数字是/opt/zookeeper/data/myid中的数字
server.1=172.16.0.218:2288:3388
server.2=172.16.0.219:2288:3388
server.3=172.16.0.220:2288:3388

3.3、标记节点

在三台服务器上,依次执行下述命令写入节点标识,Zookeeper 集群通过 myid 文件识别集群节点,并通过zoo_sample.cfg配置的节点通信端口选举端口来进行节点通信,选举出 leader 节点:

# 服务器1上执行
echo "1" > /opt/zookeeper/data/myid

# 服务器2上执行
echo "2" > /opt/zookeeper/data/myid

# 服务器3上执行
echo "3" > /opt/zookeeper/data/myid

3.4、启动集群

在三台服务器上,依次启动 Zookeeper 进程:

/opt/zookeeper/zookeeper-3.4.14/bin/zkServer.sh start

启动完毕后,通过jps命令查看一下 Zookeeper 进程:
在这里插入图片描述
通过/opt/zookeeper/zookeeper-3.4.14/bin/zkServer.sh status命令查看当前Zookeeper节点角色:
在这里插入图片描述
在这里插入图片描述

4、搭建 Kafka 集群

4.1、下载

在三台服务器上都安装 Kafka 2.2.0

# 创建 Kafka 安装目录
mkdir /opt/kafka
cd /opt/kafka

# 下载 Kafka
wget wget https://archive.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz

然后将压缩包进行解压:

# 解压 Kafka
tar -xzf kafka_2.12-2.2.0.tgz

4.2、调整配置

首先,依次在三台服务器创建目录:

# 存放日志
mkdir /opt/kafka/log

接着,修改三台 Kafka 的配置文件server.properties,内容如下:

# 服务器1
broker.id=0
listeners=PLAINTEXT://172.16.0.218:9092
log.dirs=/opt/kafka/log
zookeeper.connect=172.16.0.218:2181,172.16.0.219:2181,172.16.0.220:2181

# 服务器2
broker.id=1
listeners=PLAINTEXT://172.16.0.219:9092
log.dirs=/opt/kafka/log
zookeeper.connect=172.16.0.218:2181,172.16.0.219:2181,172.16.0.220:2181

# 服务器3
broker.id=2
listeners=PLAINTEXT://172.16.0.220:9092
log.dirs=/opt/kafka/log
zookeeper.connect=172.16.0.218:2181,172.16.0.219:2181,172.16.0.220:2181

4.3、启动集群

三台服务器上,依次执行下述命令,启动Kafka集群:

cd /opt/kafka/kafka_2.12-2.2.0
bin/kafka-server-start.sh config/server.properties

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2379436.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDE/IoT/搭建物联网(LiteOS)集成开发环境,基于 LiteOS Studio + GCC + JLink

文章目录 概述LiteOS Studio不推荐?安装和使用手册呢?HCIP实验的源码呢? 软件和依赖安装软件下载软件安装插件安装依赖工具-方案2依赖工具-方案1 工程配置打开或新建工程板卡配置组件配置编译器配置-gcc工具链编译器配置-Makefile脚本其他配置编译完成 …

算法加训之最短路 上(dijkstra算法)

目录 P4779 【模板】单源最短路径(标准版)(洛谷) 思路 743. 网络延迟时间(力扣) 思路 1514.概率最大路径(力扣) 思路 1631.最小体力消耗路径 思路 1976. 到达目的地的方案数 …

QT+Opencv 卡尺工具找直线

QTOpencv 卡尺工具找直线 自己将别的项目中,单独整理出来的。实现了一个找直线的工具类。 功能如下:1.添加图片 2.添加卡尺工具 3.鼠标可任意拖动图片和卡尺工具 4.可调整卡尺参数和直线拟合参数 5.程序中包含了接口函数,其他cpp文件传入相…

GraphPad Prism简介、安装与工作界面

《2025GraphPad Prism操作教程书籍 GraphPad Prism图表可视化与统计数据分析视频教学版GraphPad Prism科技绘图与数据分析学术图表 GraphPadPrism图表》【摘要 书评 试读】- 京东图书 GraphPad Prism统计数据分析_夏天又到了的博客-CSDN博客 1.1 GraphPad Prism简介 GraphP…

esp32课设记录(一)按键的短按、长按与双击

课程用的esp32的板子上只有一个按键,引脚几乎都被我用光了,很难再外置按键。怎么控制屏幕的gui呢?这就得充分利用按键了,比如说短按、长按与双击,实现不同的功能。 咱们先从短按入手讲起。 通过查看原理图,…

React19源码系列之 API(react-dom)

API之 preconnect preconnect – React 中文文档 preconnect 函数向浏览器提供一个提示,告诉它应该打开到给定服务器的连接。如果浏览器选择这样做,则可以加快从该服务器加载资源的速度。 preconnect(href) 一、使用例子 import { preconnect } fro…

supervisorctl守护进程

supervisorctl守护进程 1 安装 # ubuntu安装: sudo apt-get install supervisor 完成后可以在/etc/supervisor文件夹,找到supervisor.conf。 如果没有的话可以用如下命令创建配置文件(注意必须存在/etc/supervisor这个文件夹) s…

下载的旧版的jenkins,为什么没有旧版的插件

下载的旧版的jenkins,为什么没有旧版的插件,别急 我的jenkins版本: 然后我去找对应的插件 https://updates.jenkins.io/download/plugins/ 1、Maven Integration plugin: Maven 集成管理插件。 然后点击及下载成功 然后 注意&…

【ALINX 实战笔记】FPGA 大神 Adam Taylor 使用 ChipScope 调试 AMD Versal 设计

本篇文章来自 FPGA 大神、Ardiuvo & Hackster.IO 知名博主 Adam Taylor。在这里感谢 Adam Taylor 对 ALINX 产品的关注与使用。为了让文章更易阅读,我们在原文的基础上作了一些灵活的调整。原文链接已贴在文章底部,欢迎大家在评论区友好互动。 在上篇…

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】附录-A. PostgreSQL常用函数速查表

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 PostgreSQL常用函数速查表:从数据清洗到分析的全场景工具集引言一、字符串处理函数1.1 基础操作函数1.2 模式匹配函数(正则表达式)二、数值计算函数2.1 基础运算函数2.2 统计相关函数三、日期与时间函…

【时空图神经网络 交通】相关模型2:STSGCN | 时空同步图卷积网络 | 空间相关性,时间相关性,空间-时间异质性

注:仅学习使用~ 前情提要: 【时空图神经网络 & 交通】相关模型1:STGCN | 完全卷积结构,高效的图卷积近似,瓶颈策略 | 时间门控卷积层:GLU(Gated Linear Unit),一种特殊的非线性门控单元目录 STSGCN-2020年1.1 背景1.2 模型1.2.1 问题背景:现有模型存在的问题1.2…

docker 学习记录

docker pull nginx docker 将本地nginx快照保存到当前文件夹下 docker save -o nginx.tar nginx:latestdocker 将本地nginx 加载 docker load -i nginx.tar docker运行nginx在80端口 docker run --name dnginx -p 80:80 -d nginxredis启动 docker run --name mr -p 6379:6379 -…

南京邮电大学金工实习答案

一、金工实习的定义 金工实习是机械类专业学生一项重要的实践课程,它绝非仅仅只是理论知识在操作层面的简单验证,而是一个全方位培养学生综合实践能力与职业素养的系统工程。从本质上而言,金工实习是学生走出教室,亲身踏入机械加…

世界模型+大模型+自动驾驶 论文小汇总

最近看了一些论文,懒得一个个写博客了,直接汇总起来 文章目录 大模型VLM-ADVLM-E2EOpenDriveVLAFASIONAD:自适应反馈的类人自动驾驶中快速和慢速思维融合系统快系统慢系统快慢结合 世界模型End-to-End Driving with Online Trajectory Evalu…

C++函数三剑客:缺省参数·函数重载·引用的高效编程指南

前引:在C编程中,缺省参数、函数重载、引用是提升代码简洁性、复用性和效率的三大核心机制。它们既能减少冗杂的代码,又能增强接口设计的灵活性。本文将通过清晰的理论解析与实战案列,带你深入理解这三者的设计思想、使用场景以及闭…

SWUST数据结构下半期实验练习题

1068: 图的按录入顺序深度优先搜索 #include"iostream" using namespace std; #include"cstring" int visited[100]; char s[100]; int a[100][100]; int n; void dfs(int k,int n) {if(visited[k]0){visited[k]1;cout<<s[k];for(int i0;i<n;i){i…

机器学习 Day18 Support Vector Machine ——最优美的机器学习算法

1.问题导入&#xff1a; 2.SVM定义和一些最优化理论 2.1SVM中的定义 2.1.1 定义 SVM 定义&#xff1a;SVM&#xff08;Support Vector Machine&#xff0c;支持向量机&#xff09;核心是寻找超平面将样本分成两类且间隔最大 。它功能多样&#xff0c;可用于线性或非线性分类…

答题pk小程序道具卡的获取与应用

道具卡是答题PK小程序中必不可少的一项增加趣味性的辅助应用&#xff0c;那么道具卡是如何获取与应用的呢&#xff0c;接下来我们来揭晓答案&#xff1a; 一、道具卡的获取&#xff1a; 签到获取&#xff1a;在每日签到中签到不仅可获得当日的签到奖励积分&#xff0c;同时连…

leetcode3265. 统计近似相等数对 I-medium

1 题目&#xff1a;统计近似相等数对 I 官方标定难度&#xff1a;中 给你一个正整数数组 nums 。 如果我们执行以下操作 至多一次 可以让两个整数 x 和 y 相等&#xff0c;那么我们称这个数对是 近似相等 的&#xff1a; 选择 x 或者 y 之一&#xff0c;将这个数字中的两个…

【架构篇】代码组织结构设计

代码组织结构设计&#xff1a;模块化分层与高效协作实践 摘要 本文以Java项目为例&#xff0c;解析后端代码组织的标准化结构&#xff0c;涵盖模块划分原则、依赖管理策略及实际应用场景。通过模块化设计提升代码可维护性、团队协作效率及系统扩展能力。 一、模块化设计的核心…