使用CentOS 8安装和配置Apache Kafka
我们住在一个世界上我们每天使用和互动的大多数事情都是由在全球某个地方部署的计算机经营。
通过社交媒体,在线支付,移动货币交易甚至语音通信,计算机使所有这些都有粘合剂。
考虑到这一点,有感兴趣的各方需要在这些计算机中发生非常重要的交易,这些交易是需要可视化并随后用于其其他利用。
一个很好的例子是可视化和处理金融交易,以获得更多机会或者解决问题。
那么我们如何能够以高效可靠的方式捕获这些数据?
嗯,有开发的技术解决方案来处理它,其中一个是Apache Kafka。
对于Ubuntu:在Ubuntu上安装和配置Apache Kafka
Apache Kafka是一个开源分布式事件流平台,由数千家用于高性能数据管道,流分析,数据集成以及关键任务应用程序.Source:Apache Kafka。
让我们分解所有这一切意味着一步一步。
一个事件记录了"在世界上或者在业务中"发生的事情"并以数字方式录制。
事件流是从事件源(制作人)的实时捕获数据的实践,如数据库,传感器,移动设备,云服务和事件流形式的软件应用程序;持续地存储这些事件流以稍后检索;在实时以及回顾性地操纵,处理和对事件流反应;并根据需要将事件流路由到不同的目的地技术(消费者)。
来源:Apache Kafka。
生产者是将数据发送到Kafka集群的程序/应用程序或者实体。
消费者位于另一边,并从Kafka集群接收数据。
Kafka集群可以包括一个或者多个Kafka经纪商,坐在不同的服务器上。
"生活真的很简单,但我们坚持认为它很复杂。
" -confucius(孔子)
其他条款的定义
主题:主题是用于存储和发布特定数据流的通用名称。
例如,如果我们希望存储有关正在单击的页面有关页面的所有数据,则可以给出主题一个名称,例如"单击"页面".Partition:每个主题都分成分区("存储桶")。
创建主题时,需要指定分区的数量,但可以根据需要稍后提高。
每个消息都存储到具有称为其偏移量值的增量ID的分区中.Kafka代理:其中包含Kafka的每个服务器都称为代理。
它是一个容器,举办有几个有分区的主题。
Apache Kafka用例
以下是我们可以利用Apache Kafka的一些应用程序:留言经纪:与大多数消息传递系统相比,Kafka具有更好的吞吐量,内置划分,复制和容错,这使其成为大规模的良好解决方案消息处理Applicationswebite活动跟踪Log聚合:Kafka摘要删除文件的详细信息,并将日志或者事件数据的清洁抽象作为消息流.Stream处理:从事件源实时捕获数据;持续地存储这些事件流以稍后检索;并将事件流路由到不同的目标技术,如需要采购:这是一种应用程序设计的风格,其中,状态更改被记录为Records.commit日志的时间顺序序列:Kafka可以作为一种外部提交日志分布式系统。
该日志有助于在节点之间复制数据,并作为失败节点的重新同步机制,以恢复其数据。
这涉及从分布式应用程序聚合统计,以产生集中的操作数据馈送。
在CentOS 8上安装Kafka
Apache Kafka需要Java才能运行。
第1步:准备我们的服务器
因此,我们将首先更新我们的CentOS服务器并安装Java。
幸运的是,默认的CentOS 8存储库包括最新的两个主要Java 8和Java 11 LTS版本。
这是如下所示:
sudo dnf update sudo dnf install java-11-openjdk-devel wget git unzip -y
第2步:在CentOS中获取Kafka 8
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
存档的内容将被提取到/usr/local/kafka-server /由于-sstrip 1标志集。
第3步:创建Kafka和Zookeeper Systemd单元文件
Kafka和Zookeeper的Systemd单元文件几乎可以帮助执行常见的服务动作,例如启动,停止和重新启动Kafka。
这使得它适应其他服务的启动,停止和重新启动,这是有益的和一致的。
让我们从zookeeper服务开始:Zookeeper管理Kafka的群集状态和配置。
$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服务
$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/jre-11-openjdk" 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
第4步:为Apache Kafka安装Cluster Manager(CMAK)|卡夫卡经理
CMAK(以前称为Kafka Manager)是由雅虎开发的Apache Kafka集群管理的OpenSource工具。
cd ~ git clone https://github.com/yahoo/CMAK.git
第5步:配置CMAK
最小配置是要用于CMAK(PKA Kafka Manager)状态的ZookeEper主机。
这可以在conf目录中的应用程序分类文件中找到。
更改cmak.zkhosts ="my.zookeeper.host.com:2181",我们也可以通过逗号划定它们来指定多个zookeeper主机,如:cmak.zkhosts ="my.zookeeper.host.com:2181,其他.zookeeper .host.com:2181"
$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
更改为zip文件所在的目录并解压缩它:
$cd ~/CMAK/target/universal $unzip cmak-3.0.0.5.zip $cd cmak-3.0.0.5
第5步:启动服务并访问它
在提取生成的ZipFile后,并将工作目录更改为步骤4中的完成后,我们可以像这样运行服务:
$cd ~/CMAK/target/universal/cmak-3.0.0.5 $bin/cmak
默认情况下,它将选择端口9000,因此打开我们喜欢的浏览器并将其指向HTTP://IP-OR-Domain-Name-Server:9000。
如果防火墙正在运行,请享用要访问的端口。
sudo firewall-cmd --permanent --add-port=9000/tcp sudo firewall-cmd --reload
我们应该看到一个界面,如下所示,一切正常:
当我们第一次进入界面时,我们将意识到没有群集,如上所示。
因此,我们将继续创建一个新群集。
单击"群集"下拉列表,然后点击"添加群集"。
将介绍表格,如下所示。
提供群集名称,添加ZooKeeper主机(如果我们有几个,则将其添加为逗号分隔。
我们可以根据需求填写其他详细信息。
一切都充满了满足,滚动并击中"保存"。
并且我们将群集添加到CMAK接口/管理器。
第6步:添加示例主题
Apache Kafka提供多个shell脚本来使用。
让我们首先创建一个名为"onidoOptopic"的示例主题,其中单个分区具有单个副本。
打开一个新的终端离开CMAK运行并发出以下命令:
cd /usr/local/kafka-server bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic theitroadTopic Created topic theitroadTopic.
确认主题是否在CMAK接口中更新:在主题下,单击"数字"。
我们应该能够看到如下所添加的新主题:
单击它可查看其其他详细信息,如分区等。
第7步:CMAK接口中创建主题
另一个更简单的创建主题的方式是通过CMAK Web界面。
只需单击"主题"下拉列表,然后单击"创建"。
这是下面说明的。
我们将被要求输入我们对新主题(复制因子,分区和其他)所需的所有详细信息。
填写表单,然后单击它下方的"创建"。
Apache Kafka现在安装在CentOS 8服务器上。
应该指出的是,可以在多服务器上安装Kafka以创建群集。
否则,谢谢我们参观并保持调整直到最后。
我们感谢我们继续向我们提供的支持。
了解有关Apache Kafka的更多信息,了解有关Apache Kafka的Cluster Manager的更多信息
查找以下其他惊人的导游:
SQL来自划痕:如何开始学习数据库?
在Ubuntu&Debian上安装Apache Spark