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在端口166.61上运行,不需要太多维护。
第四步:安装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和166.61上侦听:
如果它们都在运行,并且两个端口都已打开并且正在侦听,至此,我们就已经成功安装了Apache Kafka。
注意:现在服务器报价出炉,价格很低
1、腾讯云:限时 2860 元无门槛代金券:点击一键领取。
2、腾讯云最新优惠活动,3年/5年服务器限时抢购:点击前往。
3、阿里云:限时 2000 元无门槛代金券:点击一键领取。
提示:现在腾讯云新人点击注册然后实名认证后,可以点此一键领取2860元代金券,然后点此进入腾讯云活动页面参加优惠力度非常大的腾讯云3年和5年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。
版权声明:xxxxxxxxx;
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态