帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Debian 9系统服务器上安装Apache Kafka

如何在Debian 9系统服务器上安装Apache Kafka

发布时间:2020年07月16日 09:01:32    来源: A5互联

Apache Kafka是一个免费的开源分布式流软件平台,可让您以容错和持久的方式发布和订阅记录流并存储记录流。Apache Kafka用Scala和Java编写。Apache Kafka在全球成千上万的公司中使用,它使任何人都可以创建可以实时读取和存储数据的流和流处理应用程序。它具有多种用例–从日志记录到消息传递,再到处理几乎可以想象到的任何类型的数据流,一应俱全。

为了在您的服务器上运行Apache Kafka,必须满足以下要求:

①需要安装Java 8或更高版本

②ZooKeeper已安装并在服务器上运行

③服务器至少有4GB可用内存

如果您没有Java或ZooKeeper,请不用担心,我们也会在本教程中安装它们。

第一步:更新操作系统软件包

在开始安装Apache Kafka之前,我们必须确保服务器上安装的所有Debian OS软件包都是最新的。我们可以通过执行以下命令来做到这一点:

sudo apt-get update

sudo apt-get upgrade

第二步:安装JAVA

为了在我们的服务器上运行Apache Kafka,我们需要安装Java。我们可以使用以下命令检查是否已经安装了Java:

which java

如果没有输出,则表示服务器上尚未安装Java。我们可以使用以下命令进行安装:

sudo apt-get install default-jdk

为了检查Java版本,请在服务器上运行以下命令:

java -version

我们应该收到以下输出:

openjdk version "1.8.0_181"

OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)

OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

第三步:安装Zookeeper

Kafka使用ZooKeeper来存储持久性集群元数据,因此我们需要安装ZooKeeper。ZooKeeper服务负责配置管理,检测,同步等。ZooKeeper在官方的Debian软件包存储库中可用,因此我们可以使用以下命令进行安装:

sudo apt-get install zookeeperd

ZooKeeper在端口2181上运行,不需要太多维护。

第四步:安装Apache Kafka

使用以下命令创建专门用于Kafka服务的新系统用户(我们使用kafka用户名的名称,您可以使用任何喜欢的名称):

useradd kafka -m

为新创建的用户设置密码:

passwd kafka

使用强密码,然后输入两次。接下来,使用以下命令将用户添加到sudo组中:

adduser kafka sudo

停止ZooKeeper服务:

systemctl stop zookeeper.service

以新创建的管理员用户身份登录:

su kafka

从https://kafka.apache.org/downloads下载最新版本的Apache Kafka,并将其解压缩到服务器上的目录中:

cd ~

wget -O kafka.tgz http://apache.osuosl.org/kafka/2.1.0/kafka_2.12-2.1.0.tgz

tar -xvzf kafka.tgz

mv kafka_2.12-2.1.0/* .

rmdir /home/kafka/kafka_2.12-2.1.0

编辑ZooKeeper systemd脚本:

vi /lib/systemd/system/zookeeper.service

systemd为Apache Kafka 创建一个单元文件,以便您可以在服务器上将Kafka作为服务运行:

vi /etc/systemd/system/kafka.service

添加以下行:

编辑server.properties文件并添加/修改以下属性:

vi /home/kafka/config/server.properties


listeners=PLAINTEXT://:9092

log.dirs=/var/log/kafka

更改单位文件后,应始终运行以下systemctl daemon-reload命令:

systemctl daemon-reload

在服务器上kafka的/var/log/目录中创建一个新目录:

mkdir -p /var/log/kafka


chown kafka:kafka -R /var/log/kafka

这对于故障排除很有用。然后,启动ZooKeeper和Apache Kafka服务:

systemctl start zookeeper.service

systemctl start kafka.service

启用Apache Kafka服务以在服务器启动时自动启动:

systemctl enable kafka.service

为了检查ZooKeeper和Kafka服务是否已启动并正在运行,请在服务器上运行以下命令:

systemctl status zookeeper.service

然后,我们应该收到类似于以下的输出:

接下来运行此命令:

systemctl status kafka.service

此命令的输出应与此类似:

我们还可以使用netstat命令来检查Kafka和ZooKeeper服务是否分别在端口9092和2181上侦听:

如果它们都在运行,并且两个端口都已打开并且正在侦听,至此,我们就已经成功安装了Apache Kafka。