Kafka(一) 安装与配置

       Kafka最初由LinkedIn公司开发,后来成为Apache项目的一部分,是一个可水平扩展、高吞吐量、分布式的发布-订阅消息系统,一个基于ZooKeeper协调管理的分布式流式处理平台,其核心模块使用Scala语言开发,支持多种语言的客户端。其基本架构如下图所示:

       

     基本概念

     主题

       一组消息抽象归纳为一个主题,即一个主题就是对消息的一个分类。

     消息(Record)

       Kafka通信的基本单位,由一个固定长度的消息头和一个可变长度的消息体构成。消息支持Gzip、Snappy、LZ4这三种压缩方式。

    分区和副本

       一个主题可被分成一个或多个分区,每个分区由一系列有序、不可变的消息组成,是一个有序队列,每个分区在物理上对应为一个文件夹。

    Leader副本和Follower副本

       一个分区可以有多个副本,其数据需保持一致,其中有一个作为Leader,其他作为Follower,各Follower从Leader同步数据来保证数据一致性,在Leader失效后,在Follower之间选举一个新的分区副本作为Leader。

     偏移量

       每条消息在日志文件中的位置都会对应一个按序递增的偏移量,偏移量是一个分区下严格有序的逻辑值,不表示消息在磁盘上的物理位置。

    日志段

       日志可被划分为多个日志段,它是Kafka日志对象分片的最小单位,是一个逻辑概念。

     代理(Broker)

        一个Kafka集群由多个Kafka实例构成,在集群中,每个Kafka实例称为代理,每个代理都有唯一的标识id。代理是无状态的,即代理不记录消息是否被消费,消息偏移量的管理交由消费者自己或组协调器来维护。

     生产者

       生产者负责将消息发生给代理。

     消费者和消费组

       消费者以pull方式拉取数据,每个消费者都属于一个特定消费组,默认消费组为test-consumer-group,每个消费组都有唯一的标识id。

       同一个主题的一条消息只能被同一个消费组下某一个消费者消费,但是不同消费组的消费者可同时消费该消息。

     ISR(In-sync Replica)

       Kafka在ZooKeeper中动态维护了一个ISR,即保存同步的副本列表,该列表保存的是与Leader副本保持消息同步的所有副本对应的代理节点的id。

     ZooKeeper

       ZooKeeper是一个分布式应用程序协调服务框架,分布式应用程序可以基于ZookKeeper来实现同步服务、配置维护、命名服务等,Kafka利用ZooKeeper保存相应元数据信息,Kafka元数据信息包括如代理节点信息、Kafka集群信息、主题信息等等。

    安装与配置

      1. 首先需要JDK1.8,安装很简单,不做介绍。

      

      2. 远程登录免密码配置

      2.1 创建RSA密钥对

            ssh-keygen -t rsa

      2.2 将2.1步骤生成的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值