Ubuntu Kafka如何安装
Ubuntu系统安装Kafka详细步骤
1. 准备工作
在开始安装前,请确保系统满足以下要求:
- Ubuntu 16.04及以上版本;
- 至少4GB内存、500GB可用硬盘空间;
- 已配置网络(能访问Apache官网下载资源)。
2. 安装Java环境(Kafka依赖)
Kafka由Java编写,需先安装OpenJDK 8(或更高版本):
sudo apt update # 更新软件包列表
sudo apt install openjdk-8-jdk # 安装OpenJDK 8
java -version # 验证安装(显示Java版本信息即为成功)
3. 安装与配置Zookeeper(Kafka元数据管理组件)
Kafka依赖Zookeeper维护集群元数据(如Broker列表、Topic分区信息),需先部署Zookeeper:
3.1 下载并解压Zookeeper
选择稳定版本(如3.4.6、3.6.3),下载后解压至/usr/local目录:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz # 下载(以3.4.6为例)
tar xvfz zookeeper-3.4.6.tar.gz # 解压
sudo mv zookeeper-3.4.6 /usr/local/zookeeper # 移动至目标目录
3.2 配置Zookeeper
创建配置文件zoo.cfg(Zookeeper核心配置),并设置数据目录:
sudo cat >
/usr/local/zookeeper/conf/zoo.cfg <
<
EOF
tickTime=2000 # 心跳间隔(毫秒)
dataDir=/var/lib/zookeeper # 数据存储目录(需手动创建)
clientPort=2181 # 客户端连接端口
EOF
3.3 创建数据目录并授权
sudo mkdir -p /var/lib/zookeeper # 创建数据目录
sudo chown -R $(whoami):$(whoami) /usr/local/zookeeper /var/lib/zookeeper # 授权当前用户(避免权限问题)
3.4 启动Zookeeper并验证
sudo /usr/local/zookeeper/bin/zkServer.sh start # 启动Zookeeper
sudo netstat -nap | grep 2181 # 验证端口(2181为Zookeeper默认端口)
若输出包含2181端口信息,则说明Zookeeper启动成功。
4. 安装Kafka
4.1 下载并解压Kafka
选择最新稳定版本(如3.5.2),下载后解压至/usr/local目录:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz # 下载(以3.5.2为例)
tar -xzvf kafka_2.12-3.5.2.tgz # 解压
sudo mv kafka_2.12-3.5.2 /usr/local/kafka # 移动至目标目录
4.2 配置Kafka
编辑server.properties(Kafka核心配置),修改以下关键参数:
sudo nano /usr/local/kafka/config/server.properties
修改内容如下(按需调整):
broker.id=0 # Broker唯一标识(集群中需唯一)
listeners=PLAINTEXT://localhost:9092 # 监听地址(本地测试用localhost,生产环境用服务器IP)
log.dirs=/tmp/kafka-logs # 日志存储目录(需手动创建)
zookeeper.connect=localhost:2181 # 连接的Zookeeper地址(与zoo.cfg中的clientPort一致)
4.3 创建日志目录并授权
sudo mkdir -p /tmp/kafka-logs # 创建日志目录
sudo chown -R $(whoami):$(whoami) /usr/local/kafka /tmp/kafka-logs # 授权当前用户
5. 启动Kafka并验证
5.1 启动Kafka服务
sudo /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties # 后台启动(-daemon参数)
5.2 验证Kafka是否启动
sudo netstat -tulnp | grep 9092 # 验证端口(9092为Kafka默认端口)
若输出包含9092端口信息,则说明Kafka启动成功。
6. 测试Kafka功能
6.1 创建Topic
创建名为test的Topic(1个分区、1个副本):
sudo /usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
(注:Kafka 2.8.0及以上版本推荐使用--bootstrap-server替代旧版的--zookeeper)
6.2 列出所有Topic
sudo /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
若输出包含test,则说明Topic创建成功。
6.3 发送测试消息
启动控制台生产者,向test Topic发送消息:
sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
输入任意消息(如Hello, Kafka on Ubuntu),按Ctrl+C退出。
6.4 接收测试消息
启动控制台消费者,从test Topic接收消息:
sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
应能看到生产者发送的消息,按Ctrl+C退出。
7. 可选:配置环境变量(方便使用)
将Kafka的bin目录添加至PATH环境变量,避免每次输入完整路径:
echo 'export KAFKA_HOME=/usr/local/kafka' >
>
~/.bashrc # 添加KAFKA_HOME
echo 'export PATH=$PATH:$KAFKA_HOME/bin' >
>
~/.bashrc # 添加bin目录至PATH
source ~/.bashrc # 生效配置
之后可直接使用kafka-topics.sh、kafka-console-producer.sh等命令(无需sudo /usr/local/kafka/bin/前缀)。
注意事项
- 生产环境中,建议使用Kafka集群(多台服务器部署,broker.id不同),并配置
advertised.listeners(集群节点间通信地址); - 若使用Kafka 2.8.0及以上版本,可启用Raft模式(无需Zookeeper),提升可靠性;
- 防火墙需开放Kafka(9092)和Zookeeper(2181)端口,允许客户端访问。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Kafka如何安装
本文地址: https://pptw.com/jishu/747637.html
