初识Kafka

2018-02-07  本文已影响0人  大鹏_xzlp

首先访问Kafka的官网 http://kafka.apache.org 点击左下角的Download

我们下载 Scala 2.11 - kafka_2.11-1.0.0.tgz 这一版本,解压到本地


bin下 是Kafka所提供的 系 脚本 件, 于帮助我们 地使 Kafka,如启动、停 、创建主题、向Kafka发送消息,从Kafka接收消息等。 的windows 录则提供 windows下的批处 脚本。 config 录则包含 Kafka所需要的各种配置 件。 libs 录包含 Kafka所需的各种jar包。
site-docs则是各种文档

我们现在要实现一个简单的功能:生产者向Kafkaf发送一条消息,消费者从Kafka接收一条消息

Kafka严重依赖ZooKeeper,所以我们现在打开ZooKeeper的官网 http://zookeeper.apache.org
下载zookeeper-3.4.11.tar.gz这个版本,然后解压到本地,然后将conf目录下的zoo_sample.cfg文件备份,重命名为zoo.cfg,它是ZooKeeper默认寻找的配置 件名。然后打开zoo.cfg,将第十二行的内容换成本机已知的位置


接下来,启动ZooKeeper,进入bin目录,然后运行./zkServer.sh start-foreground

如果提示权限 ,则先赋予运 该脚本的权限,执 如下命令:
chmod 777 zkServer.sh 然后再来运 启动ZooKeeper的命令: ./zkServer.sh start-foreground

如果出现提示:operation not permitted: ./zkServer.sh,那么还需要在命令 执 如下命令:
xattr -d com.apple.quarantine zkServer.sh
接下来,再执 如下命令:
./zkServer.sh start-foreground 这表示以前台 式启动ZooKeeper,启动成功的样 如下所示:


然后回到Kafka目录下,执行命令bin/kafka-server-start.sh config/server.properties
如果还是出现permission denied:,则进 到bin 录并执 如下命令: chmod 777 *.sh
表示赋予bin 录下所有 件的可执 权限

启动成功的界 如下所示:


现在zk和Kafka都启动成功了,现在我们通过Kafka的脚本,通过一个生产者向Kafkaf发送消息,接下来通过一个消费者来接收该消息。

执 如下命令:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytest
这样就成功创建了一个mytest的主题,

接下来向Kafka发送消息,我们首先启动生产者,执行如下命令
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytest


成功后等待我们输入。
接下来我们启动消费者,输入如下命令:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest --from-beginning

正常情况下应该收到消息,但是我这边报错,启动消费者之后就不停的循环报错

然后查找解决方案,发现没有绑定Kafka启动监听的host信息,修改

vi  config/server.properties

listeners=PLAINTEXT://localhost:9092

然后就可以了


上一篇下一篇

猜你喜欢

热点阅读