简单说kafka是一个高吞吐的分部式消息系统,并且提供了持久化。

kafka的架构

• producer:消息生存者
• consumer:消息消费者
• broker:kafka集群的server,负责处理消息读、写请求,存储消息
• topic:消息队列/分类
• Queue里面有生产者消费者模型
• broker就是代理,在kafka cluster这一层这里,其实里面是有很多个broker
• topic就相当于queue
• 图里没有画其实还有zookeeper,这个架构里面有些元信息是存在zookeeper上面的,整个集群的管理也和zookeeper有很大的关系

kafka的消息存储和生产消费模型

• 一个topic分成多个partition
• 每个partition内部消息强有序,其中的每个消息都有一个序号叫offset
• 一个partition只对应一个broker,一个broker可以管多个partition
• 消息不经过内存缓冲,直接写入文件
• 根据时间策略删除,而不是消费完就删除
• producer自己决定往哪个partition写消息,可以是轮询的负载均衡,或者是基于hash的partition策略

有两个重要特点:(1)利用了磁盘连续读写性能远远高于随机读写的特点;(2)并发,将一个topic拆分多个partition(kafka读写的单位是partition).

1.进入kafka2.10目录后,查看启动目录cat startkafka.sh

2.更改配置文件conf/server.properties,修改broker.id(每台唯一)及更改zookeeper的主机名,端口号不用变,修改执行权限:chmod +x ./bin/*

3.启动kafda:bash startkafka.sh

4.使用过程

创建topic 20160118
./bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 2 --partitions 2 --topic 20160118
./bin/kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181  --describe  --topic  20160118
查看tocpic的目录
./bin/kafka-topics.sh --list --zookeeper  node1:2181,node2:2181,node3:2181(结果为20160118)
查看tocpic的具体信息
./bin/kafka-topics.sh --describe --zookeeper node1:2181,node2:2181,node4:2181
    结果为:
    Topic:20160118    PartitionCount:2    ReplicationFactor:2    Configs:
    Topic: 20160118    Partition: 0    Leader: 2    Replicas: 2,0    Isr: 2,0
    Topic: 20160118    Partition: 1    Leader: 0    Replicas: 0,1    Isr: 0,1
查看日志目录:ll /kafka-logs/
发送信息: bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic 20160118
接收信息: bin/kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic 20160118
接收所有信息(包括之前发送的及未打开此命令时发送的消息):
bin/kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic 20160118 --from-beginning

kafka的安装和使用的更多相关文章

  1. Kafka的安装和部署及测试

    1.简介 大数据分析处理平台包括数据的接入,数据的存储,数据的处理,以及后面的展示或者应用.今天我们连说一下数据的接入,数据的接入目前比较普遍的是采用kafka将前面的数据通过消息的方式,以数据流的形 ...

  2. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  3. kafka的安装以及基本用法

    kafka的安装 kafka依赖于ZooKeeper,所以在运行kafka之前需要先部署ZooKeeper集群,ZooKeeper集群部署方式分为两种,一种是单独部署(推荐),另外一种是使用kafka ...

  4. kafka manager安装配置和使用

    kafka manager安装配置和使用 .安装yum源 curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintra ...

  5. kafka 的安装部署

    Kafka 的简介: Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Ap ...

  6. Kafka学习之路 (四)Kafka的安装

    一.下载 下载地址: http://kafka.apache.org/downloads.html http://mirrors.hust.edu.cn/apache/ 二.安装前提(zookeepe ...

  7. centos php Zookeeper kafka扩展安装

    如题,系统架构升级引入消息机制,php 安装还是挺麻烦的,网上各种文章有的东拼西凑这里记录下来做个备忘,有需要的同学可以自行参考安装亲测可行 1 zookeeper扩展安装 1.安装zookeeper ...

  8. Linux下Kafka单机安装配置方法

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...

  9. Kafka Manager安装部署及使用

     为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.本文对其进行部署配置,并安装配置kafkatool对k ...

  10. 【kafka】安装部署kafka集群(kafka版本:kafka_2.12-2.3.0)

    3.2.1 下载kafka并安装kafka_2.12-2.3.0.tgz tar -zxvf kafka_2.12-2.3.0.tgz 3.2.2 配置kafka集群 在config/server.p ...

随机推荐

  1. 有关C++ std::string 类的类型转换 其他语言永远无法理解的伤

    最近做了个项目,C++的MFC窗口程序,一个基于dialog的学生-图书管理系统,有一些感触,最后会放上一些项目截图和部分代码提供大家参考.如果有什么好方法和建议欢迎指导. 强类型,为什么这么伤 我知 ...

  2. 即时Web通信总结

    即时Web通信在一些对数据实时性要求特别严格的应用中十分重要,如监控系统.报价系统.股票交易系统和即时在线聊天应用等,由于http协议设计当初是为了服务器端响应客户端的请求而设计的,只能在客户端主动发 ...

  3. DatePicker (JQ-UI) 的z-index问题

    使用jq-ui的 datepicker ,发现日期弹出层被 <div class="fixed" style="z-index: 2; position: abso ...

  4. hdu 5512 Pagodas 扩展欧几里得推导+GCD

    题目链接 题意:开始有a,b两点,之后可以按照a-b,a+b的方法生成[1,n]中没有的点,Yuwgna 为先手, Iaka后手.最后不能再生成点的一方输: (1 <= n <= 2000 ...

  5. ASP.NET MVC Razor视图(2)

    昨天介绍了一些Razor的基本语法,几天接着向下说: 补成一个,上次介绍了怎么输出原样的文本,用<text></text>标签,下面再介绍一种语法: @{@:我爱北京}  这个 ...

  6. 制作按钮(Button)

    按钮的核心作用 1.按钮能接收单击并触发响应事件. 2.按钮被单击时能同时触发多个响应事件. 3.按钮可以有普通.悬停.单击.禁用等多个状态的不同表现. 4.广泛的说,按钮的核心在于接收事件,任何可以 ...

  7. VS2015下的Android开发系列01——开发环境配置及注意事项

    概述 VS自2015把Xamarin集成进去后搞Android开发就爽了,不过这安装VS2015完成的时候却是长了不知道多少.废话少说进正题,VS2015安装时注意把Android相关的组件勾选安装, ...

  8. About Interface

      http://www.codeproject.com/Articles/18743/Interfaces-in-C-For-Beginners   Interface can't have thi ...

  9. H5动画优化之路

    H5动画60fps之路 在移动端,和Native相比,H5一直都被人吐槽性能差,尤其是在动画方面. 谈到整个Web app的生命周期,一般分为四个部分: 加载 等待用户 响应用户 动画 一般情况下,首 ...

  10. HDU 2045 不容易系列之(3)—— LELE的RPG难题(递推)

    点我看题目 题意 : 中文题不解释. 思路  :先算了第3个第4个,算的时候发现只要在已经枚举出来的前边的状态中往后添加字母就行了,如果两个的都已经表示出来了,那第三个就可以在每个第二个后边加一个,在 ...