搭建KAFKA环境
cd /opt/kafka
wget https://apache.mirror.digitalpacific.com.au/kafka/3.0.0/kafka_2.13-3.0.0.tgz
解压 tar -xzvf kafka_2.13-3.0.0.tgz
# 创建kafka消息存放目录,配置文件server.properties中的log.dir需要用到
$ mkdir /opt/kafka/kafka_2.13-3.0.0/kafka_logs
配置/opt/kafka/kafka_2.13-3.0.0/config/server.properties
vim /opt/kafka/kafka_2.13-3.0.0/config/server.properties
broker.id=0
listeners=PLAINTEXT://192.168.1.105:9092
advertised.listeners=PLAINTEXT://192.168.1.105:9092
log.dirs=/opt/kafka_2.10-0.10.1.1/logs #日志存放路径,上面创建的目录
zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
配置/opt/kafka/kafka_2.13-3.0.0/config/consumer.properties
bootstrap.servers=192.168.1.105:9092
启动KAFKA服务
注意:你的本地环境必须安装有Java 8+。
首先启动KAFKA自带的zookeeper,在bin目录下。
./zookeeper-server-start.sh ../config/zookeeper.properties&
打开另一个命令终端启动kafka服务,在bin目录下。
./kafka-server-start.sh ../config/server.properties &
测试KAFKA服务
先创建一个topic主题
./kafka-topics.sh --create --bootstrap-server 192.168.1.105:9092 --replication-factor 1 --partitions 1 --topic topic
用producer去发送一条信息到topic主题中。
./kafka-console-producer.sh --broker-list 192.168.1.105:9092 --topic topic
hello
this is a message
打开另一个终端,用consumer去读取topic主题中的信息
./kafka-console-consumer.sh --bootstrap-server 192.168.1.105:9092 --topic topic --from-beginning
顺利读出topic中的信息
关闭Kafka
#关闭zookeeper\
./bin/zookeeper-server-stop.sh config/zookeeper.properties &\
#关闭kafka\
./bin/kafka-server-stop.sh config/server.properties &
也可以直接kill进程,shell脚本也是找到Pid, 然后kill.
另外,测试时可以直接删除kafka的本地数据目录,比如kafka_logs。正式环境如何清除可查阅文档。