linux 单机安装 kafka

本文详细介绍了如何在Linux上安装Kafka,首先确保安装了Java 8,然后从官网下载匹配的kafka_2.12-2.8.1.tgz并解压。接着配置server.properties文件,修改监听和Zookeeper地址,开放防火墙端口9092。启动Zookeeper后,使用bin/kafka-server-start.sh启动Kafka。最后通过bin/kafka-console-consumer.sh和bin/kafka-console-producer.sh进行消息生产和消费的测试,验证Kafka安装成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux 单机安装 kafka,个人练习的时候是非常方便的

安装 kafka 前需要先安装 java 的环境,这里对 java 的版本和 kafka 的版本有要求。kafka 使用Scala 语言开发,因此在下载 kafka 时,需要看其使用的 Scala 的版本及对应的 java 版本是否一致,避免出现版本问题

笔者这里使用的 java 版本是 java8,因此使用 kafka 的版本是 kafka_2.12-2.8.1.tgz,Scala 的版本和 kafka 的版本可以在 kafa 官网看到

目录

1、官网下载 kafka

2、安装 kafka

3、启动 kafka

4、测试


1、官网下载 kafka

https://kafka.apache.org/kafka官网:

选择适合已安装 java 环境的 kafka 版本

笔者是 java8 的环境,选择的 kafka 的版本是 kafka_2.12-2.8.1.tgz

2、安装 kafka

将下载的 kafka 安装包上传到 linux

 创建 kafka 安装目录

mkdir /usr/local/kafka

 将 kafka 安装包解压到新创建的 kafka 目录

tar -xzf kafka_2.12-2.8.1.tgz -C /usr/local/kafka

 进入 kafka 安装目录

cd /usr/local/kafka/kafka_2.12-2.8.1/

 进入 config 目录,编辑 server.properties 文件

cd config

编辑  server.properties 文件

 vi server.properties

将 listeners 和 advertised.listeners 地址修改为当前机器 ip 地址(笔者当前机器 ip 地址是192.168.0.124),端口默认9092

然后修改 zookeeper 地址,笔者这里 zookeeper 的地址是 192.168.0.111:2181,读者可根据自己的情况修改

server.properties 文件编辑完成后,开放放火墙端口 9092

查看防火墙所有开放的端口:

firewall-cmd --list-port

开放防火墙端口 9092

firewall-cmd --zone=public --add-port=9092/tcp --permanent

更新防火墙规则(无需断开连接,动态添加规则)

firewall-cmd --reload

 

3、启动 kafka

启动 kafka 前需要先启动 zookeeper

没安装 zookeeper 的朋友可以先看这2篇文章

windows 环境 安装 zookeeper:https://blog.youkuaiyun.com/wsjzzcbq/article/details/88301892 

linux 环境 安装 zookeeper:https://blog.youkuaiyun.com/wsjzzcbq/article/details/88310571

zookeeper 启动成功后,启动 kafka

启动 kafka 命令

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

 停止 kafka

bin/kafka-server-stop.sh

4、测试

启动 kafka 后,打开2个终端连接 linux,然后分别进入 kafka 安装目录 

cd /usr/local/kafka/kafka_2.12-2.8.1/

 开启消费者监听消息

bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.124:9092 --topic demo-topic --from-beginning

打开生产者发送消息

bin/kafka-console-producer.sh --broker-list 192.168.0.124:9092 --topic demo-topic

效果图

至此完

<think>好的,用户想要在单机环境下安装Kafka的步骤和配置教程。首先,我需要回忆一下Kafka的基本安装流程。记得Kafka依赖ZooKeeper,不过在单机模式下,Kafka自带了ZooKeeper,不需要额外安装集群,这可能简化步骤。用户之前提到过单机安装的问题,比如配置错误导致连接问题,所以需要特别注意配置文件的设置。 接下来,我应该检查用户提供的引用内容,看看有没有相关的指导。引用2提到ZooKeeper必须用集群模式,但用户现在需要单机,可能Kafka自带的ZooKeeper单例就足够了。引用4和5提到了单机安装中的问题,比如配置IP地址错误导致连接被拒绝,这需要强调配置文件中正确设置advertised.listeners为正确的IP或主机名,避免localhost的问题。 然后,分步骤来写安装过程。首先下载Kafka,解压,然后配置ZooKeeper和Broker。需要修改server.properties中的listeners和advertised.listeners,可能还要设置日志目录。启动时,先启动ZooKeeper,再启动Kafka Broker。验证步骤包括创建Topic、生产者和消费者测试,确保消息正常传递。 用户可能遇到的常见问题比如端口占用、配置错误,尤其是advertised.listeners设置不正确导致外部无法连接,这在引用4中提到了。需要提醒用户检查这里的配置,使用实际IP而不是localhost,特别是当其他服务如Filebeat运行在不同机器时。 最后,生成相关问题,帮助用户深入,比如性能调优、监控工具如Kafka Eagle的安装,以及常见错误的解决方法。确保用户能够顺利安装并解决可能遇到的问题。</think>### 单机环境下 Kafka 安装与配置教程 #### 一、环境准备 1. **系统要求**:Linux/Unix 或 Windows(建议 Linux,如 CentOS/Ubuntu) 2. **依赖组件**:JDK 1.8+(Kafka 基于 Java 开发) 3. **安装包下载**: ```bash wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz tar -zxvf kafka_2.13-3.6.1.tgz ``` #### 二、配置 ZooKeeper(单机模式) Kafka 依赖 ZooKeeper 管理元数据,单机环境下可直接使用 Kafka 内置的 ZooKeeper: 1. **修改配置文件** `config/zookeeper.properties`: ```properties dataDir=/tmp/zookeeper # ZooKeeper 数据存储路径 clientPort=2181 # 客户端连接端口 maxClientCnxns=100 # 最大连接数 ``` #### 三、配置 Kafka Broker 1. **修改配置文件** `config/server.properties`: ```properties broker.id=0 # 单机环境设为 0 listeners=PLAINTEXT://0.0.0.0:9092 # 监听地址和端口 advertised.listeners=PLAINTEXT://[服务器IP]:9092 # 必须设置为实际 IP(避免 Filebeat 连接问题)[^4] log.dirs=/tmp/kafka-logs # Kafka 数据存储路径 zookeeper.connect=localhost:2181 # ZooKeeper 地址 num.partitions=1 # 单机默认分区数 ``` #### 四、启动服务 1. **启动 ZooKeeper**: ```bash bin/zookeeper-server-start.sh -daemon config/zookeeper.properties ``` 2. **启动 Kafka Broker**: ```bash bin/kafka-server-start.sh -daemon config/server.properties ``` #### 五、验证安装 1. **创建测试 Topic**: ```bash bin/kafka-topics.sh --bootstrap-server [服务器IP]:9092 --create --topic test --partitions 1 --replication-factor 1 ``` 2. **生产消息**: ```bash bin/kafka-console-producer.sh --bootstrap-server [服务器IP]:9092 --topic test ``` 3. **消费消息**: ```bash bin/kafka-console-consumer.sh --bootstrap-server [服务器IP]:9092 --topic test --from-beginning ``` #### 六、常见问题解决 1. **连接被拒绝**:确保 `advertised.listeners` 配置为实际 IP(非 `localhost`),避免其他服务无法访问[^4] 2. **端口冲突**:检查 `9092`(Kafka)和 `2181`(ZooKeeper)端口占用情况 3. **数据清理**:定期清理 `/tmp/kafka-logs` 和 `/tmp/zookeeper` 避免磁盘占满
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世君子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值