1、安装zookeeper之前需要先安装jdk。
下载jdk 11 gz压缩包(一定要是x64的,和系统匹配) https://www.oracle.com/java/technologies/downloads/#java11
解压到自定义目录(我的是 /usr/data/java)
tar -zxvf jdk-11.0.16.1_linux-x64_bin.tar.gz
配置环境变量(可以和zookeeper的一同配置) 输入如下指令:
vim /etc/profile
按i进入编辑模式,在文件最后写入:
export JAVA_HOME=/usr/local/install/jdk-11
export PATH=$JAVA_HOME/bin:$PATH
esc退出编辑模式,:wq 保存
更新配置文件 source /etc/profile
输入java -version 查看是否安装成功
2、下载zookeeper(3.7.1)
下载zookeeper gz压缩包 https://zookeeper.apache.org/releases.html
解压到自定义目录(我的是/usr/data/zookeeper)
tar -zxvf zookeeper-3.7.1-alpha.tar.gz -c /usr/data/zookeeper
进入config目录下,拷贝(cp指令)zoo_sample.cfg文件重命名为zoo.cfg
修改zoo.cfg文件中 dataDir=/usr/data/zookeeper/zkdata(自定义目录)
配置环境变量(可以和jdk的环境变量一起配置)输入如下指令:
vim /etc/profile
按i进入编辑模式,在文件最后写入:
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
esc退出编辑模式,:wq 保存
更新配置文件 source /etc/profile
3、启动zookeeper
zkServer.sh start
输入jps 能看到 QuorumPeerMain 就说明zookeeper启动成功
关闭zookeeper 指令:
zkServer.sh stop
4、下载kafka gz压缩包
https://www.apache.org/dyn/closer.cgi?path=/kafka/3.2.1/kafka_2.13-3.2.1.tgz
使用如下命令解压到自定义目录:(我的是/usr/data/kafka)
tar -xzf kafka_2.13-3.2.1.tgz
进入kafka的config目录下,有一个server.properties ,配置如下四个信息:
# broker的全局唯一编号,不能重复
broker.id=0
# 监听
listeners=PLAINTEXT://:9092
# 日志目录
log.dirs=/usr/data/kafka/logs
# 配置zookeeper的连接(如果不是本机,需要该为ip或主机名)
zookeeper.connect=localhost:2181
首先要确保zookeeper服务在启动中,就可开始启动kafka
5、在kafka目录的bin文件夹中启动kafka(不在bin文件夹就将./改为./bin/就可以)
启动kafka
./kafka-server-start.sh -daemon ../config/server.properties
后台启动kafka
nohup ./kafka-server-start.sh -daemon ../config/server.properties
停止kafka服务
./kafka-server-stop.sh
jps 查看启动的进程,如果可以看到kafka,就说明kafka启动成功
6、kafka一些简单操作指令
创建topic
./kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
查看已有的topic
./kafka-topics.sh --list --bootstrap-server localhost:9092
查看topic的描述
./kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test
删除topic
./kafka-topics.sh -delete --bootstrap-server localhost:9092 --topic test
启动生产者控制台
./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test
启动消费者控制台
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
查看topic里的数据
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
7、如遇到kafka服务无法关闭的问题
进入kafka安装目录下的bin目录,编辑kafka-server-stop.sh脚本,修改以下内容
将
PIDS=$(ps ax | grep -i ‘kafka.Kafka’ | grep java | grep -v grep | awk ‘{print $1}’)
修改为:
PIDS=$(jps -lm | grep -i 'kafka.Kafka' | awk '{print $1}')
kafka和zookeeper每次用完最好手动关闭,否则可能出现下一次启动文件被占用的情况。