帮助中心 > 新闻资讯 >ubuntu 14.04 安装kafka

ubuntu 14.04 安装kafka

发布时间:2019-01-15

kafka.png

Apache Kafka是一种流行的分布式消息代理,设计用于高效处理大量实时数据。 Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(例如ActiveMQ和RabbitMQ)相比,还具有高得多的吞吐量。 虽然它通常用作pub / sub消息传递系统,但是很多组织也将其用于日志聚合,因为它为已发布的消息提供持久存储。

1.安装zookeeper

Apache ZooKeeper是一种开源服务,用于协调和同步属于分布式系统的节点的配置信息。 Kafka集群依赖于ZooKeeper来执行操作,例如检测失败的节点和选择领导者。

由于ZooKeeper的包是在Ubuntu的默认软件仓库,使用安装它apt-get 。

sudo apt-get install zookeeperd

安装完成后,ZooKeeper将作为后台程序自动启动。 默认情况下,它会侦听端口2181。

为了确保它是工作,通过Telnet连接到它:

telnet localhost 2181

在Telnet提示符处,键入ruok ,然后按ENTER 。

如果一切正常,动物园管理员会说imok并结束Telnet会话。

2.安装kafka

这里是下载并解压缩Kafka二进制文件,首先,创建一个叫做Downloads来存储所有您的下载。

mkdir -p ~/Downloads

使用wget下载Kafka二进制文件。

wget "http://mirror.cc.columbia.edu/pub/software/apache/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz" -O ~/Downloads/kafka.tgz

创建一个目录叫kafka ,并切换到该目录。 这将是Kafka安装的基本目录。

mkdir -p ~/kafka && cd ~/kafka

解压缩您下载使用存档tar命令。

tar -xvzf ~/Downloads/kafka.tgz --strip 1

3.配置Kafka Server

下一步是配置Kakfa服务器。

打开server.properties使用vim :

vim ~/kafka/config/server.properties

默认情况下,Kafka不允许您删除主题。 要能够删除主题,请在文件末尾添加以下行:

delete.topic.enable = true

保存文件,并退出vim

4.启动Kafka服务器

运行kafka-server-start.sh使用脚本nohup启动Kafka服务器(也称为Kafka经纪人)作为后台进程是独立的shell会话。

nohup ~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties > ~/kafka/kafka.log 2>&1 &

等待几秒钟,它开始。 你可以肯定,当你看到下面的消息服务器已成功启动~/kafka/kafka.log :

摘录自〜/ kafka / kafka.log

...

[2017-03-29 06:02:41,736] INFO New leader is 0 (kafka.server.ZookeeperLeaderElector$LeaderChangeListener)
[2017-03-29 06:02:41,776] INFO [Kafka Server 0], started (kafka.server.KafkaServer)

你现在有它在端口9092监听Kafka服务器。

5.测试安装:

现在让我们发布和使用一个“Hello World”的消息,以确保Kafka服务器正常运作。

要发布消息,您应该创建一个Kafka生产者。 您可以轻松地创建一个使用该命令行kafka-console-producer.sh脚本。 它期望Kafka服务器的主机名和端口,以及主题名称作为其参数。

在下面的输入发布字符串“你好,世界”到一个叫做TutorialTopic话题:

echo "Hello, World" | ~/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TutorialTopic > /dev/null

由于主题不存在,Kafka将自动创建。

使用消息,您可以创建使用Kafka消费者kafka-console-consumer.sh脚本。 它期望ZooKeeper服务器的主机名和端口,以及主题名称作为其参数。

以下命令使用我们发布到的主题的消息。 注意使用的--from-beginning的标志,因为我们要消耗消费者开始之前公布的消息,其存在。

~/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic TutorialTopic --from-beginning

如果没有配置问题,你应该看到Hello, World现在在输出中,如下:

vagrant@vagrant-ubuntu-trusty-64:~/kafka$ ~/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic TutorialTopic --from-beginning
Hello, World

脚本将继续运行,等待更多消息发布到主题。 随意打开一个新的终端,并开始一个制作人发布更多的消息。 你应该能够立即在消费者的输出中看到它们。

完成测试后,请按CTRL + C停止使用者脚本。

相关推荐