如何在多台Linux虚拟机上安装和配置Kafka集群

server/2024/9/24 2:10:50/

Kafka是一个高性能、分布式的流处理平台,被广泛应用于大规模实时数据处理场景。它具有高吞吐量、低延迟和可水平扩展等特点,能够有效地处理海量数据流。为了提高Kafka的可用性和容错性,通常会在多个节点上部署Kafka集群。在这个指南中,我们将介绍如何在多台Linux虚拟机上安装和配置Kafka集群,以便你能够快速搭建一个高可用的数据流处理平台。在本教程中,我们将使用Apache Kafka 2.8.0版本,并以三个节点的集群为例进行说明。让我们开始吧!

前置准备:

配置多台Linux虚拟机参考:如何准备多台虚拟机并配置集群化软件-CSDN博客

安装jdk: 如何在Linux虚拟机上安装和配置JDK-CSDN博客

安装zookeeper集群:如何在多台Linux虚拟机上安装和配置Zookeeper集群-CSDN博客

 1. 【node1】下载并上传kafka

wget http://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.1.tgz

2. 【node1】解压

mkdir -p /export/server
tar -zxvf kafka_2.12-2.4.1.tgz -C /export/server/

3. 创建软链接

ln -s /export/server/kafka_2.12-2.4.1/export/server/kafka

4. 【node1】修改Kafka目录内的config目录内的server.properties文件

cd /export/server/kafka/config
vi server.properties

修改部分:

# 指定broker的id
broker.id=1
# 指定 kafka的绑定监听的地址
listeners=PLAINTEXT://node1:9092
# 指定Kafka数据的位置
log.dirs=/export/server/kafka/data
# 指定Zookeeper的三个节点
zookeeper.connect=node1:2181,node2:2181,node3:2181

5.  【node1】将node1的kafka复制到node2和node3

 【node2、node3】如果node2、node3没有文件夹需要先创建

mkdir -p /export/server

 【node1】将node1的kafka复制到node2和node3

cd /export/server
scp -r kafka_2.12-2.4.1 node2:`pwd`/
scp -r kafka_2.12-2.4.1 node3:`pwd`/

6. 【node2】重复node1的操作

1. 【node2】创建软链接

ln -s /export/server/kafka_2.12-2.4.1 /export/server/kafka

2. 【node2】修改Kafka目录内的config目录内的server.properties文件

vi /export/server/kafka/config/server.properties

修改部分: 

# 指定broker的id
broker.id=2
# 指定 kafka的绑定监听的地址
listeners=PLAINTEXT://node2:9092
# 指定Kafka数据的位置
log.dirs=/export/server/kafka/data
# 指定Zookeeper的三个节点
zookeeper.connect=node1:2181,node2:2181,node3:2181

7. 【node3】重复node1(node2)的操作

1. 【node3】创建软链接

ln -s /export/server/kafka_2.12-2.4.1 /export/server/kafka

2. 【node3】修改Kafka目录内的config目录内的server.properties文件

vi /export/server/kafka/config/server.properties

修改部分:

# 指定broker的id
broker.id=3
# 指定 kafka的绑定监听的地址
listeners=PLAINTEXT://node2:9092
# 指定Kafka数据的位置
log.dirs=/export/server/kafka/data
# 指定Zookeeper的三个节点
zookeeper.connect=node1:2181,node2:2181,node3:2181

8. 启动kafka

注意:请先确保Zookeeper已经启动

方式1:【前台启动】分别在node1、2、3上执行如下语句

/export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.properties

方式2:【后台启动】分别在node1、2、3上执行如下语句

nohup /export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.properties 2>&1 >> /export/server/kafka/kafka-server.log &

9. 验证kafka启动

jps

10. 测试Kafka能否正常使用

1. 创建测试主题

/export/server/kafka_2.12-2.4.1/bin/kafka-topics.sh --create --zookeeper node1:2181 --replication-factor 1 --partitions 3 --topic test

 2. 运行测试

打开一个终端页面,启动一个模拟的数据生产者

/export/server/kafka_2.12-2.4.1/bin/kafka-console-producer.sh --broker-list node1:9092 --topic test

再打开一个新的终端页面,在启动一个模拟的数据消费者

/export/server/kafka_2.12-2.4.1/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic test --from-beginning


http://www.ppmy.cn/server/121109.html

相关文章

中级练习[10]:Hive SQL

目录 1. 各品类销量前三的所有商品 1.1 题目需求 1.2 代码实现 2. 各品类中商品价格的中位数 2.1 题目需求 2.2 代码实现 3. 找出销售额连续3天超过100的商品 3.1 题目需求 3.2 代码实现 1. 各品类销量前三的所有商品 1.1 题目需求 从订单详情表中(order…

极狐GitLab 重要安全版本:17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…

lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了,为什么?

环境: lora 微调 问题描述: lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了,为什么? 解决方案: 在使用LoRA(Low-Rank Adaptation)对大语言模型(例如一个…

Javascript可视化

从客户端WebAPI视角下解读前端学习-CSDN博客 vaScript 可视化是指利用 JavaScript 语言及其相关库,生成数据的图形表示形式,帮助用户更直观地理解和分析数据。它常用于展示图表、地图、图形动画等。JavaScript 作为前端开发的主流语言,结合 …

Ubuntu与Windows之间实现复制粘贴

1.卸载已有的工具 sudo apt-get autoremove open-vm-tools 2.安装工具open-vm-tools sudo apt-get install open-vm-tools 3.安装open-vm-tools-desktop sudo apt-get install open-vm-tools-desktop

基于SpringBoot的社团管理系统【附源码】

基于SpringBoot的社团管理系统(源码L文说明文档) 目录 4 系统设计 4.1 系统概述 4.2系统结构 4.3.数据库设计 4.3.1数据库实体 4.3.2数据库设计表 5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 5.1.2 社长信…

Centos Stream 9根目录扩容

要将 sda 的剩余空间扩展给 cs-root,可以按照以下步骤进行操作。假设你已经有剩余的未分配空间在 sda 上。 步骤 1:查看当前磁盘分区情况 首先,确保你有未分配的空间在 sda 上。 lsblk步骤 2:创建新的分区 使用 fdisk 或 par…

GUI编程之MATLAB入门详解(01)

⛄前言 图形用户界面的设计是MATLAB的核心应用之一。当用户与计算机之间或用户与计算机程序之间进行交互操作时,舒服高效的用户接口功能则会对用户产生极大的吸引力。图形用户界面(GUI)则通过窗口、图标、按钮、菜单、文本等图形对象构成用户…