如何在CentOS 7上安装Apache Kafka

・6 分钟阅读

ApacheKafka是一个可扩展的高吞吐量的消息传递系统,能够有效地处理大量数据。

可以在单服务器上部署Kafka,也可以构建一个分布式Kafka集群以提高性能,作为入门者,本文将介绍如何在单个CentOS 7服务器实例上安装Apache Kafka。

前提条件:

在继续之前,你应该:

  • 部署CentOS 7服务器实例,根据你的需要,你可能需要增加可用内存,
  • 使用sudo用户从你的SSH终端登录,

步骤1更新CentOS 7系统

使用以下命令将系统更新为最新的稳定状态:


sudo yum update -y && sudo reboot

重新启动完成后,使用相同的sudo用户再次登录。

步骤2安装OpenJDK运行时

你需要在系统上设置一个Java虚拟机才能正确运行Apache Kafka ,在这里,你可以使用YUM安装OpenJDK运行时环境1.8.0 :


sudo yum install java-1.8.0-openjdk.x86_64

使用以下方法验证你的安装:

 
java -version

 

输出应类似于:


openjdk version"1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

你还需要设置"java_home"和"jre_home"环境变量:

 
sudo vi/etc/profile

 

将以下行附加到文件的原始内容:


export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export JRE_HOME=/usr/lib/jvm/jre

保存和退出:

 
:wq

 

重新加载配置文件以便让你的更改生效:

 
source/etc/profile

 

步骤3下载Apache Kafka

从官方网站下载最新的稳定版本Apache Kafka ,在写作的时候是0.9.0.1


cd ~
wget http://www-us.apache.org/dist/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz

将归档文件解压缩到首选位置,如/opt


tar -xvf kafka_2.11-0.9.0.1.tgz
sudo mv kafka_2.11-0.9.0.1 /opt

步骤4启动并测试Apache Kafka

在这一点上,你的系统可以使用apache Kafka ,让我们来测试一下。

4.1 :进入Kafka目录


cd /opt/kafka_2.11-0.9.0.1

4.2 :启动动物园动物园管理员服务器


bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

4.3 :修改Kafka服务器的配置


 vi bin/kafka-server-start.sh

根据具体系统参数调整内存使用情况,例如,如果在测试环境中使用带有768MB内存的服务器实例,则需要定位以下行:


export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"

替换为:


export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

保存退出:

 
:wq

 

4.4 :启动Kafka服务器


bin/kafka-server-start.sh config/server.properties

如果一切顺利,你将看到几个关于服务器的Kafka状态的消息,最后一个将是:


INFO [Kafka Server 0], started (kafka.server.KafkaServer)

这意味着你已经启动了Kafka服务器。

4.5 :在新的SSH连接中创建主题"test"

打开新的SSH连接,使用以下命令创建主题"test ":


cd /opt/kafka_2.11-0.9.0.1
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

您可以使用以下命令查看主题:


bin/kafka-topics.sh --list --zookeeper localhost:2181

在我们的例子中,输出将读取:

 
test

 

4.6:使用主题"test "生成消息


bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

使用上面的命令,你可以根据需要输入任意数量的消息,例如:


Welcome aboard!
Bonjour!

如果收到类似于 "WARN Error while fetching metadata with correlation id" 输入消息时,你需要使用以下信息更新server.properties文件:


port = 9092
advertised.host.name = localhost 

4.7 :显示消息

打开第三个SSH连接,然后运行以下命令:


cd /opt/kafka_2.11-0.9.0.1
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

Ta-da之前生成的消息将显示在第三个SSH连接中。当然,如果现在从第二个SSH连接输入更多消息,你会立即在第三个SSH连接中看到它们。

最后你可以在每个SSH连接上按ctrl +c来停止这些脚本。

就是这样,你可以在官方网站上了解有关Apache Kafka的更多信息。尽情玩耍吧!

Zuoxiaojuan profile image