- 解压安装包
[root@c2020122322280 /usr/src]# tar xf kafka_2.12-2.4.0.tgz -C /usr/local
Zookeeper
配置
# 直接使用其自带的Zookeepe
# 配置文件是config/zookeeper.properties
- 启动及停止
Zookeeper
# 启动zookeeper
[root@c2020122322280 /usr/local/kafka_2.12-2.4.0]# ./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
# 加-daemon参数,可以在后台启动Zookeeper,输出的信息在保存在执行目录的logs/zookeeper.out文件中
[root@c2020122322280 /usr/local/kafka_2.12-2.4.0]# ls logs/
zookeeper.out
[root@c2020122322280 /usr/local/kafka_2.12-2.4.0]# netstat -tunlp # 查看监听端口
tcp6 0 0 :::2181 :::* LISTEN 19141/java
tcp6 0 0 :::35081 :::* LISTEN 19141/java
#关闭zookeeper
[root@c2020122322280 /usr/local/kafka_2.12-2.4.0]# ./bin/zookeeper-server-stop.sh -daemon config/zookeeper.properties
Kafka
配置
# kafka的配置文件在config/server.properties文件中
# broker.id是kafka broker的编号,集群里每个broker的id需不同。我是从0开始
# listeners是监听地址,需要提供外网服务的话,要设置本地的IP地址
# log.dirs是日志目录,需要设置
# 设置Zookeeper集群地址,我是在同一个服务器上搭建了kafka和Zookeeper,所以填的本地地址
# num.partitions 为新建Topic的默认Partition数量,partition数量提升,一定程度上可以提升并发性
# 去掉注释,添加本机ip
listeners=PLAINTEXT://43.255.31.74:9092
- 启动及停止
kafka
# 启动kafka
[root@c2020122322280 /usr/local/kafka_2.12-2.4.0]# ./bin/kafka-server-start.sh -daemon config/server.properties
# -daemon 参数会将任务转入后台运行,输出日志信息将写入日志文件,日志文件在执行命令的目录下的logs目录中kafkaServer.out,结尾输同started说明启动成功
# 也可以用jps命令,看有没有kafka的进程
[root@c2020122322280 ~]# jps
17930 QuorumPeerMain
18332 Kafka
31212 Jps
# netstat -tunlp|grep 9092
# 停止kafka
[root@c2020122322280 /usr/local/kafka_2.12-2.4.0]#./bin/kafka-server-stop.sh config/server.properties
-
kafka
和Zookeeper
已启动完成 -
创建
topic
[root@localhost /usr/local/kafka_2.12-2.4.0]# bin/kafka-topics.sh --create --zookeeper 192.168.10.145:2181 --replication-factor 1 --partitions 1 --topic test
Created topic test.
# --replication-factor # 指定的副本数
# --partitions 1 # 指定的分区数
# 如果想创建其他数目需要修改配置文件中num.partitions .
offsets.topic.replication.factor=x
transaction.state.log.replication.factor=x
transaction.state.log.min.isr=x
default.replication.factor=x
- 查看
topic
[root@localhost /usr/local/kafka_2.12-2.4.0]# bin/kafka-topics.sh --list --zookeeper 192.168.10.145:2181
__consumer_offsets
test
- 发送消息
[root@localhost /usr/local/kafka_2.12-2.4.0]# bin/kafka-console-producer.sh --broker-list 192.168.10.145:9092 --topic test
>hello
>
- 接收消息
[root@localhost /usr/local/kafka_2.12-2.4.0]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.10.145:9092 --topic test --from-beginning
hello
- 查看特定主题
(topic)
的详细信息
[root@localhost /usr/local/kafka_2.12-2.4.0]# bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test
Topic: test PartitionCount: 1 ReplicationFactor: 1 Configs:
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
- 删除主题
[root@localhost /usr/local/kafka_2.12-2.4.0]# bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test