Kafka2.2.0集群安装

Kafka2.2.0 三节点集群搭建

Kafka2.2.0 基于zookeeper搭建,这里也搭建一个三个节点的集群。(在一个节点模拟三节点,真实的三节点把ip替换一下即可,按照hadoop案件把网络打通即可)

1、下载解压

Kafka 安装包官方下载地址 ,本用例下载的版本为 2.2.0 ,下

载命令:

bash 复制代码
# 下载

wget https://www-eu.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz

#cp到指定目录
cp kafka_2.12-2.2.0.tgz /usr/app/
# 解压

tar -xzf kafka_2.12-2.2.0.tgz

2 拷贝配置文件

进入解压目录的 config 目录下 ,拷贝三份配置文件:

bash 复制代码
 cp server.properties server-1.properties
 cp server.properties server-2.properties
 cp server.properties server-3.properties

3 修改配置

分别修改三份配置文件中的部分配置,如下:

只修改下面的属性,其他的属性不需要动

server-1.properties

bash 复制代码
# The id of the broker. 集群中每个节点的唯一标识

broker.id=0

# 监听地址,hadoop101是本机域名

listeners=PLAINTEXT://hadoop101:9092

# 数据的存储位置

log.dirs=/usr/local/kafka-logs/00

# Zookeeper连接地址(如果Zookeeper和kafka都在一个节点上,节点对应域名就是hadoop101节点)

zookeeper.connect=hadoop101:2181,hadoop101:2182,hadoop101:2183

server-2.properties

bash 复制代码
broker.id=1

listeners=PLAINTEXT://hadoop101:9093

log.dirs=/usr/local/kafka-logs/01

zookeeper.connect=hadoop101:2181,hadoop101:2182,hadoop101:2183

server-3.properties

bash 复制代码
broker.id=2

listeners=PLAINTEXT://hadoop101:9094

log.dirs=/usr/local/kafka-logs/02

zookeeper.connect=hadoop101:2181,hadoop101:2182,hadoop101:2183

这里需要说明的是 log.dirs 指的是数据日志的存储位置 ,确切的说,就是分区数据的存储位置。程序运行日志的位置是通过同一目录下的 log4j.properties 进行配置的。

4 启动集群

分别指定不同配置文件,启动三个 Kafka 节点。启动后可以使用 jps 查看进程,此时应该有三个

zookeeper 进程和三个 kafka 进程。

bash 复制代码
#在kafka目录下运行, & 后台运行
bin/kafka-server-start.sh config/server-1.properties &
bin/kafka-server-start.sh config/server-2.properties &
bin/kafka-server-start.sh config/server-3.properties &

停止kafka

bash 复制代码
bin/kafka-server-stop.sh

5 创建测试主题

创建测试topic,一个分区 三个副本

bash 复制代码
bin/kafka-topics.sh --create --bootstrap-server hadoop101:9092 \
 --replication-factor 3 \
 --partitions 1 --topic my-test-topic

创建后可以使用以下命令查看创建的主题信息:

bash 复制代码
bin/kafka-topics.sh --describe --bootstrap-server hadoop101:9092 --topic my-test-topic

可以看到分区 0 的有 0,1,2 三个副本,且三个副本都是可用副本,都在 ISR(in-sync Replica 同步副本)

列表中,其中 0 为首领副本,此时代表集群已经搭建成功。

相关推荐
想要打 Acm 的小周同学呀6 小时前
Kafka消息队列出现挤压如何解决?
分布式·kafka
富士康质检员张全蛋10 小时前
Kafka实战 自定义分区器 几种常见的分区器
分布式·kafka
starzy199011 小时前
Flink基础之Flink批流数据读取处理案例剖析:从文件到 Kafka 的完整代码
大数据·flink·kafka
数智启示录1 天前
Apache Kafka Consumer 扩到 40 个仍不提速:Partition 上限锁死有效并行度 【Kafka合集】
数据库·经验分享·分布式·缓存·面试·kafka·apache
数智启示录1 天前
Apache Kafka 幂等 Producer 的边界:Exactly-Once 到了 MySQL 为什么失效 【Kafka合集】
数据库·经验分享·分布式·mysql·面试·kafka·apache
数智启示录1 天前
Apache Kafka 不只是消息队列:日志与 Offset 分离如何让事件可重放 【Kafka合集】
经验分享·分布式·面试·kafka·apache
数智启示录1 天前
Apache Kafka 同 Key 仍会乱序:从分区 Offset 到业务可见的四道边界 【Kafka 合集】
大数据·数据库·经验分享·分布式·面试·kafka·apache
老周聊架构1 天前
Flink 连接器与生态:Kafka Offset 提交修复与 MySQL Binlog 延迟指标
mysql·flink·kafka
小白羊丨2 天前
Kafka任务重试、退避与失败恢复怎么做?
分布式·kafka
爱三盖浇饭4 天前
挑战从零开始学习Kafka2: Kafka 常见问题解决方案
学习·kafka