06 2019 档案

摘要:Spark streaming 和kafka 处理确保消息不丢失的总结 接入kafka 我们前面的1到4 都在说 spark streaming 接入 kafka 消息的事情。讲了两种接入方式,以及spark streaming 如何和kafka协作接收数据,处理数据生成rdd的 主要有如下两种方式 阅读全文
posted @ 2019-06-28 00:07 JohnnyBai 阅读(2115) 评论(0) 推荐(0)
摘要:使用分布式receiver来获取数据使用 WAL 来实现 At least once 操作: conf.set("spark.streaming.receiver.writeAheadLog.enable","true") // 开启 WAL // 1、At most once - 每条数据最多被处 阅读全文
posted @ 2019-06-27 23:40 JohnnyBai 阅读(1435) 评论(0) 推荐(0)
摘要:首先看一下 KafkaServer 这个类的声明: 在这个类的startup中,有一个线程池被实例化了: KafkaRequestHandlerPool 的源代码如下: 再看一下 KafkaRequestHandler 的源码: 重点看一下, kafka.server.KafkaApis#handl 阅读全文
posted @ 2019-06-25 23:50 JohnnyBai 阅读(1649) 评论(0) 推荐(0)
摘要:先从源码来深入理解一下 DirectKafkaInputDStream 的将 kafka 作为输入流时,如何确保 exactly-once 语义。 对应的源码如下: DirectKafkaInputDStream 的类声明如下: 简言之,Kafka RDD 的一个流,每一个指定的topic 的每一个 阅读全文
posted @ 2019-06-25 23:23 JohnnyBai 阅读(850) 评论(0) 推荐(0)
摘要:源码分析的spark版本是1.6。 首先,先看一下 org.apache.spark.streaming.dstream.InputDStream 的 类说明: 翻译如下: 也就是说 spark 1.6 版本的输入流的抽象父类就是 org.apache.spark.streaming.dstream 阅读全文
posted @ 2019-06-25 23:17 JohnnyBai 阅读(1476) 评论(0) 推荐(0)
摘要:首先下载 kafka 0.11.0.3 版本 源码: http://archive.apache.org/dist/kafka/0.11.0.3/kafka-0.11.0.3-src.tgz 下载源码 首先安装 gradle,不再说明 1. 解压缩source压缩包: 2. 进入项目根目录下,执行 阅读全文
posted @ 2019-06-24 23:43 JohnnyBai 阅读(1104) 评论(0) 推荐(0)
摘要:由脚本找到 RM 主类 这部分,我们从脚本作为入口去逐步深入ResourceManager源码。 从 Hadoop 官方文档 中可以看到 ResourceManager 的启动命令为: Usage: yarn resourcemanager [-format-state-store] 定位到 源代码 阅读全文
posted @ 2019-06-20 23:54 JohnnyBai 阅读(2103) 评论(2) 推荐(0)
摘要:先做如下声明,本代码版本是基于 3.1.2 版本。 其实,我们自己在写代码的时候,会有意识地将比较大的功能项独立成包,独立成module, 独立成项目,项目之间的关系既容易阅读理解,又便于管理。 如下,是hadoop-yarn-project的module截图: Hadoop YARN 的大部分功能 阅读全文
posted @ 2019-06-19 23:10 JohnnyBai 阅读(1305) 评论(0) 推荐(0)
摘要:1. 先从官方下载源码:源码下载地址:https://hadoop.apache.org/releases.html,下载 3.1.2 版本 2. 解压缩源码:tar xvf hadoop-3.1.2-src.tar.gz 3. 安装依赖(注:由于我本机环境不是从零开始安装的,部分步骤省略掉): 3 阅读全文
posted @ 2019-06-19 20:25 JohnnyBai 阅读(982) 评论(0) 推荐(0)
摘要:下图简单明了的描述了hadoop yarn 的功能是如何从 hadoop 中细化出来的。 注:图片来自 https://apprize.info/php/hadoop/9.html Hadoop 从 v2 开始,将资源调度与监控、任务作业的管理单独从 Hadoop 中抽取出来,即 原来的 JobTr 阅读全文
posted @ 2019-06-15 16:12 JohnnyBai 阅读(624) 评论(0) 推荐(0)