一、单机版安装
1、环境准备
需要检查是否已经安装了jdk,
java -version
2、下载kafka压缩包
两个包分别表示是用Scala语言的两个版本写的
3、解压
上传到
/opt/module,解压tar -zxvf kafka_2.13-3.0.0.tgz
/bin目录
/config目录
4、修改配置
如果是单机的启动,需要修改一下
/config/zookeeper.properties的配置vi /config/zookeeper.properties
dataDir=/opt/data/zookeeper
#开放端口
clientPort=2181
修改
/config/server.properties中的配置vi /config/server.properties
#在集群中,需要唯一
broker.id=0
#原为临时目录/tmp/kafka-log,需要修改
log.dirs=/opt/module/kafka/datas
#在zk的根目录中建一个kafka的目录,方便管理
zookeeper.connect=192.168.56.88:2181/kafka
5、配置环境变量
6、启动
1)先启动zookeeker
单机启动,可以直接使用kafka自带的zk
#-daemon 使用自己修改后的配置文件覆盖默认配置
/opt/module/kafka_2.13-3.0.0/bin/zookeeper-server-start.sh -daemon /opt/module/kafka_2.13-3.0.0/config/zookeeper.properties
2)启动kafka-server
#-daemon 使用自己修改后的配置文件覆盖默认配置
/opt/module/kafka_2.13-3.0.0/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.13-3.0.0/config/server.properties
3)使用jps查看是否启动成功
如果需要停止,需要先停kafka,然后再停zookeeper
二、常用命令
1、bin/kafka-topic.sh
| 命令 | 用途 |
|---|---|
| --bootstrap-server | 连接kafka broker,String中为 主机号:端口号 |
| --topic | 操作topic的名称 |
| --create | 创建 |
| --delete | 删除 |
| --alter | 修改 |
| --list | 获取简略信息 |
| --describe | 获取详细信息 |
| --partitions | 分区数:只能增加,不能减少 |
| --replication-factor | 副本数:默认为1,可以在创建的时候只能,之后不能使用命令修改 |
| --configString:name=value | 更新默认配置 |
2、bin/kafka-console-producer.sh
| 命令 | 用途 |
|---|---|
| --bootstrap-server | 连接kafka broker,String中为 主机号:端口号 |
| --topic | 操作topic的名称 |
3、bin/kafka-console-consumer.sh
| 命令 | 用途 |
|---|---|
| --bootstrap-server | 连接kafka broker,String中为 主机号:端口号 |
| --topic | 操作topic的名称 |
| --from-beginning | 从头开始消费 |
三、简单使用
1、新建一个topic
#创建一个topic名为first,1个分区,1个副本
./kafka-topics.sh --bootstrap-server 192.168.56.88:9092 --topic first --create --partitions 1 --replication-factor 1
#查看简略信息
./kafka-topics.sh --bootstrap-server 192.168.56.88:9092 --list
#查看first的具体信息
./kafka-topics.sh --bootstrap-server 192.168.56.88:9092 --topic first --describe
2、启动消费者,接收信息
./kafka-console-consumer.sh --bootstrap-server 192.168.56.88:9092 --topic first
3、启动生产者,发送消息
./kafka-console-producer.sh --bootstrap-server 192.168.56.88:9092 --topic first