环境准备
java运行环境
在安装Kafka之前需要安装java运行环境,Kafka支持java8及以上版本,通过以下命令查看java运行环境版本
java -version
安装包下载
官网:Apache Kafka
根据自己的需要下载对应版本
Zookeeper
Kafka使用Zookeeper进行分布式协调,在安装Kafka之前需要安装Zookeeper。
查看下载版本
在下载好的Kafka里面的libs文件夹查看Zookeeper对应jar包,可以看到需要下载Zookeeper版本为3.8.3:
下载Zookeeper
地址1:官网:Apache ZooKeeper
地址2:Index of /
安装Zookeeper
将下载的压缩包上传到指定目录
解压文件
tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz
进入解压目录创建文件夹
cd apache-zookeeper-3.8.3-bin
mkdir zkData
进入conf目录,复制zoo_sample.cfg 文件,并命名为 zoo.cfg(必须用这个名),然后修改zoo.cfg里的dataDir
cd conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
进入bin目录
启动Zookeeper
./zkServer.sh start
启动客户端、连接
./zkCli.sh -server 127.0.0.1:2181
退出客户端
quit
查看状态
./zkServer.sh status
停止Zookeeper
./zkServer.sh stop
安装Kafka
解压配置
将压缩包上传至指定目录
解压
tar -zxvf kafka_2.12-3.6.1.tgz
进入config目录修改配置文件server.properties(本机运行可默认不改)
cd kafka_2.12-3.6.1/config/
vi server.properties
常用命令
进入bin目录
启动停止服务
启动命令
./kafka-server-start.sh ../config/server.properties &
停止命令
./kafka-server-stop.sh
查看进程
ps -ef | grep kafka
创建topic
2.8以前的Kafka需要依赖Zookeeper创建topic
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic-name
查看已创建的topic
./kafka-topics.sh -list --zookeeper localhost:2181
2.8+的Kafka,已经不需要依赖zookeeper来创建topic,新版本使用 --bootstrap-server 参数
./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic topic-name --partitions 1
查看已创建的topic
./kafka-topics.sh --list --bootstrap-server localhost:9092
创建生产者
发送消息(localhost可以为前面配置的公网或内网IP)
./kafka-console-producer.sh --broker-list localhost:9092 --topic topic-name
创建消费者
从头开始消费
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-name --from-beginning
从最后一条消息的偏移量+1开始消费
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-name
Windows安装
解压及配置与Linux相同,路径信息配置Windows相关路径信息
启动Zookeeper:双击zkServer.cmd和zkCli.cmd
启动Kafka:进入解压后的目录,进入cmd,输入以下命令
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --create --topic topic-name --partitions 1
创建topic
.\bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092
创建生产者
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic topic-name
创建消费者
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topic-name