Linux下Kafka环境的搭建

时间:2021-11-22 02:43:31

        本文对Kafka做个简单介绍(详细的介绍在后续文章中体现),着重介绍下Linux下Kafka环境的搭建(单机),后续会补充集群环境下的配置。

        Kafka简介

              Apache Kafka是分布式发布-订阅消息系统。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。
                Apache Kafka与传统消息系统相比,有以下不同:
                   它被设计为一个分布式系统,易于向外扩展;
                   它同时为发布和订阅提供高吞吐量;
                   它支持多订阅者,当失败时能自动平衡消费者;
                   它将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。
                                                    Linux下Kafka环境的搭建
                                                                                       图片来自官网

        安装JDK

               Kafka需要依赖JAVA环境运行,JDK的安装在之前的文章有做详细描述,仅供参考。

       下载Kafka版本

               本文下载的是kafka_2.10-0.10.1.1.tgz版本,可以使用wget下载,也可以自行下载。 下载地址:http://kafka.apache.org/downloads

        安装和配置

              1、将包下载到相关的目录,然后解压Zookeeper到指定目录;
                     #cd /opt;
                     #tar -zxvf kafka_2.10-0.10.1.1.tgz;
                  2、配置日志:进入到/opt/ kafka_2.10-0.10.1.1目录创建日志目录;
                     #cd /opt/kafka_2.10-0.10.1.1;
                     #mkdir logs;
                  3、修改kafka配置文件;
                       进入到/opt/kafka_2.10-0.10.1.1/config目录,修改server.properties。
                       #cd /opt/kafka_2.10-0.10.1.1/config;
                       #vi server.properties #编辑修改相应的参数
                          broker.id=0
                          port=9092 #端口号
                          host.name=127.0.0.1 #服务器IP地址,修改为自己的服务器IP
                          log.dirs=/opt/kafka_2.10-0.10.1.1/logs #日志存放路径,上面创建的目录
                          zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
                       #:wq! #保存退出
                  4、启动Zookeeper:
                       Kafka支持内置的Zookeeper和引用外部的Zookeeper,本文使用外部的Zookeeper。
                       启动Zookeeper可以参考前面文章: Linux下Zookeeper的(单机)安装与简单测试
                  5、Kafka操作。
                       (1)、启动kafka命令:
                                #cd /opt/kafka_2.10-0.10.1.1/bin;
                                # ./kafka-server-start.sh /opt/kafka_2.10-0.10.1.1/config/server.properties &;
                       (2)、停止kafka命令:
                                # ./kafka-server-stop.sh
                       (3)、创建Topic:(创建一个名为test的topic,只有一个副本,一个分区。)
                                #./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test
                       (4)、列出所有Topic:
                                #./kafka-topics.sh -list -zookeeper 127.0.0.1:2181                  
                       (5)、启动Producer并发送消息:
                                #./kafka-console-producer.sh --broker-list localhost:9092 --topic test
                               (输入相应的消息,eg:hello kafka;按Ctrl+C结束)
                        (6)、启动Consumer并接收消息:
                                #./kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic test --from-beginning