kafka在ubuntu上如何精准配置
导读:一、前置准备 安装Java环境 Kafka依赖Java运行,推荐使用OpenJDK 8或11(更高版本需确认Kafka兼容性)。 sudo apt update sudo apt install -y openjdk-11-jdk ja...
一、前置准备
-
安装Java环境
Kafka依赖Java运行,推荐使用OpenJDK 8或11(更高版本需确认Kafka兼容性)。sudo apt update sudo apt install -y openjdk-11-jdk java -version # 验证安装(需显示Java版本信息)
-
安装Zookeeper
Kafka通过Zookeeper实现集群协调,需先安装并启动Zookeeper。wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz sudo mv apache-zookeeper-3.7.0 /opt/zookeeper sudo mkdir -p /opt/zookeeper/data
配置Zookeeper(编辑
/opt/zookeeper/conf/zoo.cfg
):tickTime=2000 dataDir=/opt/zookeeper/data clientPort=2181 initLimit=5 syncLimit=2
启动Zookeeper:
/opt/zookeeper/bin/zkServer.sh start netstat -tulnp | grep 2181 # 验证端口是否监听
二、Kafka精准配置
-
下载并解压Kafka
从Apache官网下载最新稳定版本(如3.5.2),解压至指定目录:wget https://downloads.apache.org/kafka/3.5.2/kafka_2.13-3.5.2.tgz tar -xzvf kafka_2.13-3.5.2.tgz sudo mv kafka_2.13-3.5.2 /opt/kafka
-
配置Kafka核心参数(
server.properties
)
编辑/opt/kafka/config/server.properties
,关键参数说明及示例:- Broker标识:
broker.id=0
(集群中每个broker需唯一); - 监听配置:
listeners=PLAINTEXT://your_server_ip:9092
(本地测试可改为localhost
); - 对外暴露地址:
advertised.listeners=PLAINTEXT://your_server_ip:9092
(集群节点间需能访问); - 日志目录:
log.dirs=/opt/kafka/logs
(需提前创建并授权:sudo mkdir -p /opt/kafka/logs & & sudo chown -R kafka:kafka /opt/kafka
); - Zookeeper连接:
zookeeper.connect=localhost:2181
(集群中需列出所有zk节点,如host1:2181,host2:2181
); - 分区与副本:
num.partitions=3
(根据并发需求设置,建议与消费者线程数匹配)、default.replication.factor=1
(测试环境设为1,生产环境建议≥3); - 数据保留策略:
log.retention.hours=168
(保留7天,可根据存储空间调整)、log.retention.bytes=1073741824
(单分区最大1GB); - 性能优化:
num.io.threads=8
(CPU核心数的50%,处理磁盘IO)、socket.send.buffer.bytes=102400
(发送缓冲区大小)、socket.receive.buffer.bytes=102400
(接收缓冲区大小)。
- Broker标识:
-
创建Kafka用户及授权
为Kafka创建专用用户并设置目录权限:sudo groupadd kafka sudo useradd -g kafka kafka sudo chown -R kafka:kafka /opt/kafka sudo chmod -R 750 /opt/kafka
三、启动与验证
-
启动Kafka服务
以后台模式启动Kafka:/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
验证Kafka是否运行:
netstat -tulnp | grep 9092 # 应显示Kafka监听9092端口
-
测试Topic功能
- 创建Topic:
/opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 3 --topic test_topic
- 生产消息:
/opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
- 消费消息:
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --from-beginning
- 创建Topic:
四、环境变量配置(可选但推荐)
将Kafka路径添加至系统环境变量,方便全局调用:
echo 'export KAFKA_HOME=/opt/kafka' >
>
~/.bashrc
echo 'export PATH=$PATH:$KAFKA_HOME/bin' >
>
~/.bashrc
source ~/.bashrc
验证命令:kafka-topics --version
(应显示Kafka版本信息)。
五、关键注意事项
- 防火墙设置:若Kafka跨服务器通信,需开放9092(Broker)、2181(Zookeeper)端口:
sudo ufw allow 9092/tcp sudo ufw allow 2181/tcp sudo ufw reload
- 数据安全:测试环境可使用
PLAINTEXT
协议,生产环境建议启用SSL/TLS加密(配置listeners=SSL://your_server_ip:9092
及证书)。 - 监控与维护:使用Prometheus+Grafana监控Kafka集群(采集
kafka_server_
开头的JMX指标),定期清理日志(log.retention
参数控制)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: kafka在ubuntu上如何精准配置
本文地址: https://pptw.com/jishu/723753.html