怎样安装 Apache CentOS 上的 Kafka?

在本教程中,我们将讨论怎样安装 Apache CentOS 上的 Kafka。

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

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

建筑学

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

Apache 许多领先的公司都在使用 Kafka,例如 Twitter, 领英, Netflix、Mozilla、Oracle等。 所以这是一项宝贵的技能。 让我们学习怎样安装 Apache CentOS 上的 Kafka。

目录

安装步骤 Apache CentOS 上的 Kafka

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

刷新包

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

sudo yum update 

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

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

刷新存储库后,安装 Apache CentOS上的Kafka,需要下载安装包。 使用下载 tar 文件 获取 命令。 基本上,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文件中进行一些配置,以便它可以管理zookeeper和Kafka的状态。 您可能对什么是 Zookeeper 感到困惑? 基本上,Zookeeper 用于管理代理。 简单来说,Zookeeper就是一个知道哪个钥匙属于哪个房间的管理者。 在这里,消息被表示为键。 我希望你理解它。 但是,创建文件将有助于管理 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 退出插入模式,然后 “:wq!” 保存更改并退出编辑器。

在此之后,您需要使用相同的命令创建 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 服务器。 这个消息传递系统的事实是生产者不知道消费者的身份。 为了 example, 出版商 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
创建测试 Step10 1创建主题

您可以更改主题的名称。 我已将“测试”作为 example.

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

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服务,生产者和消费者服务也应该在不同的终端。

让我们看看下面的图片:

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

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

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

至此,您已经成功建立了 Producer 和 Consumer 之间的连接。

结论

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