如何在 CentOS 上安装 Apache Kafka如何在 CentOS 上安装 Apache Kafka如何在 CentOS 上安装 Apache Kafka如何在 CentOS 上安装 Apache Kafka
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 上安装 Apache Kafka

Apache Kafka 是一个由 Apache 软件基金会开发、用 Java 和 Scala 编写的分布式流平台。 LinkedIn 最初开发了 Apache Kafka。

Apache Kafka 用于构建实时流数据管道,在系统和应用程序之间可靠地获取数据。它提供统一、高吞吐量、低延迟的实时数据处理。

本教程将向您展示如何在 CentOS 7 上安装和配置 Apache Kafka。本指南将涵盖 Apache Kafka 和 Apache Zookeeper 的安装和配置。

先决条件

  • CentOS 7 服务器
  • 根权限

我们会怎样做?

  1. 安装 Java OpenJDK 8
  2. 安装和配置 Apache Zookeeper
  3. 安装和配置 Apache Kafka
  4. 将 Apache Zookeeper 和 Apache Kafka 配置为服务
  5. 测试

第 1 步 - 安装 Java OpenJDK 8

Apache Kafka 是用 Java 和 Scala 编写的,因此我们必须在服务器上安装 Java。

使用下面的 yum 命令将 Java OpenJDK 8 安装到 CentOS 7 服务器。

sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

安装完成后,检查安装的Java版本。

java -version

现在您已安装 Java OpenJDK 8。

第 2 步 - 安装 Apache Zookeeper

Apache Kafka 使用 Zookeeper 来选举控制器、集群成员资格和主题配置。 Zookeeper是一个分布式配置和同步服务。

在此步骤中,我们将使用二进制安装来安装 Apache Zookeeper。

在安装 Apache Zookeeper 之前,添加一个名为“zookeeper”的新用户,其主目录为“/opt/zookeeper”。

useradd -d /opt/zookeeper -s /bin/bash zookeeper
 passwd zookeeper

现在转到“/opt”目录并下载 Apache Zookeeper 二进制文件。

cd /opt
 wget https://www-us.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz

将zookeeper.tar.gz 文件提取到“/opt/zookeeper”目录,并将该目录的所有者更改为“zookeeper”用户和组。

tar -xf zookeeper-3.4.12.tar.gz -C /opt/zookeeper --strip-component=1
 sudo chown -R zookeeper:zookeeper /opt/zookeeper

接下来,我们需要创建一个新的 Zookeeper 配置。

登录“zookeeper”用户并在“conf”目录下创建新配置“zoo.conf”。

su - zookeeper
 vim conf/zoo.cfg

将以下配置粘贴到此处。

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
clientPort=2181

保存并退出。

基本的 Apache Zookeeper 配置已完成,它将在端口 2181 上运行。

第 3 步 - 下载并安装 Apache Kafka

在此步骤中,我们将安装并配置 Apache Kafka。

添加一个名为“kafka”的新用户,主目录为“/opt/kafka”。

useradd -d /opt/kafka -s /bin/bash kafka
 passwd kafka

转到“/opt”目录并下载 Apache Kafka 压缩二进制文件。

cd /opt
 wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz

将 kafka_*.tar.gz 文件提取到“/opt/kafka”目录,并将所有文件的所有者更改为“kafka”用户和组。

tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1
 sudo chown -R kafka:kafka /opt/kafka

接下来,以“kafka”用户身份登录并编辑服务器配置。

su - kafka
 vim config/server.properties

将以下配置粘贴到该行末尾。

delete.topic.enable = true

保存并退出。

Apache Kafka 已下载,基本设置已完成。

第 4 步 - 将 Apache Kafka 和 Zookeeper 配置为服务

本教程将 Apache Zookeeper 和 Apache Kafka 作为 systemd 服务运行。

我们需要为两个平台创建新的服务文件。

转到“/lib/systemd/system”目录并创建一个名为“zookeeper.service”的新服务文件。

cd /lib/systemd/system/
 vim zookeeper.service

将以下配置粘贴到此处。

[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target

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

[Install]
WantedBy=multi-user.target

保存并退出。

接下来,为 Apache Kafka 创建服务文件“kafka.service”。

vim kafka.service

将以下配置粘贴到此处。

[Unit]
Requires=zookeeper.service
After=zookeeper.service

[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties'
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

保存退出,然后重新加载systemd管理系统。

systemctl daemon-reload

使用下面的 systemctl 命令启动 Apache Zookeeper 和 Apache Kafka。

systemctl start zookeeper
 systemctl enable zookeeper

systemctl启动kafka
systemctl 启用 kafka

Apache Zookeeper 和 Apache Kafka 已启动并运行。 Zookeeper 在端口“2181”上运行,Kafka 在端口“9092”上运行,请使用下面的 netstat 命令进行检查。

netstat -plntu

第 5 步 - 测试

以“kafka”用户身份登录并转到“bin/”目录。

su - kafka
 cd bin/

现在创建一个名为“HakaseTesting”的新主题。

./kafka-topics.sh --create --zookeeper localhost:2181 \
 --replication-factor 1 --partitions 1 \
 --topic HakaseTesting

并使用“HakaseTesting”主题运行“kafka-console- Producer.sh”。

./kafka-console-producer.sh --broker-list localhost:9092 \
 --topic HakaseTesting

在 shell 上键入任意内容。

接下来,打开一个新终端,登录服务器,并以“kafka”用户身份登录。

运行“HakaseTesting”主题的“kafka-console-consumer.sh”。

./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
 --topic HakaseTesting --from-beginning

当您从“kafka-console- Producer.sh”shell 键入任何输入时,您将在“kafka-console-consumer.sh”shell 上获得相同的结果。

CentOS 7 上 Apache Kafka 的安装和配置已成功完成。

参考

  • https://kafka.apache.org/documentation/
©2015-2025 艾丽卡 support@alaica.com