【大数据】【kafka】kafka生产者和消费者测试

参考:http://dblab.xmu.edu.cn/blog/1096-2/

前提条件:启动zookeeper,kafka.
1.启动zookeeper;bin/zkServer.sh start
2.启动Kafka;bin/kafka-server-start.sh config/server.properties
总结:kafka的topic测试过程需要三步,
1.创建topic ;bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
2.启动生产者;bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
3.启动消费者;bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

注意:

  • 退出终端:ctrl+c

进入kafka所在的目录

启动kafka

cd /opt/moudle/kafka
bin/kafka-server-start.sh config/server.properties

kafka服务端启动后,不要关闭当前终端。启动另外一个终端,输入如下命令:

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

#- -partions
  主题分区数。kafka通过分区策略,将不同的分区分配在一个集群中的broker上,一般会分散在不同的broker上,当只有一个broker时,所有的分区就只分配到该Broker上。
消息会通过负载均衡发布到不同的分区上,消费者会监测偏移量来获取哪个分区有新数据,从而从该分区上拉取消息数据。
分区数越多,在一定程度上会提升消息处理的吞吐量,因为kafka是基于文件进行读写,因此也需要打开更多的文件句柄,也会增加一定的性能开销。
如果分区过多,那么日志分段也会很多,写的时候由于是批量写,其实就会变成随机写了,随机 I/O 这个时候对性能影响很大。所以一般来说 Kafka 不能有太多的 Partition。

#- -replication-factor
  用来设置主题的副本数。每个主题可以有多个副本,副本位于集群中不同的broker上,也就是说副本的数量不能超过broker的数量,否则创建主题时会失败

topic是发布消息发布的category,以单节点的配置创建了一个叫test的topic.可以用list列出所有创建的topics,来查看刚才创建的主题是否存在。

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

可以在结果中查看到test这个topic存在。接下来用producer生产点数据:

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

并尝试输入如下信息:

hello
hi
123

然后再次开启新的终端或者直接按CTRL+C退出。然后使用consumer来接收数据,输入如下命令:

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

便可以看到刚才产生的三条信息。说明kafka安装成功
/——————————————————华丽的分割线——————————————————————/
打开kafka消费者端时需要注意


这个是0.9版本之后的打开方式

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

这个是0.9之前的打开方式,0.9之后使用会报错
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning


展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读