kafka 集群的安装

坚强是说给别人听的谎言 提交于 2020-02-25 18:58:39

一:  介绍

   1.1    首先kafka是一个分布式的流平台。

    1.1.1    像消息队列或者企业消息队列一样发布和订阅 record。 

    1.1.2   能够存储stream并且具有容错能力

    1.1.3   在流产生时能对流进行加工 (process) .

kafka 的两大应用场景

    1  两个系统或者应用程序间交换数据( 介绍

 

   1.1 首先kafka是一个分布式的流平台。

 

    1.1.1 像消息队列或者企业消息队列一样发布和订阅 record。 

 

    1.1.2 能够存储stream并且具有容错能力

 

    1.1.3 在流产生时能对流进行加工 (process) . 

 

kafka 的两大应用场景

    1  两个系统或者应用程序间实时流数据通道

    2  处理流数据

一些基础概念

     1:  kafka 是一个集群, 可以跨数据中心。

     2:  record 以topic来分类

     3:每条record 包含key,value, timestamp

 

kafka的四大核心api

 

 

 

client 和 server 之间的通信是无比高效的。

之前我一直以为kafka的client只有java版,但是从官网的介绍来看,现在client也支持其他语言。

其他基础的概念:

topic ,  partition  , cluster ,   group

 

二:快速启动

        2.1 启动zookeeper ,  bin/zookeeper-server-start.sh config/zookeeper.properties

最新版本zookeeper的启动会出现这样的问题

 

原因是因为 dataDir 已经被使用过了,改为一个新目录即可。

 

   2.2  

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

   

 2.3       创建一个topic

                    bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

                    该topic 只有一个partition,只有一份。

             列出所有的topic

                   bin/kafka-topics.sh --list --bootstrap-server localhost:9092

 2.4  发布

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

 

2.5  消费topic里面的message 。 

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

 

事实证明:把kafka当作消息队列使用时其message是被持久化了的,可以被多次消费的。 

 

以上 zookeeper 和 kafka都是单节点的,以下介绍kakfa集群的搭建,即集群中的某个节点挂掉之后集群仍然能正常运行。

 

 

3: 在springboot中集成kafka的client 。

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!