当前位置: 首页 > news >正文

基于 Zookeeper 部署 Kafka 集群

文章目录

  • 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

在这里插入图片描述

相关文章:

  • Linux系统:ext2文件系统的核心概念和结构
  • 什么是open BMC?
  • GO语言(一期)常用关键字总结
  • C++学习:六个月从基础到就业——C++17:结构化绑定
  • 数据治理进阶:精读62页数据治理体系建设文档【附全文阅读】
  • 二十一、案例特训专题4【数据库篇】
  • Vue3进行工程化项目,保姆级教学(编译软件:vscode)大部分编译平台适用
  • EmuEdit
  • JAVA EE(进阶)_进阶的开端
  • IS-IS 中间系统到中间系统
  • Java IO框架
  • 安卓端互动娱乐房卡系统调试实录:从UI到协议的万字深拆(第一章)
  • ADVB帧格式
  • 生产模式下react项目报错minified react error #130的问题
  • 学习黑客Active Directory 入门指南(三)
  • 《沙尘暴》观影记:当家庭成为人性的修罗场
  • React中巧妙使用异步组件Suspense优化页面性能。
  • 【Spring】核心机制:IOC与DI深度解析
  • 存内计算在AI推理中的落地挑战:从理论算力到实际吞吐量的鸿沟
  • 蓝桥杯19682 完全背包
  • 520、521婚登预约迎高峰?上海民政:将增派力量,新人可现场办理
  • 国家统计局答澎湃:我国投资的潜力依然巨大,支撑投资增长的有利因素仍然比较多
  • 国税总局上海市税务局通报:收到王某对刘某某及相关企业涉税问题举报,正依法依规办理
  • 刘强东坐镇京东一线:管理层培训1800人次,最注重用户体验
  • 时隔3年俄乌直接谈判今日有望重启:谁参加,谈什么
  • 订婚不等于性同意!山西订婚强奸案入选最高法案例