使用的主机是腾讯云轻量服务器
,系统是Ubuntu Server 20.04 LTS 64bit
。
进入kafka官网
找到需要的版本的下载地址。然后通过wget
下载。我下载的是最新的。
wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.12-3.0.0.tgz
就是下载起来特别慢。
下载完成后解压。
tar -zxvf kafka_2.12-3.0.0.tgz
我是打算用的自带的zookeeper
所以就不单独安装了。
进入kafka
的config
目录。需要修改的配置文件是server.properties
和zookeeper.properties
。一般会备份一份出来以备不时之需。
首先修改配置文件server.properties
。我的改动是踩过坑的,配置完成后可以通过公网IP
直接连接kafka
,但是本地虚拟机连接时不能使用127.0.0.1
和localhost
进行连接。
#我喜欢把数据存活时间设置成七小时,默认是168也就是七天
log.retention.hours=7
#端口看个人需求
host.name=内网IP
listeners=PLAINTEXT://内网IP:9092
advertised.listeners=PLAINTEXT://公网IP:9092
我单机加了以上配置就够了。
接着修改zookeeper.properties
。我修改的是zookeeper
的data
和log
的路径。看个人习惯,记得创建一下,直接创建建议使用命令加绝对路径比如mkdir -pv /home/zhu/logs/zookeeper/data
。
dataDir=/home/zhu/logs/zookeeper/data
dataLogDir=/home/zhu/logs/zookeeper/log
以上配置就全部完成了。我没动/etc/hosts
配置。
创建了两个脚本,启动和停止的。
zhu@vm-zhu-001:~/shell$ cat kafka-start.sh
#!/bin/bash
#启动zookeeper
echo "开始启动zookeeper"
/home/zhu/kafka_2.12-3.0.0/bin/zookeeper-server-start.sh -daemon /home/zhu/kafka_2.12-3.0.0/config/zookeeper.properties &
sleep 3
#启动kafka
echo "开始启动kafka"
/home/zhu/kafka_2.12-3.0.0/bin/kafka-server-start.sh -daemon /home/zhu/kafka_2.12-3.0.0/config/server.properties &
echo "启动完成"
zhu@vm-zhu-001:~/shell$ cat kafka-stop.sh
#!/bin/bash
#停止kafka
/home/zhu/kafka_2.12-3.0.0/bin/kafka-server-stop.sh
sleep 3
#停止zookeeper
/home/zhu/kafka_2.12-3.0.0/bin/zookeeper-server-stop.sh
zhu@vm-zhu-001:~/shell$
运行启动脚本启动即可。
记得在腾讯云上面开始允许访问9092
端口。
程序测试也ok。