ubuntu下kafka配置步骤
导读:Ubuntu下Kafka配置详细步骤 1. 安装Java环境 Kafka依赖Java运行时环境(JRE),推荐使用OpenJDK 8或11(兼容性更好)。 sudo apt update sudo apt install openjdk-1...
Ubuntu下Kafka配置详细步骤
1. 安装Java环境
Kafka依赖Java运行时环境(JRE),推荐使用OpenJDK 8或11(兼容性更好)。
sudo apt update
sudo apt install openjdk-11-jdk -y # 推荐使用OpenJDK 11
java -version # 验证安装(输出需包含Java版本信息)
注:若使用OpenJDK 8,将命令中的openjdk-11-jdk
替换为openjdk-8-jdk
。
2. 下载并解压Kafka
从Apache Kafka官网下载最新稳定版本(如3.7.0),解压至指定目录(如/opt/kafka
)。
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz # 替换为最新版本链接
tar -xzvf kafka_2.13-3.7.0.tgz
sudo mv kafka_2.13-3.7.0 /opt/kafka # 移动至/opt目录(系统级软件推荐路径)
3. 配置Zookeeper(Kafka依赖组件)
Kafka通过Zookeeper实现集群管理和协调,需先配置Zookeeper。
- 创建数据目录:
sudo mkdir -p /opt/zookeeper/data # 存储Zookeeper数据
- 配置Zookeeper:
复制默认配置文件并修改关键参数:
修改以下内容(根据实际路径调整):sudo cp /opt/kafka/config/zoo_sample.cfg /opt/kafka/config/zoo.cfg # 复制模板 sudo vi /opt/kafka/config/zoo.cfg # 编辑配置
dataDir=/opt/zookeeper/data # 数据存储路径 clientPort=2181 # 客户端连接端口 tickTime=2000 # 心跳间隔(毫秒) initLimit=10 # 初始化连接超时(心跳数) syncLimit=5 # 同步超时(心跳数)
- 启动Zookeeper:
/opt/kafka/bin/zkServer.sh start # 启动Zookeeper netstat -nap | grep 2181 # 验证端口(需显示LISTEN状态)
4. 配置Kafka Broker
编辑Kafka主配置文件server.properties
,设置关键参数:
sudo vi /opt/kafka/config/server.properties
修改以下核心配置(按需调整):
# Broker唯一标识(集群中需唯一)
broker.id=0
# 监听地址(单机用localhost,集群用服务器IP)
listeners=PLAINTEXT://localhost:9092
# 对外公布的地址(集群中需指向服务器IP,供其他Broker访问)
advertised.listeners=PLAINTEXT://your_server_ip:9092
# 日志存储目录(需提前创建)
log.dirs=/opt/kafka/logs
# Zookeeper连接地址(集群中需列出所有Zookeeper节点)
zookeeper.connect=localhost:2181
# 允许删除Topic(生产环境建议关闭)
delete.topic.enable=true
# 日志保留时间(小时,默认168小时=7天)
log.retention.hours=168
5. 配置环境变量(可选但推荐)
将Kafka和Zookeeper路径添加至系统环境变量,方便全局调用。
sudo vi /etc/profile # 编辑全局环境变量
在文件末尾添加:
export KAFKA_HOME=/opt/kafka
export PATH=$PATH:$KAFKA_HOME/bin
export ZOOKEEPER_HOME=/opt/kafka # Zookeeper与Kafka同目录时无需额外配置
使配置生效:
source /etc/profile
6. 启动Kafka服务
- 直接启动(前台模式,用于测试):
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
- 后台守护进程模式(生产环境推荐):
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
- 验证Kafka进程:
ps aux | grep kafka # 查看是否有kafka进程 netstat -nap | grep 9092 # 验证Kafka端口(需显示LISTEN状态)
7. 验证Kafka功能
- 创建测试Topic:
/opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
- 启动生产者发送消息:
输入消息(如/opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Hello Kafka
),按Ctrl+D
结束输入。 - 启动消费者接收消息:
应能看到生产者发送的消息,验证Kafka通信正常。/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
8. 可选:配置开机自启(生产环境必备)
通过systemd创建服务单元,实现Kafka和Zookeeper开机自动启动。
- 创建Zookeeper服务文件:
添加以下内容:sudo vi /etc/systemd/system/zookeeper.service
[Unit] Description=Apache Zookeeper server After=network.target [Service] Type=simple User=root ExecStart=/opt/kafka/bin/zkServer.sh start ExecStop=/opt/kafka/bin/zkServer.sh stop Restart=always [Install] WantedBy=multi-user.target
- 创建Kafka服务文件:
添加以下内容:sudo vi /etc/systemd/system/kafka.service
[Unit] Description=Apache Kafka Server After=zookeeper.service [Service] Type=simple User=root ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=always [Install] WantedBy=multi-user.target
- 启用并启动服务:
sudo systemctl daemon-reload # 重新加载systemd配置 sudo systemctl enable zookeeper # 开机自启Zookeeper sudo systemctl enable kafka # 开机自启Kafka sudo systemctl start zookeeper # 启动Zookeeper sudo systemctl start kafka # 启动Kafka
以上步骤覆盖了Ubuntu下Kafka的基础配置流程,可根据实际需求调整参数(如集群配置、安全设置等)。配置完成后,即可通过Kafka API或命令行工具进行消息生产和消费。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu下kafka配置步骤
本文地址: https://pptw.com/jishu/728940.html