一、Kafka概述

  1.Kafka是一个分布式流媒体平台,它有三个关键功能:

   (1)发布和订阅记录流,类似于消息队列或企业消息传递系统;

   (2)以容错的持久方式存储记录流;

   (3)记录发送时处理流。

  2.Kafka通常应用的两大类应用

   (1)构建在系统或应用程序之间的可靠获取数据的实时流数据管道;

   (2)构建转换或响应数据流的实施流应用程序。

  3.Kafka中的角色

   发送消息:Producer

   接收消息:Consumer

   后台系统向kafka集群发送消息,然后kafka集群向用户分发消息

Kafka概述及安装部署-LMLPHP

  4.为什么要用消息队列

   (1)解耦:可以自由处理和设置接收及发送端的配置,

  是一个接口的约束,可以避免出现一些问题

   (2)拓展性:可以增加处理过程

   (3)灵活:面对访问量增长到峰值时,不会因为超负荷请求而完全瘫痪

   (4)可恢复:一部分组件失效了,不会影响整个系统,并可以恢复

   (5)缓存:控制数据量经过系统的速度

   (6)顺序保证:保证消息数据按照有序处理

   (7)异步通信:

  提供了异步处理的机制,允许用户把消息当到队列中但不立即处理

  5.Kafka架构设计

    kafka依赖于zookeeper,用zk保存元数据信息(保存kafka集群节点状态信息和消费者当前消费信息)。所以要先搭建zookeeper集群,在搭建kafka集群。

    在kafka中,用来处理和存储生产者生成的消息的是broker,broker将生产者生成的消息以topic分类到不同分区partition,然后根据消费者订阅的主题对消费者发送消息。

Kafka概述及安装部署-LMLPHP

二、Kafka的安装部署

  1.在下载安装包,本人使用的是2.11-2.0.0,上次到linux,解压

  2.在kafka路径下创建其日志文件夹

    mkdir logs

  3.进入config目录,进入server.properties文件修改配置信息

    broker.id=0
     delete.topic.enable=true
     log.dirs=/root/hd/kafka/logs
     zokeeper.connect=hd1-1:2181,hd1-2:2181,hd1-3:2181

  保存并退出;

  4.将修改好的kafka文件夹发送到其他集群机器,并修改server.properties中的broker.id为1,2,3...

    scp -r  /root/hd/kafka  hd09-01:/root/hd/

  5.启动zookeeper集群,再启动kafka集群

    进入kafka目录下输入命令:

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

  启动完成!!

  

05-11 15:39