kafka在Linux下搭建实践

时间:2021-04-12 12:15:41

本文根据kafka官网说明,分享kafka环境搭建过程。官网说明
从官网下载kafka压缩包kafka_2.11-0.10.1.0.tgz,解压后进入主目录:

[root@centos-78 kafka_2.11-0.10.1.0]# ls
bin config libs LICENSE logs NOTICE site-docs

kafka的启动主要是执行脚本,而不是服务方式启动,因为kafka用到zookeeper,所以在启动kafka之前要先启动zookeeper,如果没有安装zookeeper可以使用kafka自带的zookeeper快速启动,也是脚本方式,以配置文件为参数:

bin/zookeeper-server-start.sh config/zookeeper.properties

然后启动kafka:

bin/kafka-server-start.sh config/server.properties

kafka中处理消息是以topic分类的,在存储消息时要先创建topic:

bin/kafka-topics.sh --create --zookeeper  192.168.1.100:2181 --replication-factor 1--partitions 1 --topic it_lv

查看topic列表:

bin/kafka-topics.sh --list --zookeeper 192.168.1.100:2181

向topic里面发送消息:

bin/kafka-console-producer.sh --broker-list 192.168.1.100:9092 --topic it_lv

然后可以在标准输入中输入消息,再打开终端,使用如下命令查看:

bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.100:9092--topic it_lv --from-beginning

可实时显示。
Kafka命令都是以脚本方式运行,后面接有参数,参数的配置及含义可通单独执行脚本后面不加任何参数,会有相关提示和说明。
Kafka属于分布式消息处理,所以要以集群方式搭建,broker是kafka中的节点,上述过程中只启动了一个broker,可以通过以下方式扩展为三个broker的集群。

cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties

分别修改server-1.properties和server-2.properties中的broker.id和log.dir,ZAI 在同一台机器上运行所以listeners只需修改端口号即可。

config/server-1.properties:
broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1
config/server-2.properties:
broker.id=2
listeners=PLAINTEXT://:9094
log.dir=/tmp/kafka-logs-2

然后启动这两个broker:

bin/kafka-server-start.sh config/server-1.properties &
bin/kafka-server-start.sh config/server-2.properties &

小笨驴在吃草的时候创建了微信公众号,为方便更多觅食的“小笨驴”,为大家准备了大量的免费基础教学资料以及技术解决方案,还会定时发布一些好的技术文章,当然也会扯扯蛋、谈谈人生、呵呵,希望我们这群乐于分享技术的“小笨驴”团队越来越大!


kafka在Linux下搭建实践