在Ubuntu 20.04上安装和配置Apache Kafka

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

先前的指南回顾了如何在CentOS 8上安装Apache Kafka,并解释了如何在Ubuntu 20.04(Focal Fossa)上安装Apache Kafka以保持相同的状态。我们介绍了很多定义,但是为了节省时间并增加一些便利,您可以在此处再次定义它们。

Apache Kafka是一个开放源代码的分布式事件流平台,成千上万的企业将其用于高性能数据管道,流分析,数据集成和关键任务应用程序。资源: 阿帕奇·卡夫卡..

让我们逐步分析它的含义。该事件以数字方式记录,这表明业务“发生了某些事情”。

事件流是一种从事件源(生产者)(例如数据库,传感器,移动设备,云服务,软件应用程序)以事件流的形式捕获实时数据的方法。永久保存这些事件流,以供以后检索。事件流操作,处理和实时追溯响应。根据需要将事件流路由到不同的目标技术(消费者)。资源: 阿帕奇·卡夫卡..

生产者是将数据发送到Kafka集群的程序/应用程序或实体。使用者坐在另一侧,并从Kafka群集接收数据。可以在不同服务器上为一个或多个Kafka代理配置Kafka群集。

“人人都有美,但并非所有人都能看到。” —孔子

其他遇到的术语的定义

  • 主题:主题是用于存储和发布特定数据流的通用名称。例如,如果要保存有关单击页面的所有数据,则可以将主题命名为“已添加客户”。
  • 分区:所有主题均分为多个分区(“篮子”)。创建主题时,必须指定分区数,但是以后可以根据需要增加分区数。每条消息都存储在一个具有增量ID(称为偏移值)的分区中。
  • Kafka代理:每个安装了Kafka的服务器都称为代理。这是一个包含一些带有分区主题的容器。
  • Zookeeper:Zookeeper管理Kafka集群的状态和配置。

Apache Kafka用法示例

以下是一些可以使用Apache Kafka的应用程序。

  • 消息代理:与大多数消息系统相比,Kafka的高吞吐量和内置的分区,复制和容错能力使其成为大型消息处理应用程序的理想解决方案。
  • 网站活动跟踪
  • 日志聚合:Kafka将文件详细信息抽象化,更明确地将日志或事件数据抽象为消息流。
  • 流:捕获事件源中的实时数据。永久保存这些事件流,以供以后检索。根据需要将事件流路由到不同的目标技术
  • 事件源:这是一种应用程序设计样式,其中状态更改按记录的时间顺序记录。
  • 提交日志:Kafka充当分布式系统的一种外部提交日志。该日志有助于在节点之间复制数据,并充当故障节点恢复数据的重新同步机制。
  • 指标:这涉及汇总来自分布式应用程序的统计信息以创建集中的操作数据提要。

在Ubuntu 20.04上安装Apache Kafka

Java是运行Apache Kafka所必需的,因此请准备服务器并安装所有必需的组件

步骤1:Ubuntu Server准备

更新新的Ubuntu 20.04服务器并安装Java,如下所示。

sudo apt update && sudo apt upgrade
sudo apt install default-jre wget git unzip -y
sudo apt install default-jdk -y

第2步:在Ubuntu 20.04上获取Kafka

正确安装Java后,获取Kafka源码。前往 下载 然后寻找最新版本,并从二进制下载中获取源代码。单击Kafka推荐的页面,将您重定向到带有链接的页面,您可以使用该链接进行获取。

cd ~
wget https://downloads.apache.org/kafka/2.6.0/kafka_2.13-2.6.0.tgz
sudo mkdir /usr/local/kafka-server && cd /usr/local/kafka-server
sudo tar -xvzf ~/kafka_2.13-2.6.0.tgz --strip 1

因为设置了–strip 1标志,所以归档文件的内容被提取到/ usr / local / kafka-server /。

步骤3:创建Kafka和Zookeeper Systemd单位文件

Kafka和Zookeeper Systemd单位文件对于执行常见的服务操作(例如启动,停止和重新启动Kafka)非常有用。这使它可以适应其他服务的启动,停止和重新启动方式,这是有益且一致的。

让我们从Zookeeper服务开始。

$ sudo vim /etc/systemd/system/zookeeper.service

[Unit]
Description=Apache Zookeeper Server
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
ExecStart=/usr/local/kafka-server/bin/zookeeper-server-start.sh /usr/local/kafka-server/config/zookeeper.properties
ExecStop=/usr/local/kafka-server/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

之后,提供Kafka服务。确保正确输入了JAVA_HOME配置。否则,Kafka将无法启动。

$ sudo vim /etc/systemd/system/kafka.service

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
After=zookeeper.service

[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/local/kafka-server/bin/kafka-server-start.sh /usr/local/kafka-server/config/server.properties
ExecStop=/usr/local/kafka-server/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

添加配置后,重新加载systemd守护程序以应用更改并启动服务。您也可以检查状态。

sudo systemctl daemon-reload
sudo systemctl enable --now zookeeper
sudo systemctl enable --now kafka
sudo systemctl status kafka zookeeper

步骤4:为Apache Kafka(CMAK)安装群集管理器| Kafka Manager

CMAK(以前称为Kafka Manager)是Yahoo开发的用于管理Apache Kafka群集的开源工具。

cd ~
git clone https://github.com/yahoo/CMAK.git

步骤5:在Ubuntu 20.04上配置CMAK

最低配置是在CMAK(pka kafka管理器)状态下使用的Zookeeper主机。它位于conf目录中的application.conf文件中。更改cmak.zkhosts =“ my.zookeeper.host.com:2181”。您还可以指定多个Zookeeper主机,以逗号分隔:cmak.zkhosts =“ my.zookeeper.host.com:2181,other.zookeeper .host.com:2181”。主机名也可以是IP地址。

$ vim ~/CMAK/conf/application.conf
cmak.zkhosts="localhost:2181

添加ZooKeeper主机后,使用以下命令创建一个可用于部署应用程序的zip文件:下载并编译文件后,您将在终端上看到很多输出。给我时间完成和编译,因为这需要时间。

cd ~/CMAK/
./sbt clean dist

完成所有操作后,您应该会看到以下消息:

[info] Your package is ready in /home/tech/CMAK/target/universal/cmak-3.0.0.5.zip

进入压缩文件所在的目录并解压缩。

$ cd ~/CMAK/target/universal
$ unzip cmak-3.0.0.5.zip
$ cd cmak-3.0.0.5

步骤5:启动并访问服务

解压缩生成的zip文件并将您的工作目录更改为: 第4步,您可以按以下方式运行服务:

$ cd ~/CMAK/target/universal/cmak-3.0.0.5
$ bin/cmak

默认情况下,端口9000被选中,因此打开您喜欢的浏览器并 http://服务器的IP或域名:9000..如果防火墙正在运行,请允许外部访问该端口。

sudo ufw allow 9000

如果一切顺利,您应该看到如下所示的界面:

当您首次进入上述界面时,您会看到没有集群立即可用。因此,继续创建一个新的群集。请点击 ”聚会从下拉列表添加集群

在Ubuntu 20.04上安装和配置Apache Kafka

显示类似于以下内容的页面。在表格中填写所需的详细信息(集群名称,Zookeeper主机等)。如果您有多个Zookeeper主机,请添加它们,并用逗号分隔。您可以根据需要输入其他详细信息。

在Ubuntu 20.04上安装和配置Apache Kafka

输入字段示例

在Ubuntu 20.04上安装和配置Apache Kafka

填满所有内容后,向下滚动到保存

在Ubuntu 20.04上安装和配置Apache Kafka

步骤6:添加样本主题

Apache Kafka提供了几个要使用的Shell脚本。首先,创建一个示例主题“ ComputingForGeeksTopic”,以创建具有单个副本的单个分区。在CMAK运行的情况下,打开一个新终端并发出以下命令。

cd /usr/local/kafka-server
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic ComputingForGeeksTopic

Created topic ComputingForGeeksTopic.

检查主题是否在CMAK界面中更新。为此,在集群中, 主题>列表

在Ubuntu 20.04上安装和配置Apache Kafka

步骤7:在CMAK界面中创建主题

创建主题的另一种简单方法是使用CMAK Web界面。 ”话题点击下拉列表创造“如下所示。您需要输入有关新主题的所有必需详细信息(复制因子,分区等。)。填写表格,然后点击“创造“下。

在Ubuntu 20.04上安装和配置Apache Kafka

您需要输入有关新主题的所有必需详细信息(复制因子,分区等)。填写表格,然后单击创造它显示在页面底部,如“”所示。

在Ubuntu 20.04上安装和配置Apache Kafka

您将看到一条消息,说明主题已创建,如下所示:链接也可以显示。点击查看新主题

在Ubuntu 20.04上安装和配置Apache Kafka

它具有:

在Ubuntu 20.04上安装和配置Apache Kafka

结论

在Ubuntu 20.04服务器上安装了Apache Kafka。请注意,您可以在多台服务器上安装Kafka并创建集群。否则,感谢您的访问并期待结束。感谢您一直以来的支持。点击这里了解详情 阿帕奇·卡夫卡学习更多关于 Apache Kafka集群管理器

在下面找到其他出色的指南:

在CentOS 8上使用CMAK安装和配置Apache Kafka

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Sidebar