kafka入门安装教程
·
以下是针对Ubuntu系统安装Apache Kafka的详细教程,整合了多个可靠来源的最佳实践,并标注了关键注意事项:
一、安装前准备
-
安装Java环境
Kafka依赖Java运行,推荐安装OpenJDK 8或11:sudo apt update sudo apt install openjdk-11-jdk # 或 openjdk-8-jdk验证安装:
java -version配置环境变量(如未自动配置):
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc # 根据实际路径调整 source ~/.bashrc -
创建专用用户(可选)
为安全起见,建议创建独立用户运行Kafka:sudo useradd -m kafka sudo passwd kafka sudo adduser kafka sudo su - kafka # 切换到kafka用户
二、下载与安装Kafka
-
下载Kafka二进制包
访问Apache Kafka官网选择版本(推荐3.5.1或稳定版),下载并解压:wget https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz tar -xzf kafka_2.13-3.5.1.tgz mv kafka_2.13-3.5.1 ~/kafka -
配置环境变量(可选)
将Kafka路径加入系统环境:echo 'export KAFKA_HOME=~/kafka' >> ~/.bashrc echo 'export PATH=$PATH:$KAFKA_HOME/bin' >> ~/.bashrc source ~/.bashrc
三、配置与启动ZooKeeper
-
使用Kafka内置ZooKeeper
Kafka自带ZooKeeper,适合单机测试:cd ~/kafka bin/zookeeper-server-start.sh -daemon config/zookeeper.properties # 后台启动验证ZooKeeper是否运行:
jps # 应显示QuorumPeerMain进程 -
独立安装ZooKeeper(可选)
若需独立部署,参考以下步骤:- 下载并解压ZooKeeper
- 配置
zoo.cfg文件(如数据目录和端口) - 启动服务:
bin/zkServer.sh start
四、配置与启动Kafka
-
修改Kafka配置文件
编辑~/kafka/config/server.properties:broker.id=0 # 集群中唯一ID listeners=PLAINTEXT://0.0.0.0:9092 # 允许外部访问 log.dirs=/tmp/kafka-logs # 日志目录,建议修改为持久化路径 zookeeper.connect=localhost:2181 # ZooKeeper地址 delete.topic.enable=true # 允许删除主题 -
启动Kafka服务
bin/kafka-server-start.sh -daemon config/server.properties # 后台启动验证端口是否监听:
netstat -tunlp | grep 9092
五、测试Kafka功能
-
创建测试主题
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic test-topic --partitions 1 --replication-factor 1 -
启动生产者与消费者
- 生产者:
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic - 消费者:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning
输入消息后,消费者应能实时接收。
- 生产者:
六、服务管理(Systemd集成)
- 创建Systemd服务文件
为ZooKeeper和Kafka分别创建服务:
启用服务:# ZooKeeper服务(/etc/systemd/system/zookeeper.service) [Unit] Requires=network.target After=network.target [Service] Type=simple User=kafka ExecStart=~/kafka/bin/zookeeper-server-start.sh ~/kafka/config/zookeeper.properties ExecStop=~/kafka/bin/zookeeper-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.target # Kafka服务(/etc/systemd/system/kafka.service) [Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties ExecStop=~/kafka/bin/kafka-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.targetsudo systemctl daemon-reload sudo systemctl start kafka sudo systemctl enable kafka
七、常见问题与优化
-
内存不足错误
修改bin/kafka-server-start.sh中的堆内存参数:export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" # 根据机器配置调整 -
防火墙配置
开放ZooKeeper(2181)和Kafka(9092)端口:sudo ufw allow 2181/tcp sudo ufw allow 9092/tcp -
集群部署(可选)
修改server.properties中的broker.id、listeners和advertised.listeners,确保各节点ZooKeeper连接一致。
八、扩展工具(可选)
- KafkaT:通过Ruby Gem安装,用于集群管理:
sudo apt install ruby ruby-dev sudo gem install kafkat
通过以上步骤,您可以在Ubuntu系统上完成Kafka的安装与基础配置。如需更详细配置(如SSL加密、监控工具),请参考Kafka官方文档或相关来源。
更多推荐




所有评论(0)