首先访问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
然后就可以了
网友评论