【Linux】kafka安装
说明
- 以
centos源码编译安装为例
步骤
- 安装
JDK:sudo yum install -y java-1.8.0-openjdk - 查看是否安装成功:
java -version1
2
3openjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode) - 配置Java环境变量
1
2
3
4
5
6
7
8##### 检查一下环境种是否有Java变量, 没有任何输出表示没有相应环境
echo $JAVA_HOME
##### 配置环境
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
##### 文件生效
source /etc/profile - 官网下载
kafka安装包,wget https://dlcdn.apache.org/kafka/3.2.0/kafka_2.12-3.2.0.tgz - 解压到指定路径,
sudo tar -zvxf kafka_2.12-3.2.0.tgz -C /opt/ - 创建一个文件的软连接,这样可以方便进行
kafka的升级,sudo ln -s /opt/kafka_2.12-3.2.0 /opt/kafka - 进入
kafka目录,启动zookeeper:sudo bin/zookeeper-server-start.sh config/zookeeper.properties - 新开一个终端,进入
kafka文件夹,启动kafka:bin/kafka-server-start.sh config/server.properties - 配置系统单元服务进行启动
kafka和zookeeper配置
zookeeper:- 添加文件:
sudo vim /etc/systemd/system/zookeeper.service1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
User=root
Group=root
[Install]
WantedBy=multi-user.target - 验证一下是否配置成功
1
2
3sudo systemctl start zookeeper
sudo systemctl status zookeeper
sudo systemctl stop zookeeper
- 添加文件:
配置
kafka添加文件:
sudo vim /etc/systemd/system/kafka.service1
2
3
4
5
6
7
8
9
10
11
12
13[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
[Service]
Type=simple
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target验证一下是否配置成功
1
2
3sudo systemctl start kafka
sudo systemctl status kafka
sudo systemctl stop kafka
- 测试,生产者消费者发消息
- 进入到kafka目录下,通过下面命令创建一个kafka topic:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopicbin/kafka-topics.sh --create -bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testTopic- 报错:

- 解决:使用 Kafka Broker的
--bootstrap-server localhost:9092来替代--zookeeper localhost:2181 - 参考
- 报错:
- 查看创建了多少个topic:
bin/kafka-topics.sh --list --zookeeper localhost:2181bin/kafka-topics.sh --list --bootstrap-server localhost:9092
- 通过生产者进行发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic - 创建一个消费者来进行接收消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning - 测试成功

- 进入到kafka目录下,通过下面命令创建一个kafka topic:
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 cv-programmer!





