Apache-Kafka安装和使用

x33g5p2x  于2020-09-08 发布在 Kafka  
字(2.2k)|赞(0)|评价(0)|浏览(671)

单机环境

官方建议使用JDK 1.8版本,因此本文使用的环境都是JDK1.8。关于JDK的安装,本文不再详述,默认Java环境已经具备。

由于Kafka依赖zookeeper,kafka通过zookeeper现实分布式系统的协调,所以我们需要先安装zookeeper。

接下来我们按照如下步骤,一步步来安装kafka:

1、下载zookeeper,解压。

下载地址:https://zookeeper.apache.org/releases.html#download

2、创建zookeeper配置文件

在zookeeper解压后的目录下找到conf文件夹,进入后,复制文件zoo_sample.cfg,并命名为zoo.cfg

zoo.cfg中一共四个配置项,可以使用默认配置。

3、启动zookeeper。

进入zookeeper根目录执行 bin/zkServer.sh start

4、下载kafka,解压。

kafka 2.0版本下载地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.0.0/kafka_2.11-2.0.0.tgz

5、修改kafka的配置文件

进入kafka根目录下的config文件夹下,打开server.properties,修改如下配置

zookeeper.connect=localhost:2181

broker.id=0

log.dirs=/tmp/kafka-logs

zookeeper.connect是zookeeper的链接信息,broker.id是当前kafka实例的id,log.dirs是kafka存储消息内容的路径。

6、启动kafka

进入kafka根目录执行 bin/kafka-server-start.sh config/server.properties

此命令告诉kaka启动时使用config/server.properties配置项

启动kafka后,如果控制台没有报错信息,那么kafka应该已经启动成功了,我们可以通过查看zookeeper中相关节点值来确认。步骤如下:

1、启动zookeeper的client

进入zookeeper根目录下,执行 bin/zkCli.sh -server 127.0.0.1:2181。启动成功后如下图

2、输入命令 ls /brokers,回车,可以看到如下信息:

这些子节点存储的就是kafka集群管理的数据。broker是kafka的一个服务单元实例

3、我看看一下ids这个节点下的数据,输入命令 ls /brokers/ids,可以看到如下信息:

还记得我们在配置单机环境时,修改的kafka配置项broker.id=0 吗?这里的0就是表示那个kafka的实例已经加入了kafka集群。

集群环境

集群环境的搭建也很简单,在单机环境的基础上,让多个单机连接到同一个zookeeper即可。需要注意两点:

1、每个实例设置不同的broker.id。

2、如果多个实例部署在同一台服务器,还要注意修改log.dirs为不同目录,确保消息存储时不会有冲突。集群环境的具体搭建,在此精简教程中不再做详细讨论。

发出你的第一条kafka消息

我们通过kafka带的工具来创建一个topic,然后尝试发送和消费一个消息,直观的去感受下kafka。

1、创建topic

进入kafka根目录,执行如下命令:

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

执行成功后,创建了study这个topic,如下图所示:

此命令行有几个参数,分别指明了zookeeper的链接信息,分区和副本的数量等。关于分区和副本后续会仔细讲解,现在不用过多关注。

2、启动消费者

我们开启一个消费者并且订阅study这个topic,执行如下命令:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic study --from-beginning

看到如下图,光标停留在最前面,没有任何信息输出,说明启动消费者成功,此时在等待新的消息。

3、开启生产者

新打开一个命令窗口,输入命令

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic study

启动成功后,如下图,等待你输入新的消息。

4、发送你的第一条消息

在上面生产者的窗口输入一条消息 hello kafka,点击回车,如下图:

此时切换到消费者的窗口,可以看到消费者已经消费到这条消息,在窗口中打印了出来。

至此我们走完了一个发送消息的流程,可以看到我们经历了创建topic、启动生产者、消费者、生产者生产消息、消费者消费消息,这几个步骤。

小结:通过本章节学习,相信你已经能够成功搭建起kafka单机环境,甚至集群环境。然后通过kafka自带的工具,直观的感受了kafka运转的整个过程。接下来的章节我们将会进入kafka的核心领域,也是本教程的重点章节,只有理解了kafka内在的设计理念和原理,才能做到活学活用。

相关文章