kafka于ubuntu怎样正确设置
导读:一、准备工作 在Ubuntu上部署Kafka前,需确保系统满足以下要求:Ubuntu 16.04及以上版本、至少4GB内存、500GB以上硬盘空间、Java 8及以上版本(推荐OpenJDK 8)、ZooKeeper 3.4及以上版本(Ka...
一、准备工作 在Ubuntu上部署Kafka前,需确保系统满足以下要求:Ubuntu 16.04及以上版本、至少4GB内存、500GB以上硬盘空间、Java 8及以上版本(推荐OpenJDK 8)、ZooKeeper 3.4及以上版本(Kafka依赖其进行集群管理)。
二、安装Java环境 Kafka是基于Java开发的,需先安装JDK。执行以下命令安装OpenJDK 8:
sudo apt update
sudo apt install openjdk-8-jdk
安装完成后,通过java -version
验证安装是否成功(需显示Java版本信息)。
三、安装并配置ZooKeeper Kafka依赖ZooKeeper管理集群状态,需先完成ZooKeeper的安装与配置:
- 下载并解压ZooKeeper:从Apache官网下载稳定版本(如3.4.6),解压后移动至
/usr/local/zookeeper
目录:wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz tar xvf zookeeper-3.4.6.tar.gz sudo mv zookeeper-3.4.6 /usr/local/zookeeper
- 配置ZooKeeper:创建并编辑
zoo.cfg
文件(位于/usr/local/zookeeper/conf
目录),设置数据目录和客户端端口:sudo cat > /usr/local/zookeeper/conf/zoo.cfg < < EOF tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 EOF
- 创建数据目录并授权:ZooKeeper需专用目录存储数据,执行以下命令:
sudo mkdir -p /var/lib/zookeeper sudo chown -R $(whoami):$(whoami) /var/lib/zookeeper # 临时授权,生产环境建议使用专用用户
- 启动ZooKeeper:通过以下命令启动服务,并验证端口
2181
是否监听:sudo /usr/local/zookeeper/bin/zkServer.sh start sudo netstat -nap | grep 2181
四、安装并配置Kafka
- 下载并解压Kafka:从Apache官网下载最新稳定版本(如3.5.2),解压后移动至
/usr/local/kafka
目录:wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz tar -xzf kafka_2.12-3.5.2.tgz sudo mv kafka_2.12-3.5.2 /usr/local/kafka
- 配置Kafka:编辑
server.properties
文件(位于/usr/local/kafka/config
目录),设置关键参数:broker.id=0 # 当前broker的唯一标识(集群中需唯一) listeners=PLAINTEXT://:9092 # 监听的地址和端口(本地测试可设为localhost) log.dirs=/tmp/kafka-logs # Kafka日志存储目录(生产环境建议使用专用磁盘目录) zookeeper.connect=localhost:2181 # ZooKeeper连接地址(集群中需填写所有节点)
- 创建日志目录并授权:Kafka需专用目录存储消息日志,执行以下命令:
sudo mkdir -p /tmp/kafka-logs sudo chown -R $(whoami):$(whoami) /tmp/kafka-logs # 临时授权,生产环境建议使用专用用户
- 启动Kafka服务:通过以下命令以后台模式启动Kafka,并验证端口
9092
是否监听:sudo /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties sudo netstat -nap | grep 9092
五、测试Kafka功能
- 创建Topic:创建名为
test
的Topic(分区数1,副本数1):sudo /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
- 列出Topic:验证Topic是否创建成功:
sudo /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
- 发送消息:启动控制台生产者,向
test
Topic发送消息:sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
- 消费消息:启动控制台消费者,从
test
Topic接收消息(--from-beginning
表示从最早消息开始消费):
在生产者终端输入消息,消费者终端应能实时接收。sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
六、可选优化步骤
- 配置环境变量:将Kafka的
bin
目录添加至系统PATH
,方便全局调用命令。编辑~/.bashrc
文件,添加以下内容:
执行export KAFKA_HOME=/usr/local/kafka export PATH=$PATH:$KAFKA_HOME/bin
source ~/.bashrc
使配置生效。 - 防火墙配置:若系统启用了
ufw
防火墙,需允许Kafka(9092)和ZooKeeper(2181)端口:sudo ufw allow 9092/tcp sudo ufw allow 2181/tcp sudo ufw reload
- 后台启动脚本:为Kafka和ZooKeeper创建systemd服务文件(如
kafka.service
、zookeeper.service
),实现开机自启和进程管理(需根据实际情况编写服务文件)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: kafka于ubuntu怎样正确设置
本文地址: https://pptw.com/jishu/723755.html