注意:需要java环境
[root@hcss-ecs-2a6a ~]# java -version
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)
[root@hcss-ecs-2a6a ~]#
1、 安装 Zookeeper
1.1 下载 Zookeeper
从 Apache 官方网站下载 Zookeeper 的安装包。这里以最新的稳定版本为例。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
1.2 解压安装包
将下载的安装包解压到一个合适的目录,例如 /opt。
sudo tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt
1.3 创建软链接
为了方便管理,可以创建一个软链接指向解压后的目录。
sudo ln -s /opt/apache-zookeeper-3.7.1-bin /opt/zookeeper
1.4 配置 Zookeeper
编辑 Zookeeper 的配置文件 zoo.cfg。
sudo mkdir -p /opt/zookeeper/data
sudo nano /opt/zookeeper/conf/zoo.cfg
在 zoo.cfg 文件中添加以下内容:
tickTime=2000
dataDir=/opt/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
1.5 启动 Zookeeper
启动 Zookeeper 服务。
sudo /opt/zookeeper/bin/zkServer.sh start
验证 Zookeeper 是否启动成功:
sudo /opt/zookeeper/bin/zkServer.sh status
2、安装 Kafka
2.1 下载 Kafka
从 Apache 官方网站下载 Kafka 的安装包。这里以最新的稳定版本为例。
wget https://archive.apache.org/dist/kafka/3.0.0/kafka_2.13-3.0.0.tgz
2.2 解压安装包
将下载的安装包解压到一个合适的目录,例如 /opt。
sudo tar -zxvf kafka_2.13-3.0.0.tgz -C /opt
2.3 创建软链接
为了方便管理,可以创建一个软链接指向解压后的目录。
sudo ln -s /opt/kafka_2.13-3.0.0 /opt/kafka
2.4 配置 Kafka
编辑 Kafka 的配置文件 server.properties。
sudo nano /opt/kafka/config/server.properties
在 server.properties 文件中进行以下配置:
broker.id=0
listeners=PLAINTEXT://:9092
zookeeper.connect=localhost:2181
log.dirs=/opt/kafka/logs
确保 zookeeper.connect 指向你刚刚启动的 Zookeeper 服务。
2.5 创建日志目录
创建 Kafka 的日志目录。
sudo mkdir -p /opt/kafka/logs
2.6 启动 Kafka
启动 Kafka 服务。
sudo /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
验证 Kafka 是否启动成功:
[root@hcss-ecs-2a6a ~]# /opt/java/jdk-17.0.12/bin/jps
18307 QuorumPeerMain
19848 Kafka
28121 ConsoleConsumer
27627 ConsoleProducer
29996 Jps
你应该能看到 Kafka 进程在运行。
3、测试 Kafka
创建一个测试主题并发送消息。
3.1 创建主题
sudo /opt/kafka/bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
3.2 发送消息
sudo /opt/kafka/bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
在打开的终端中输入一些消息,例如:
Hello, Kafka!
3.3 消费消息
打开另一个终端,运行消费者来接收消息。
sudo /opt/kafka/bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
你应该能看到之前发送的消息。
html
修改配置文件,添加以下内容:
# 允许外部端口连接
listeners=PLAINTEXT://0.0.0.0:9092
# 外部代理地址
advertised.listeners=PLAINTEXT://1.94.145.26:9092
重启kafka
./kafka-server-stop.sh
./kafka-server-start.sh -daemon ../config/server.properties
测试:
curl -X POST http://localhost:8080/api/kafka/publish -H "Content-Type: application/json" -d '"Hello, Kafka!"'