当前位置: 移动技术网 > IT编程>软件设计>架构 > 老王带你走过 Kafka 入门教程

老王带你走过 Kafka 入门教程

2018年08月28日  | 移动技术网IT编程  | 我要评论
Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发. Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区 ...

apache kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由linkedin公司开发.

linkedin于2010年贡献给了apache基金会并成为顶级开源项目。kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。

主要构建如下:

1、话题(topic):是特定类型的消息流。消息是字节的有效负载(payload),话题是消息的分类名或种子(feed)名;

2、生产者(producer):是能够发布消息到话题的任何对象;

3、服务代理(broker):已发布的消息保存在一组服务器中,它们被称为代理(broker)或kafka集群;

4、消费者(consumer):可以订阅一个或多个话题,并从broker拉数据,从而消费这些已发布的消息;

kfaka最简单的生产者与消费者相关操作:

pom.xml引入依赖jar包

生产者:

消费者:

 

修改配置文件相关配置

启动 zookeeper 服务
bin/zookeeper-server-start.sh config/zookeeper.properties

启动 kafka broker 服务
bin/kafka-server-start.sh config/server.properties

 

创建一个单分区单副本的 topic: topiclog
bin/kafka-topics.sh --create --zookeeper localhost:26005 --replication-factor 1 --partitions 1 --topic topiclog
created topic "topiclog".

 

注:记得设置jdk
export java_home=/home/tomcat/jdk-1.8 
export path=$java_home/bin:$path

 

bin/kafka-console-producer.sh --broker-list 172.17.0.8:26006 --topic topiclog
bin/kafka-console-consumer.sh --zookeeper 172.17.0.8:26005 --topic topiclog --from-beginning


bin/kafka-topics.sh --zookeeper localhost:26005 --delete --topic topiclog


但是运行命令后,topic并没有被删除,使用 “bin/kafka-topics.sh –list –zookeeper localhost:26005”

仍然可以查到。此时我们需要修改config/server.properties文件中的 “delete.topic.enable=true”

来打开这个功能。此时我们再执行上面的 –delete 操作,即可删除topic了。

综述:我们现在项目中均是以kafka作为生产者。由storm 或者logstash去消费相关消息。从而实现我们的相关的业务分析。数据分析。

 

—————————————————————————————————

推荐阅读:

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网