ubuntu上kafka配置步骤是什么
导读:Ubuntu 上配置 Apache Kafka 的步骤 一 准备环境 安装 Java(推荐 OpenJDK 11): 执行:sudo apt update && sudo apt install openjdk-11-j...
Ubuntu 上配置 Apache Kafka 的步骤
一 准备环境
- 安装 Java(推荐 OpenJDK 11):
- 执行:
sudo apt update & & sudo apt install openjdk-11-jdk -y - 验证:
java -version
- 执行:
- 创建专用用户(可选,提升安全性):
- 执行:
sudo adduser kafka,按需加入 sudo 组,后续操作在该用户下进行。
- 执行:
二 安装与目录准备
- 下载并解压 Kafka(示例版本 3.5.2,Scala 版本 2.12):
- 执行:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz - 解压:
tar -xzvf kafka_2.12-3.5.2.tgz - 移动:
sudo mv kafka_2.12-3.5.2 /usr/local/kafka
- 执行:
- 配置环境变量(可选,便于全局使用命令):
- 写入:
echo 'export KAFKA_HOME=/usr/local/kafka' > > ~/.bashrc - 写入:
echo 'export PATH=$PATH:$KAFKA_HOME/bin' > > ~/.bashrc - 生效:
source ~/.bashrc
- 写入:
- 创建数据与日志目录(示例):
- 执行:
sudo mkdir -p /usr/local/kafka/data /usr/local/kafka/logs - 授权:
sudo chown -R $USER:$USER /usr/local/kafka(如使用 kafka 用户则改为chown -R kafka:kafka)。
- 执行:
三 配置 ZooKeeper
- 编辑配置文件:
/usr/local/kafka/config/zookeeper.properties- 关键项:
dataDir=/usr/local/kafka/data、clientPort=2181
- 关键项:
- 启动方式(二选一):
- 前台:
/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties - 作为系统服务(推荐):
- 新建:
sudo nano /etc/systemd/system/zookeeper.service - 内容:
[Unit] Description=Apache Zookeeper After=network.target [Service] Type=simple User=kafka ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.target - 启用:
sudo systemctl daemon-reload & & sudo systemctl enable --now zookeeper
- 新建:
- 前台:
- 验证端口:
sudo netstat -nap | grep 2181或telnet localhost 2181。
四 配置并启动 Kafka Broker
- 编辑配置文件:
/usr/local/kafka/config/server.properties- 关键项示例:
broker.id=0(集群中每个 broker 唯一)listeners=PLAINTEXT://0.0.0.0:9092advertised.listeners=PLAINTEXT://< 服务器公网或内网IP> :9092zookeeper.connect=localhost:2181log.dirs=/usr/local/kafka/data
- 关键项示例:
- 启动方式(二选一):
- 前台:
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties - 后台:
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties - 作为系统服务(推荐):
- 新建:
sudo nano /etc/systemd/system/kafka.service - 内容:
[Unit] Description=Apache Kafka Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target - 启用:
sudo systemctl daemon-reload & & sudo systemctl enable --now kafka
- 新建:
- 前台:
- 验证端口:
sudo netstat -nap | grep 9092。
五 创建 Topic 并进行收发测试
- 创建 Topic(两种等效方式,任选其一):
- 使用 ZooKeeper(旧方式):
kafka-topics.sh --create --topic test-topic --zookeeper localhost:2181 --partitions 1 --replication-factor 1 - 使用 Bootstrap(新方式):
kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
- 使用 ZooKeeper(旧方式):
- 列出 Topic:
kafka-topics.sh --list --bootstrap-server localhost:9092 - 发送消息:
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic - 接收消息:
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning - 防火墙放行(云服务器常见):
- 执行:
sudo ufw allow 2181/tcp和sudo ufw allow 9092/tcp,然后sudo ufw reload。
- 执行:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu上kafka配置步骤是什么
本文地址: https://pptw.com/jishu/760611.html
