如何安装 Apache CentOS 上的卡夫卡?

在本教程中,我们将讨论如何安装 Apache CentOS 上的卡夫卡。

我们先来了解一下什么是 Apache 卡夫卡? 您有没有想过如何使用存储的数据或如何将数据从一个位置传输到另一个位置? 听起来不错? 是的! 这称为流式传输。 在早期,很难在许多用户之间发送消息。 处理实时数据很困难。 因此,LinkedIn 在 2011 年提出了处理实时数据的想法,即引入 卡夫卡 后来捐赠给 Apache 软件基金会(ASF)。

基本上,Kafka 是一个消息传递系统,即将消息从生产者发送到消费者。 您可能对什么是流媒体感到困惑? 基本上,流式传输将来自某些来源(如博客或传感器)的数据实时发布到您的集群,并让您也可以处理数据。 让我们更多地了解这个消息传递系统。

建筑学

你必须 生成所有数据的生产者。 例如,在 YouTube 上制作视频并将其发布到 Youtube 上的发布者被视为制作人。 现在 生成的数据以流的形式存储在 Kafka 集群中。 这个 Kafka Cluster 可以被认为是一组 broker. 那消费者怎么办? 基本上, 消费者生成请求以使用集群中的数据. 消费者可以被视为观看视频的 Youtube 订阅者或观众。 我希望你理解这个概念。

Apache Twitter、LinkedIn、Netflix、Mozilla、Oracle 等许多领先公司都在使用 Kafka。 因此,拥有它是一项宝贵的技能。 让我们学习如何安装 Apache CentOS 上的卡夫卡。

安装步骤 Apache CentOS 上的卡夫卡

让我们讨论如何安装 Apache CentOS 上的卡夫卡。 基本上,Kafka 是用 Scala 和 Java 编写的。 因此,Kafka 在 Java 上运行。 我假设您的系统中已经安装了 Java。 如果没有,请按照本教程的前半部分安装 Java。 然后继续进行。

刷新包

第一步是更新存储库。 更新存储库表示我们正在刷新包。 我们将使用 yum update 命令来更新 CentOS 中的软件包。 执行此操作的命令如下:

sudo yum update  

此命令将更新所有存储库。

下载并解压安装文件进行安装 Apache CentOS 上的卡夫卡

刷新存储库后,安装 Apache CentOS 上的 Kafka,需要下载包。 使用下载 tar 文件 wget 命令。 基本上,wget 命令用于使用 HTTP、HTTPS 和 FTP 协议从 Web 服务器下载文件。 下载 tar 文件后,将使用 tar 命令将其解压缩。 这将会在稍后讨论。 下载文件的命令如下:

wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.4.1/kafka_2.12-2.4.1.tgz 
列出文件夹

您可以在上图中看到 Kafka tar 文件。 使用 ls 命令列出所有文件夹。

成功下载文件后, 您需要使用 tar 命令提取文件. 执行此操作的命令如下:

tar -xzf kafka_2.12-2.4.1.tgz 
解压 Tar 文件 Step2提取 Tar 文件

解压缩后,使用更改其目录 MV 命令如下图:

mv kafka_2.12-2.4.1 /usr/local/kafka 
移动到 Kafka 目录 Step3移动到 Kafka 目录

设置配置文件

成功解压和更改目录后,下一步是在systemd文件中进行一些配置,以便管理zookeepers和Kafka的状态。 您可能对 Zookeeper 是什么感到困惑? 基本上,Zookeeper 用于管理代理。 简单来说,Zookeeper 就是一个知道哪个 key 属于哪个房间的管理器。 在这里,消息被表示为键。 我希望你能理解。 但是,创建文件将有助于管理 Kafka 服务,即启动和停止。 执行此操作的命令如下:

vim /etc/systemd/system/zookeeper.service 
开启 Zookeeper 服务的命令 Step5打开 Zookeeper 服务的命令

在文本编辑器中添加以下代码:

[Unit] Description=Apache Zookeeper server Documentation=https://zookeeper.apache.org Requires=network.target remote-fs.target After=network.target remote-fs.target  [Service] Type=simple ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal  [Install] WantedBy=multi-user.target 
在 Zookeepur Step4 中添加内容在 Zookeeper 中添加内容

不要忘记保存文件。 按 Esc 键或 Ctrl +C 退出插入模式,然后 “:哇!” 保存更改并退出编辑器。

在此之后,您需要使用相同的命令创建 Kafka.service 文件:

vim /etc/systemd/system/kafka.service 
打开 Kafka 服务文件 Step7打开 Kafka 服务文件

添加以下代码。 请更改 JAVA_HOME 的路径。 你的情况可能不一样。

[Unit] Description=Apache Kafka Server Documentation=https://kafka.apache.org/documentation.html Requires=zookeeper.service  [Service] Type=simple Environment="JAVA_HOME=/usr/lib/jvm/jre-11-openjdk" ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh  [Install] WantedBy=multi-user.target 

Save 它使用上面讨论的命令。 因此,您已成功进行配置。

启动 Zookeeper 服务器

我已经在上一节中解释了 Zookeeper。 我希望你明白了。 在这里,我们必须启动 Zookeeper 服务器。 这个消息系统的事实是生产者不知道消费者的身份。 例如,YouTube 上的发布商不知道他的视频的观众是谁。 订阅者不知道他。 动物园管理员来了。 它将消息发送给特定的消费者。

在使用命令之前,请更改路径。 让我们看看下面的命令来启动服务器:

cd /usr/local/kafka bin/zookeeper-server-start.sh config/zookeeper.properties 
启动 Zookeeper 服务 Step9启动 Zookeeper 服务

启动 Kafka 服务器

完全安装后 Apache CentOS上的Kafka启动Zookeeper服务器,下一步就是启动Kafka服务器。 这将设置生产者和消费者之间的关系。 让我们看一下下面的命令:

bin/kafka-server-start.sh config/server.properties 
启动 Kafka 服务 Step10启动卡夫卡服务

在 Kafka 中创建主题的命令

至此,我们已经成功启动了两台服务器。 如上所述,Kafka 是一个消息代理,它将消息从生产者发送到消费者。 你有没有想过它是如何工作的? 它只是创建一个主题,提供分区并分配一个偏移量。 消费者通过一个偏移量消费。 让我们看一下创建主题的命令。

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test 
创建测试步骤 10 1创建主题

您可以更改主题的名称。 我以“测试”为例。

如果要查看主题列表,请使用以下命令

bin/kafka-topics.sh --list --bootstrap-server localhost:9092 
运行主题列表步骤 11运行主题列表

它将打印您创建的主题列表。

设置Producer和Consumer的关系

信使会发生什么? 发送者发送另一端收到的消息。 那么这是什么? 这是生产者和消费者之间建立的连接。 同样在这里,我们将设置生产者和消费者之间的连接。 生产者端发送的消息会显示在消费者端。

为此,您需要启动生产者和消费者。 下面我们来看看启动producer的命令

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 
启动生产者 Step12开始制作人

选择新终端以启动消费者服务并键入以下命令:

> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 
启动消费者 Step13启动消费者

在生产者-消费者站点显示消息

成功设置连接后,当您在生产者站点键入消息时,它将在消费者端接收。 但不要忘记这两个命令都应该在不同的终端中运行。 即使启动 Kafka 服务,生产者和消费者服务也应该在不同的终端中。

让我们看看下面的图片:

从生产者向消费者发送消息从生产者向消费者发送消息

此消息由生产者在生产者站点生成。 它将在消费者端成功接收。 让我们看看下面的图片:

收到来自生产者的消息收到来自生产者的消息

因此,您已经成功建立了生产者和消费者之间的连接。

结论

在本教程中,我们已经介绍了如何安装 Apache CentOS 中的卡夫卡。 我们希望您现在知道如何有效地使用该命令。 如果您有任何疑问,请在评论中告诉我们。