推荐阅读:
[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024
[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE
[AI-人工智能]免梯免翻墙-ChatGPT拼车站月卡 | 可用GPT4/GPT4o/o1-preview | 会话隔离 | 全网最低价独享体验ChatGPT/Claude会员服务
[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台
本文详细介绍了在Ubuntu操作系统下配置Kafka的步骤,包括安装Kafka、配置环境变量、修改Kafka配置文件以及启动和测试Kafka服务。实践部分展示了如何使用Ubuntu和Kali Linux进行Kafka的配置与部署,为开发者提供了实用的操作指南。
本文目录导读:
Kafka 是一款高性能、可扩展、高可靠性的分布式消息队列系统,广泛应用于大数据、实时计算和日志收集等领域,在 Ubuntu 系统下配置 Kafka,可以让开发者充分利用 Kafka 的优势,为各种应用场景提供高效的消息处理能力,本文将详细介绍如何在 Ubuntu 系统下安装和配置 Kafka。
安装环境
1、操作系统:Ubuntu 18.04 或更高版本
2、Java:JDK 1.8 或更高版本
3、Kafka:2.4.1 或更高版本
安装步骤
1、安装 Java
Kafka 是基于 Java 开发的,因此在安装 Kafka 之前需要先安装 Java,可以使用以下命令安装 JDK 1.8:
sudo apt-get update sudo apt-get install openjdk-8-jdk
安装完成后,验证 Java 版本:
java -version
2、下载 Kafka
从 Kafka 官网(https://kafka.apache.org/downlOAds.html)下载 Kafka 二进制包,这里以 kafka_2.13-2.4.1.tgz 为例,将下载的文件移动到/opt
目录下:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.1/kafka_2.13-2.4.1.tgz sudo mv kafka_2.13-2.4.1.tgz /opt/
3、解压 Kafka
在/opt
目录下解压 Kafka:
cd /opt sudo tar -zxvf kafka_2.13-2.4.1.tgz
4、配置 Kafka
进入 Kafka 目录,修改server.properties
文件:
cd kafka_2.13-2.4.1 sudo vi config/server.properties
修改以下配置项:
broker.id=0 listeners=PLAINTEXT://localhost:9092 log.dirs=/tmp/kafka-logs zookeeper.connect=localhost:2181
5、启动 Kafka
启动 Kafka 服务:
bin/kafka-server-start.sh config/server.properties
6、创建 Topic
创建一个名为test
的 Topic:
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
7、验证 Kafka
启动生产者:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
在另一个终端启动消费者:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
在生产者终端输入消息,消费者终端会实时显示接收到的消息。
Kafka 配置详解
1、broker.id
:Kafka 集群中每个 broker 的唯一标识符,默认为 0。
2、listeners
:Kafka 监听的地址和端口,默认为PLAINTEXT://localhost:9092
。
3、log.dirs
:Kafka 存储消息日志的目录,默认为/tmp/kafka-logs
。
4、zookeeper.connect
:连接到 ZooKeeper 集群的地址,默认为localhost:2181
。
5、num.io.threads
:处理磁盘 I/O 的线程数,默认为 8。
6、num.network.threads
:处理网络请求的线程数,默认为 8。
7、socket.send.buffer.bytes
:发送缓冲区大小,默认为 102400。
8、socket.receive.buffer.bytes
:接收缓冲区大小,默认为 102400。
9、socket.request.max.bytes
:请求的最大大小,默认为 104857600。
10、num.replica.fetchers
:副本拉取线程数,默认为 1。
11、num.consumer.fetchers
:消费者拉取线程数,默认为 1。
12、auto.create.topics.enable
:是否自动创建 Topic,默认为 true。
13、default.replication.factor
:默认副本因子,默认为 1。
14、Min.insync.replicas
:最小同步副本数,默认为 1。
15、log.segment.bytes
:日志段大小,默认为 1073741824。
16、log.roll.hours
:日志滚动时间,默认为 168。
17、log.roll.ms
:日志滚动时间,默认为 604800。
18、log.roll.factor
:日志滚动因子,默认为 2。
19、log.roll.jitter.ms
:日志滚动抖动时间,默认为 0。
20、log.delete.delay.ms
:日志删除延迟时间,默认为 60000。
21、log.flush.scheduler.interval.ms
:日志刷新计划间隔时间,默认为 3000。
22、log.flush.offset.checkpoint.interval.ms
:日志刷新检查点间隔时间,默认为 60000。
23、log.flush(formatter.class)
:日志格式化类,默认为kafka.log.LogFormatter$DefaultLogFormatter
。
24、log4j.logger.kafka.controller
:Kafka 控制器日志级别,默认为INFO
。
25、log4j.logger.kafka.producer
:Kafka 生产者日志级别,默认为INFO
。
26、log4j.logger.kafka.consumer
:Kafka 消费者日志级别,默认为INFO
。
27、log4j.logger.kafka.network.RequestChannel$
:Kafka 网络请求通道日志级别,默认为INFO
。
28、log4j.logger.kafka.network.Processor$
:Kafka 网络处理器日志级别,默认为INFO
。
29、log4j.logger.kafka.server.KafkaRequestHandler$
:Kafka 请求处理器日志级别,默认为INFO
。
30、log4j.logger.kafka.log.LogCleaner$
:Kafka 日志清理器日志级别,默认为INFO
。
31、log4j.logger.org.apache.zookeeper
:ZooKeeper 日志级别,默认为WARN
。
32、log4j.logger.kafkaZookeeper
:Kafka ZooKeeper 客户端日志级别,默认为INFO
。
33、log4j.logger.org.I0Itec.zkclient
:ZkClient 日志级别,默认为INFO
。
34、log4j.logger.org.apache.kafka
:Kafka 日志级别,默认为INFO
。
35、log4j.logger.kafka
:Kafka 日志级别,默认为INFO
。
36、log4j.logger.org.apache.kafka.common.metrics.stats
:Kafka 指标统计日志级别,默认为WARN
。
37、log4j.logger.org.apache.kafka.common.metrics.Metrics
:Kafka 指标日志级别,默认为INFO
。
38、log4j.logger.org.apache.kafka.common.utils.AppInfoParser
:Kafka 应用信息日志级别,默认为INFO
。
39、log4j.logger.kafka.controller
:Kafka 控制器日志级别,默认为INFO
。
40、log4j.logger.kafka.producer
:Kafka 生产者日志级别,默认为INFO
。
41、log4j.logger.kafka.consumer
:Kafka 消费者日志级别,默认为INFO
。
42、log4j.logger.kafka.network.RequestChannel$
:Kafka 网络请求通道日志级别,默认为INFO
。
43、log4j.logger.kafka.network.Processor$
:Kafka 网络处理器日志级别,默认为INFO
。
44、log4j.logger.kafka.server.KafkaRequestHandler$
:Kafka 请求处理器日志级别,默认为INFO
。
45、log4j.logger.kafka.log.LogCleaner$
:Kafka 日志清理器日志级别,默认为INFO
。
46、log4j.logger.org.apache.zookeeper
:ZooKeeper 日志级别,默认为WARN
。
47、log4j.logger.kafkaZookeeper
:Kafka ZooKeeper 客户端日志级别,默认为INFO
。
48、log4j.logger.org.I0Itec.zkclient
:ZkClient 日志级别,默认为INFO
。
49、log4j.logger.org.apache.kafka
:Kafka 日志级别,默认为INFO
。
50、log4j.logger.kafka
:Kafka 日志级别,默认为INFO
。
本文详细介绍了在 Ubuntu 系统下安装和配置 Kafka 的过程,以及 Kafka 的主要配置项,通过掌握 Kafka 的配置,开发者可以更好地利用 Kafka 的特性,为各种应用场景提供高效的消息处理能力。
中文相关关键词:Ubuntu, Kafka, 配置, 安装, 启动, Topic, 生产者, 消费者, 日志, 副本, 线程, 缓冲区, 时间, 滚动, 删除, 清理, 指标, 控制器, 处理器,
本文标签属性:
Ubuntu Kafka 配置:ubuntun卡