一:概念

Kafka是一个分布式的消息队列,相当于我们生活中的快递柜,快递点,快递员将快递放到快递柜中,收件人去取,把快递(消息)的入柜(入队)和处理进行解耦,使得双方以自己合适的时间和频率处理快递,此外快递柜也起着削峰填谷的作用,双十一,一车快递进入一个快递点,收件一时间无法领取掉自己的快递,可以暂存到快递点,收件人有时间在去取。

Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。

其他知识点可查看

博客kafka有趣的介绍:https://www.cnblogs.com/sujing/p/10960832.html

(自己总结kafka 知识架构见百度脑图:http://naotu.baidu.com/file/1533ce4eb64b046a45696ad745490720   和百度云盘-组件知识库-kafka中的word文档)

二:部署kafka相关命令(单机,集群)

使用kafka自带的zookeeper集群启动

(1)下载好kafka的包,并解压到/opt/kafka/目录下

tar zxvf kafka_2.11-2.2.1.tgz -C /opt/kafka

(2)启动自带的zookeeper(2181端口)

cd /opt/kafka/kafka_2.11-2.2.1/

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

(3)启动kafka(9092端口)

bin/kafka-server-start.sh -daemon  config/server.properties   (-daemon表示守护进程)

lsof -i :9092   (列出9092端口是否在使用)

(4)创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 2 --replication-factor 3 --topic first

其中:--partitions 2 //创建2个分区

--replications-factor 3 //副本数,leader在副本中

--topic //主题为first

查看topic列表

bin/kafka-topics.sh --list --zookeeper localhost:2181 first

查看topic详情描述

bin/kafka-topics.sh --zookeeper localhost:2181 --describe topic first

(5)创建生产者

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

(6)  创建消费者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning   (--from-beginning表示从开始topic起点开始消费)

注:旧版本中--bootstrap-server是 --zookeeper (消费者的offset之前的版本存放在zookeeper中,新版本offset存放在broker集群的topic中)

补充:下载和命令详情可参考kafka官网 (http://kafka.apache.org/quickstart)

删除topic
    bin/kafka-topics.sh --delete --zookeeper localhost:2181  --topic first

停止kafka
    bin/kafka-server-stop.sh stop

启动指定配置文件的消费者
    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning --consumer.config config/consumer.properties

学习kafka笔记的更多相关文章

  1. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  2. DSP28377S - ADC学习编程笔记

    DSP28377S -  ADC学习编程笔记 彭会锋 2016-08-04  20:19:52 1 ADC类型导致的配置区别 F28377S的ADC类型是Type 4类型,我的理解是不同类型的ADC采 ...

  3. 学习ReactNative笔记整理一___JavaScript基础

    学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...

  4. 深度学习word2vec笔记之算法篇

    深度学习word2vec笔记之算法篇 声明:  本文转自推酷中的一篇博文http://www.tuicool.com/articles/fmuyamf,若有错误望海涵 前言 在看word2vec的资料 ...

  5. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  6. 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)

    强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...

  7. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)

    强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...

  8. (转)深度学习word2vec笔记之基础篇

    深度学习word2vec笔记之基础篇 声明: 1)该博文是多位博主以及多位文档资料的主人所无私奉献的论文资料整理的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用 ...

  9. 深度学习word2vec笔记之基础篇

    作者为falao_beiliu. 作者:杨超链接:http://www.zhihu.com/question/21661274/answer/19331979来源:知乎著作权归作者所有.商业转载请联系 ...

随机推荐

  1. Git速成学习第二课:管理修改与删除文件

    Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 管理修改 首先我们需要明确,为什么说Git管理的是修改而不是文件呢? 我们首先对于已有的read ...

  2. 【FFMPEG】【ARM-Linux开发】fmpeg安装第三方编码器(encoder)库,ffmpeg编码h264(完)

    fmpeg安装第三方编码器(encoder)库,ffmpeg编码h264(完) ffmpeg安装第三方编码器(encoder)库 关键词:ffmpeg.编码h264.第三方encoder 安装好了ff ...

  3. ffmpeg学习笔记-编译脚本

    之前已经用他人的编译脚本对ffmpeg进行了成功编译,那么在裁剪ffmpeg的时候需要指定文件,这时候应该怎么编写编译脚本呢?本文目的在于说明ffmpeg编译脚本的编写 首先在ffmpeg的目录下新建 ...

  4. 记:linux服务器启动重启WEB项目启动成功,长时间卡住未响应

    问题 云服务器部署web项目,每次正常启动项目后访问页面很久才能有响应,一直卡在INFO: Deploying web application directory ......长达几分钟以上,极度影响 ...

  5. js函数(5)

    函数属性方法和构造函数 length属性 函数体中,arguments.length表示传入函数的实参个数. prototype属性 指向一个对象的引用 call方法和apply方法 看作是某个对象的 ...

  6. HTML5 & CSS初学者教程(详细、通俗易懂)

    前端语言基础:HTML5 & CSS (一) HTML5:超文本标记语言 (1) 基本概念 是由一系列成对出现的元素标签(标记)嵌套组合而成 ( XML也是标签构成的 ) 这些标签以的形式出现 ...

  7. 关于typora换行的问题

    neo4j> profile MATCH (liskov:Scientist { name:'Liskov' })-[:KNOWS]->(wing:Scientist)-[:RESEARC ...

  8. Python如何将字符和Unicode编码转变

    小小总结一下,以防过几天忘记,自己的复习资料,如果能帮到大家,也是有所作用!! 1,字符转化为Unicode编码方法: ord("字符") ord("A") o ...

  9. sublime 配置大全

    最近玩 python ,一般用的编译器是 pycharm ,功能强大,但是苦于启动速度遂准备换坑,瞄上了 sublime .这里记录一下 sublime 的设置以及坑爹项,需要注意的是我用的是 sub ...

  10. JS实现旋转的魔方

    js <script> window.onload = function () { let cube = document.querySelector('.cube') let timer ...