【转】怎样在CentOS 8上安装Apache Kafka
原文链接:https://bynss.com/2020/317358.html
Apache Kafka是一个分布式流平台。建立实时流数据管道,以帮助您在系统或应用程序之间捕获数据。另一个有用的功能是实时流应用程序,可以转换和响应数据流。本教程将帮助您安装Apache Kafka CentOS 8 Linux系统。
第1步-安装Java
Apache Kafka要求在您的系统上安装Java。您可以通过运行以下命令在计算机上安装OpenJDK:还要安装其他一些必要的工具。
sudo dnf install java-11-openjdk wget vim
第2步–下载Apache Kafka
从官方下载网站下载Apache Kafka二进制文件。您也可以选择附近的镜子进行下载。
wget http://www-us.apache.org/dist/kafka/2.4.0/kafka_2.13-2.4.0.tgz
然后解压缩存档文件
tar xzf kafka_2.13-2.4.0.tgz mv kafka_2.13-2.4.0 /usr/local/kafka
步骤3 –设置Kafka Systemd单位文件
CentOS 8使用systemd来管理服务状态。因此,您需要为Zookeeper和Kafka服务创建systemd单元文件。这使您可以管理和启动/停止Kafka服务。
首先,使用以下命令创建一个Zookeeper systemd单位文件:
vim /etc/systemd/system/zookeeper.service
添加以下内容。
[Unit] Description=Apache Zookeeper server Documentation=http://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
保存并关闭文件。
接下来,使用以下命令创建Kafka systemd单位文件:
vim /etc/systemd/system/kafka.service
添加以下内容。确保正确设置 JAVA_HOME 系统上安装的每个Java的路径。
[Unit] Description=Apache Kafka Server Documentation=http://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
保存并关闭文件。
重新加载systemd守护程序并应用更改。
systemctl daemon-reload
第4步-启动Kafka服务器
Kafka需要ZooKeeper,因此首先在系统上启动ZooKeeper服务器。您可以使用Kafka中可用的脚本来启动单节点ZooKeeper实例。
sudo systemctl start zookeeper
接下来,启动Kafka服务器并查看执行状态。
sudo systemctl start kafka sudo systemctl status kafka
一切都完成了。您已在CentOS 8上成功安装了Kafka。本教程的下一部分将帮助您在Kafka集群上创建主题,并与Kafka生产者和消费者服务一起使用。
第5步-使用Apache Kafka创建主题
Apache Kafka提供了几个Shell脚本来处理它。首先testTopic“在具有单个副本的单个分区中:
cd /usr/local/kafka bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic Created topic testTopic.
复制因子表示要制作的数据的副本数。将此值保持为1,因为您正在单个实例上运行。
将分区选项设置为将拆分数据的代理数。当您在单个代理上运行时,将此值保持为1。
您可以通过运行与上述相同的命令来创建多个主题。然后,您可以通过运行以下命令在Kafka中检查创建的主题:
bin/kafka-topics.sh --list --zookeeper localhost:2181 testTopic KafkaonCentOS8 TutorialKafkaInstallCentOS8
或者,可以将代理配置为在发布不存在的主题时自动创建主题,而不是手动创建主题。
第6步-Apache Kafka生产者和消费者
“生产者”是将数据输入Kafka的过程。 Kafka带有命令行客户端,该客户端从文件或标准输入中获取输入,并将其作为消息发送到Kafka集群。默认情况下,Kafka将每行作为单独的消息发送。
运行生产者,然后在控制台中输入一些消息并将其发送到服务器。
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic >Welcome to kafka >This is my first topic >
接下来,打开一个运行Apache Kafka使用者进程的新终端。 Kafka还提供了一个命令行使用者,可以从Kafka集群中读取数据并将消息打印到标准输出中。
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning Welcome to kafka This is my first topic
-from-beginning选项用于从所选主题的开头读取消息。您可以跳过此选项,仅阅读最新消息。
例如,在单独的终端中运行Kafka的生产者和消费者。只需在生产者终端输入文本。它会立即显示在消费者终端上。查看工作的Kafka生产者和消费者的屏幕截图。
结论
您已在CentOS 8 Linux机器上成功安装并配置了Kafka服务。