kafka读书笔记《kafka并不难学》】的更多相关文章

<Apache kafka实战>读书笔记-kafka集群监控工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如官网所述,Kafka使用基于yammer metrics的监控指标体系来统计broker端和clinets端的各种监控指标(metric).说到yammer metrics,其官网过出了这样的一句话: yammer metrics是一个java库,它使得你能够对生产环境代码所做之事具有无与伦比的洞察力. 当然,虽然该项目已经进化到3.x版本,但即使最新版本的ka…
1.有了分区,可以多个client消费一个topic,有了分区,可以将一个topic 分散在多个broker 2.kafka通过复制实现可靠,通过横向扩展提高性能(如增加分区.客户端.增加broker) 3.消费者占用网络流量,而复制.镜像也会占用网络流量.如果网络接口出现饱和,那么集群的复制出现延时就在所难免,从而让集群不堪一击. 4.如果服务器返回错误, get ()方怯会抛出异常  5.因为生产者会自动进行重试,所以就没必要在代码逻辑里处理那些可重试的错误.你只需要处理那些不可重试的错误或…
======第一章 1 在高并发场景,如大量插入.更新数据库会导致锁表,导致连接数过多的异常,此时需要消息队列来缓冲一下.消息队列通过异步处理请求来缓解压力 2 消息队列采用异步通信机制消息队列拥有先进先出的特性 3 利用先见先出的特性可以做限流.如秒杀中,当消息队列满的时候,返回用户“商品已售完”,这样限制了一部分人能购买成功 4 activeMQ不支持水平扩展,但kafka支持 5 自定义发送到哪个区:可以对消息的key取哈希值,然后哈希值对分区数取模,得到分区 6 消费者数<=分区数,大于…
本人最近在某咨询公司实习,涉及到了一些数据分析的工作,用的是R语言来处理数据.但是在应用的过程中,发现用R很不熟练,所以再打算学一遍R.曾经花一个月的时间看过一遍<R语言编程艺术>,还用R做过阿里的推荐算法比赛,对R语言有一些最初级.基本的了解.不过 ,上面那本书虽然挺好,但是不适合速成,是从程序员的角度写的,对常用函数和统计知识涉及的不多.在实际工作中,发现适时应用R的包和函数是十分重要的,所以打算另找一本书来看.在学校放着一本<R语言实战>,无奈没拿过来,就用电子版的学一遍吧.…
一.腐蚀和膨胀 1.腐蚀和膨胀的主要功能 (1)消除噪声 (2)分割出独立的图像元素,在图像中连接相邻的元素 (3)寻找图像中的极大值或者极小值区域 (4)求出图像的梯度 2.膨胀(dilate) 膨胀就是求局部最大值的操作.从数学角度来说,就是将图像与核进行卷积,计算核B覆盖区域的像素点的最大值,并把这个最大值赋值给参考点指定的元素.这样就会使图像中的高亮区域逐渐增长. 3.腐蚀(erode) 腐蚀和膨胀是相反的操作,腐蚀是求局部最小值的操作.腐蚀操作会使图像中的高亮区逐渐减小. 4.膨胀和腐…
一.bootstrap框架简介 Bootstrap是最流行的前端开发框架. 什么是框架:开发过程的半成品. bootstrap具有以下重要特性: (1)完整的CSS样式插件 (2)丰富的预定义样式表 (3)基于jQuery的插件集 (4)灵活的栅格系统 以下将简单介绍对bootstrap可能用到的知识进行梳理.   二.新手入门 笔者使用版本是3.3.x 在bootstrap中文官网可以找到以下界面     本书采用预编译的版本进行学习 三. 文件结构 生产环境使用bootstrap.min.c…
1.为什么写这本书? 我建立了一个qq群,有很多人在群里面学习和交流,经常有人问我一些Kafka的知识,我可以感受他们对技术的热情,这是一群刚走出校门,或者工作经验较少,又或是一些转型的开发新人,他们希望通过自学提高自己的开发能力,但是又没有学习渠道和正确的方法,于是我写了这本书. 2.开始写作 2018年3月,我开始写作计划. 我花了两周时间思考新书的内容,修修改改终于确定了目录大纲(前期大量写博客积累的素材),然后定下一个矫情而有仪式感的计划——晚上闭关6个月.这段时间妹子很体谅我,照顾我,…
<Apache Kafka实战>读书笔记-调优Kafka集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.确定调优目标 1>.常见的非功能性要求 一.性能(performance) 最重要的非功能性需求之一.大多数生产环境对集群性能都有着严格的要求.不同的系统对于性能有着不同的诉求.比如对数据库系统来说,最重要的性能是请求的响应时间(response time).用户总是希望一条查询或更新操作的整体响应时间越短越好:而对kafak而言,性能一般指的是吞吐量和延时…
<Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kafka已经有了深入对一步了解了,因为现在的你已经不考虑如何部署kafka以及调优了,而是考虑到kafka安全的问题.其实,在很多企业中,很少有人考虑到kafka的安全,小到几十人的小型互联网公司,达到某些云平台的云服务(我这里就不说是哪家云公司了),他们默认都是不会给kafka配置相关安全策略的,而是要求用户自…
<Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运行需求,不过还是可以通过调整一些参数来进一步提升Kafka的性能.这些参数主要与虚拟内存,网络子系统和用来存储日志片段的磁盘挂在点有关.这些参数一般配置在“/etc/sysctl.conf” 文件里,不过在对内核参数进行调整时,最好参考官方提供的操作系统文档. 一.虚拟内存 一般来说,Linux的虚拟内存会根…
<Apache Kafka 实战>读书笔记-认识Apache Kafka 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka概要设计 kafka在设计初衷就是为了解决互联网公司的超级大量级数据的实时传输.为了实现这个目标,kafka在设计之初就需要考虑以下四个方面: 第一:吞吐量/延迟 第二:消息持久化  第三:负载均衡和故障转移 第四:伸缩性 1>.吞吐量/延时介绍 我们先打个比方:若kafka处理一条消息需要花费2ms,那么计算得到的吞吐量不会超过500…
kafka的客户端也支持其他语言,这里主要介绍python和java的实现,这两门语言比较主流和热门 图中有四个分区,每个图形对应一个consumer,任意一对一即可 获取topic的分区数,每个分区创建一个进程消费分区中的数据. 每个进程的实例中,先要创建连接kafka的实例,然后指定连接到哪个topic(主图),哪个分区 之后要设置kafka的偏移量,kafka中每条消息都有偏移量,如果消费者突然宕机了,则可以从上个偏移量继续消费 提交偏移量的工作客户端都会默认操作,因此提交偏移量可选 后续…
消息系统通常由生产者(producer ). 消费者( consumer )和消息代理( broker ) 三大部分组成,生产者会将消息写入消息代理,消费者会从消息代理中读取消息 . 对于消息代理而言,生产者和消费者都属于客户端:生产者和消费者会发送客户端请求给服务端,服务端的处理分别是存储消息和获取消息,最后服务端返回响应结果给客户端. 这里主要分析新旧两个版本的生产者客户端,以及服务端的网络连接实现. 新生产者客户端 Kafka初期使用 Sca la编写 . 最新的客户端使用了 Java重新…
kafka 入门笔记(#1) 单机测试 下载版本,解压 tar -xzf kafka_2.11-0.10.1.1.tgz cd kafka_2.11-0.10.1.1 启动服务 Kafka用到了Zookeeper ,所以首先要启动zookeeper,先启动一个单实例的zk服务. bin/zookeeper-server-start.sh config/zookeeper.properties & 启动Kafka 服务 bin/kafka-server-start.sh config/server…
最近因为架构中引入了kafka,一些之前在代码中通过RPC调用强耦合但是适合异步处理的内容可以用kafka重构一下. 考虑从头学一下kafka了解其特性和使用场景. 环境选择 首先是测试环境的搭建,平时使用的是win,但kafka以及zk在win上会存在一些bug(例如 https://issues.apache.org/jira/browse/KAFKA-1194),最好还是在linux平台上搭建. 虚拟机是一个不错的选择但开销比较大,日常使用的笔记本8G内存开启虚拟机不是很方便,bash o…
Kafka 学习笔记之 Kafka0.11之console-producer/console-consumer: 启动Zookeeper 启动Kafka0.11 创建一个新的Topic: ./kafka-topics.sh --create --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --replication-factor 1 --partitions 3 --topic Topic011 查询Topic列表: ./kafka-topi…
一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕. 3.扩展性 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可. 4.灵活性…
概述 学习和使用kafka不知不觉已经将近5年了,觉得应该总结整理一下之前的知识更好,所以决定写一系列kafka学习笔记,在总结的基础上希望自己的知识更上一层楼.写的不对的地方请大家不吝指正,感激万分.第一篇介绍消息队列概况和kafka的入门知识. 消息队列系统 首先说一下消息队列的含义,"消息系统"这个词是从英文翻译过来的,英文的名字是"Messaging System",稍微学习过英语基础的都知道要翻译成消息队列,但是也有一些大家觉得并不正确,因为它片面强调了消…
一.Kafka使用背景 1. Kafka的定义 是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础,具有高水平和高吞吐量. 2. ActiveMQ.RabbitMQ.Kafka 二.Kafka的相关概念 1. AMQP协议 producer---push--->broker  <---pull--- consumer 一些基本的概念 (1)消费者(consumer):从消息队列中…
Kafka作为大数据时代的产物,自有其生存之道.让我们跟随扫盲班的培训,进行大致了解与使用kafka吧.(平时工作有使用不代表就知道kafka了哟) 1. kafka介绍 1.1. 拥有的能力(能干什么?) 根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能: 1. 发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因 2. 以容错的方式记录消息流,kafka以文件的方式来存储消息流 3. 可以再消息发布的时候进行处理 1.2. 应用场…
0x00 基本信息 1.Kafka架构图 2.环境信息 服务器IP:xx.xx.xx.xx 操作系统:CentOS7.2_x64 Kafka版本:kafka_2.12-1.1.0 Zookeeper版本:zookeeper-3.4.12 0x01 让Kafka运行起来 1.先启动Zookeeper $ cd /opt/kafka/zookeeper-/bin $ zkServer.sh start 确认zookeeper是否成功启动: $ netstat -an | tcp6 ::: :::*…
0x00 下载 http://www.confluent.io/download,打开后,显示最新版本3.0.0,然后在右边填写信息后,点击Download下载. 之后跳转到下载页面,选择zip 或者 tar都行, 下载完成后上传linux系统,解压即完成安装. zip and tar archives– 推荐OS X 和 Quickstart deb packages via apt – 推荐安装服务在 Debian/Ubuntu系统 rpm packages via yum – 推荐安装服务…
0x00 概述 在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导致网络阻塞.并且这个 Bug也在其他使用者中出现过,看来使用开源工具要慎重!该Bug暂未得到修复,不得已,只能研究下其他同类的Kafka监控软件. 通过研究,发现主流的三种kafka监控程序分别为: Kafka Web Conslole Kafka Manager KafkaOffsetMonito…
0x00 概述 关于如何搭建ELK部分,请参考这篇文章,https://www.cnblogs.com/JetpropelledSnake/p/9893566.html. 该篇用户为非root,使用用户为“elk”. 基于以前ELK架构的基础,结合Kafka队列,实现了ELK+Kafka集群,整体架构如下: # 1. 两台es组成es集群;( 以下对elasticsearch简称es ) # 2. 中间三台服务器就是我的kafka(zookeeper)集群啦; 上面写的 消费者/生产者 这是ka…
第1章 Kafka概述 1.1 消息队列 (1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端.这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此. (2)发布/订阅模式(一对多,数据生产后,推送给所有订阅者) 发布订阅模型则是一个基于推送的消息传送模型.发布订阅模型可以有多种不同的订阅者,临时订阅者只在主动监听主题时才接收消息,而持久订…
环境CentOS7.0,JDK1.8 一.下载安装 在kafka官网 http://kafka.apache.org/downloads下载到最新的kafka安装包 下载 2.0.0 release,解压. > tar -xzf kafka_2.11-2.0.0.tgz > cd kafka_2.11-2.0.0 在kafka解压目录下下有一个config的文件夹,里面放置的是配置文件 consumer.properites 消费者配置,可以使用默认设置 producer.properties…
0x00 概述 本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka的性能测试报告. 0x01 性能测试及集群监控工具 Kafka提供了非常多有用的工具,如Kafka设计解析(三)- Kafka High Availability (下)中提到的运维类工具——Partition Reassign Tool,Preferred Replica Leader Elect…
0x00 摘要 Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永远不能再恢复,亦或磁盘故障,则其上数据将丢失.而Kafka的设计目标之一即是提供数据持久化,同时对于分布式系统来说,尤其当集群规模上升到一定程度后,一台或者多台机器宕机的可能性大大提高,对于Failover机制的需求非常高.因此,Kafka从0.8开始提供High Availability机制.本文…
一.准备工作 1. 安装JDK 可以用命令 java -version 查看版本…
1.集群规划 从官网下载jar包 http://kafka.apache.org/downloads.html,我选择的是kafka_2.11-0.11.0.0.tgz版本 规划一下集群环境先~ hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka 2.集群部署 1)解压安装包 [simon@hadoop102 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/ 2)…