自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一梦

改变,最初,疯狂

  • 博客(75)
  • 收藏
  • 关注

原创 【ZooKeeper】zookeeper源码10-ZooKeeper读写流程源码分析

客户端与服务端链接建立

2023-03-09 00:05:44 205

原创 【ZooKeeper】zookeeper源码9-ZooKeeper读写流程源码分析

源码项目zookeeper-3.6.3:核心工作流程

2023-02-12 18:04:31 4100

原创 【ZooKeeper】zookeeper源码8-Follower和Leader状态同步

Follower和Leader状态同步

2022-11-23 00:56:21 549

原创 【ZooKeeper】zookeeper源码7-FastLeaderElection网络通信机制&选票交换机制&lookForLeader执行选举

FastLeaderElection网络通信机制&选票交换机制&lookForLeader执行选举

2022-11-19 17:59:17 857

原创 【ZooKeeper】zookeeper源码6-FastLeaderElection选举算法

zookeeper源码-FastLeaderElection选举算法

2022-11-06 21:56:47 681

原创 【ZooKeeper】zookeeper源码5-ZKDatabase冷启动恢复

zookeeper源码-ZKDatabase冷启动恢复

2022-11-01 00:05:20 499

原创 【ZooKeeper】zookeeper源码4-集群启动脚本分析

zookeeper源码-集群启动脚本分析

2022-10-23 23:32:38 845

原创 【ZooKeeper】zookeeper源码3-网络通信机制

zookeeper源码-网络通信机制

2022-10-23 16:28:18 812

原创 【ZooKeeper】zookeeper源码2-持久化机制

zookeeper源码-持久化机制

2022-10-20 00:03:32 1005

原创 【ZooKeeper】zookeeper源码1-序列化机制

zookeeper源码-序列化机制

2022-10-17 23:03:08 329

原创 【ZooKeeper】zookeeper源码组成介绍

zookeeper源码项目组成介绍

2022-10-16 23:14:52 187

原创 【ZooKeeper】ZooKeeper企业应用

ZooKeeper企业应用

2022-10-15 20:56:24 363

原创 【ZooKeeper】ZooKeeper 应用场景

ZooKeeper 应用场景

2022-10-10 00:00:23 1640

原创 【ZooKeeper】核心功能和工作机制3-Watcher监听机制

Watcher监听机制

2022-10-08 21:49:32 379

原创 【ZooKeeper】核心功能和工作机制2-ZNode数据模型

znode数据模型

2022-10-07 23:37:41 268

原创 【ZooKeeper】核心功能和工作机制1-ZooKeeper架构理解

ZooKeeper分布式协调服务组件学习

2022-09-27 23:49:07 444

原创 【Scala语言】scala简介_scala环境搭建_创建scala工程demo_ java和scala执行效率比较_scala的REPL交互式解释器

001-scala基础语法scala简介为什么要使用scalascala开发环境安装安装JDK安装scala SDK安装IDEA的scala插件创建demo工程java和scala执行效率比较scala简介scala是运行在 JVM 上的多范式编程语言,同时支持面向对象和面向函数编程JVM:java虚拟机多范式:java语言是面向对象编程的语言,随着jdk不断的升级,开始慢慢支持一些面向函数式的编程。而scala具有具有这两种风格。scala的主要优势:表达性随着spark和kafka作为大数

2021-01-16 18:48:53 238

原创 【hadoop二次开发】datanode初始化之校验存储路径,并返回可用路径列表

009-hadoop二次开发-DataNode启动流程

2020-10-07 12:17:13 285

原创 【hadoop二次开发】对namenode的启动流程的总结

009-hadoop二次开发启动http元数据加载创建RPC守护线程工作和总体流程NameNode启动流程首先在源码文件NameNode.java中的main函数中,主要基于createNameNode方法,进入该方法后,根据参数,进行模式匹配,匹配到default,进入NameNode构造函数,会在createHAContext方法(在FSNamesystem.java源码文件中)中启动一些回调函数,比如startActiveServices()函数,开启守护线程this.nnrmthread =

2020-10-06 15:22:05 175

原创 【hadoop二次开发】根据汇报的数据块判断是否可以离开安全模式

008-hadoop二次开发在源码文件FSNamesystem.java执行完nnResourceChecker = new NameNodeResourceChecker(conf);立马执行checkAvailableResources(),检查可用资源是否足够:如果不够,日志打印警告信息,然后进入安全模式。然后 /** * 磁盘资源不足的情况下,任何对元数据修改所产生的日志都无法确保能够写入到磁盘, * 即新产生的edits log和fsimage都无法确保写入磁盘。所以要进入安

2020-10-06 14:13:18 232

原创 【hadoop二次开发】检查磁盘资源的守护线程类

007-hadoop二次开发启动NameNode的场景打开源码文件NameNode.java,找到main函数,找到createNameNode方法进入,经过模式匹配,匹配到NameNode进入, /** * 1、对namenode做参数的注册(fs.defaultFS、rpc地址等) * 2、初始化 * 3、根据初始化处理的结果,namenode进入对应的状态(active、backup、standby) * */ protected NameNode(Configur

2020-10-05 16:10:28 94

原创 【hadoop二次开发】NameNodeResourceChecker的构造函数

006-hadoop二次开发针对源码文件NameNode.java中startCommonServices(Configuration conf)下namesystem.startCommonServices(conf, haContext)源码文件FSNamesystem.java中startCommonServices(Configuration conf, HAContext haContext)下nnResourceChecker = new NameNodeResourceChecker(co

2020-10-05 15:29:29 103

原创 【hadoop二次开发】RPC的创建流程

005-hadoop二次开发在源码NameNode.java文件第716行创建RPC:/** * NameNodeRpcServer里面有两个主要的RPC服务: * 1):clientRpcServer , 主要管理的协议是hdfs的客户端(用户)去操作HDFS的方法 * 2):ServletRpcServer , 服务之间互相进行的方法的调用(注册、心跳等) * */rpcServer = createRpcServer(conf);怎么创建RPC的呢?进入createRpcServer

2020-10-05 12:46:11 333

原创 【hadoop二次开发】源码中namenode是如何启动http服务器对外提供服务的

004-hadoop二次开发在NameNode.java源码文件中: /** * 1、对namenode做参数的注册(fs.defaultFS、rpc地址等) * 2、初始化 * 3、根据初始化处理的结果,namenode进入对应的状态(active、backup、standby) * */ protected NameNode(Configuration conf, NamenodeRole role) throws IOException { t

2020-09-20 13:20:20 487

原创 【hadoop二次开发】通过源码NameNode类的mian函数进行启动namenode

003-hadoop二次开发main函数main函数一旦调用org.apache.hadoop.hdfs.server.namenode.NameNode,那么在该类下一定有个main函数。启动NameNode需要提交参数,首先对参数要进行合法校验,if (DFSUtil.parseHelpArgument(argv, NameNode.USAGE, System.out, true)) { System.out.println("####参数校验#####"); System.exit(0

2020-09-20 09:28:19 185

原创 【hadoop二次开发】查看NameNode的启动脚本

002-hadoop二次开发NameNode是什么,有哪些职责NameNode如何启动的(通过脚本)NameNode是什么,有哪些职责首先namenode是一个服务中心,管理文件系统命名空间的,比如当前文件名叫什么,以及管理的元数据,blockID,block大小,块池列表,在哪些机器上。在WEB-UI界面50070端口,Utilities下Browse Directory查看hdfs文件信息。当在客户端输入hadoop fs -ls /命令后,通过rpc发送给namenode,执行操作,返回结果到

2020-09-19 12:08:07 353

原创 【hadoop二次开发】模仿源码,手写一个RPC过程调用

001-hadoop二次开发Hadoop RPC创建一个demo工程(hadoopProject)rpc-server工程rpc-client工程RPC总结Hadoop RPCRPC(Remote Procedure Call)-远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议(比如TCP\UDP)。代码实现添加pom依赖<dependency> <groupId>org.apache.hadoop</groupId&gt

2020-09-18 22:17:05 266

原创 【Flink流式计算框架】checkpoint(容错)_恢复数据(容错)_savepoint

012-Flinkcheckpoint(容错)checkpoint概述checkpoint配置恢复数据(容错)重启策略概述重启策略多checkpoint从checkpoint恢复数据savepoint(重量级checkpoint)checkpoint(容错)checkpoint概述(1)为了保证state的容错性,Flink需要对state进行checkpoint。(2)Checkpoint是Flink实现容错机制最核心的功能,它能够根据配置周期性地基于Stream中各个Operator/task的

2020-08-09 20:50:47 385

原创 【Flink流式计算框架】State(KeyedState/OperatorState)和StateBackend及配置

011-FlinkStatestate概述State类型KeyedState案例Operator State案例(unKeyedState)State backendMemoryStateBackendFsStateBackendRocksDBStateBackendStateBackend配置方式State:一般指一个具体的task/operator的状态。     Keyed State(keyBy):托管状态、原始状态 工作中用的较多

2020-08-05 23:24:20 660 1

原创 【源码学习-spark2.1.1和yarn2.11】SparkOnYarn部署流程(二)ApplicationMaster_CoarseGrainedExecutorBackend

002-源码spark-2.1.1版SparkOnYarn部署流程-ApplicationMasterSparkOnYarn部署流程-CoarseGrainedExecutorBackendSparkSubmit// 启动进程– main// 封装参数– new SparkSubmitArguments// 提交– submit// 准备提交环境– prepareSubmitEnvironment// Cluster– childMainClass = “org.apache.spa

2020-08-05 14:14:58 395

原创 【源码学习-spark2.1.1和yarn2.11】SparkOnYarn部署流程(一)从sparksubmit提交到yarn启动进程ApplicationMaster

001-源码spark-2.1.1版SparkOnYarn部署流程源码散步1.整体框架2.框架组件、通信3.任务的划分、调度、执行这里基于spark-2.1.1版本的源码,官网现在是spark-3.0.0和spark-2.1.1的源码还是有很多区别的。SparkOnYarn部署流程bin/spark-submit \-class org.apache.spark.examaple.SparkPi \-master yarn \-deploymode client \./examples

2020-08-04 16:28:38 435

原创 【Flink流式计算框架】并行度_slot_task_数据传输方式_OperatorChain

010Flink有状态的流和分布式计算并行度&Slot&Task并行度的设置数据传输的方式Operator Chain使用StreamExecutionEnviroment.createLocalEnvironmentWithWebUI(new Configurati-on()),可以在本地看到flink的运行信息需要引入依赖nc -lk 8888建立以一个socket源客户端多少个并行度就有多少个task每个方法,每个算子后面都可以设置并行度.setParallelism()

2020-08-03 17:33:16 402

原创 【Flink流式计算框架】flink任务提交

009FlinkFlink基本架构概述Client 客户端JobManagerFlink基本架构standalone模式:主从式的架构yarn模式概述Flink 整个系统主要由两个组件组成,分别为 JobManager 和 TaskManager,Flink 架构也遵循 Master - Slave 架构设计原则,JobManager 为 Master 节点,TaskManager 为 Worker (Slave)节点。所有组件之间的通信都是借助于 Akka Framework,包括任务的状

2020-08-03 15:29:11 356

转载 【Flink流式计算框架】DataSet算子操作

008FlinksourcetransformMapPartitiondistinctjoinOutJoinCrossFirst-n 和 SortPartitionpartitionsinkDataSet算子操作(有界的、批处理、离线)Spark:1.2RDD->1.3DataFrame->1.6DataSet keyBy和groupBy效果一样,为了区分DataStream和DataSet source基于文件:readTextFile 基于集合:fromCollection(Co

2020-08-02 15:46:43 333

原创 【Flink流式计算框架】常见Transformation操作

006Flinkmap和filterflatMap,keyBy和sumunionconnect,conMap和conFlatMapSplit和Select获取source的方式(自带的)       基于文件:readTextFile()       基于socket:socketTextStream       基于集合

2020-08-02 10:47:25 298

原创 【Flink流式计算框架】常见sink操作

007Flinkprint() / printToErr()writeAsText()Flink提供的sink自定义sinkprint() / printToErr()打印每个元素的toString()方法的值到标准输出或者标准错误输出流中writeAsText()/** * 数据源:1 2 3 4 5.....源源不断过来 * 通过map打印一下接受到数据 * 通过filter过滤一下数据,我们只需要偶数 */public class WriteTextDemo { public

2020-08-02 10:46:44 1597

原创 【Flink流式计算框架】Flink数据源

005Flink获取source的方式(自带的)       基于文件:readTextFile()       基于socket:socketTextStream       基于集合:fromCollection(Collection)       自定义数

2020-07-28 19:42:13 397

原创 【Flink流式计算框架】Local模式安装_Standalone模式安装(local)_Flink on Yarn模式安装_Flink Shell使用

004FlinkLocal模式安装(集群只有一个节点)Local模式安装在集群上提交任务Standalone模式安装(local)Flink on Yarn模式安装第一种方式第二种方式help信息(yarn-session.sh和flink run)Local模式安装(集群只有一个节点)Local模式安装(1)安装jdk,配置JAVA_HOME,建议使用jdk1.8以上(2)安装包下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-

2020-07-28 17:24:30 549

原创 【Spark内存计算框架】SparkStreaming调优策略

007SparkStreamingSparkStream的核心抽象是DStream调优策略:Sparkstreaming+kafka,用不到receiver,选择direct方式基于receiver基于directshuffle上游shuffle下游调整数据处理的并行度(task)数据的序列化SparkStreaming两种需要序列化的数据:a. 输入的数据:默认是以StorageLevel.MEMORY_AND_DISK_SER_2的形式存储在executor上的内存中b. 缓存

2020-07-26 18:19:34 226

原创 【Flink流式计算框架】flink入门程序实现(单词计数)_实时统计_离线统计

003FlinkFlink程序步骤一:获取执行环境,获取的是程序入口步骤二:获取数据源步骤三:数据处理Out.collect(new Tuple2<>(word,1))Out,collect(Tuple2.of(word,1))这俩结果一样步骤四:数据的输出步骤五:启动应用程序工作中算子参数,用面向对象的抽离复杂的算子实时需求分析       实时统计每隔1秒统计最近2秒单词出现的次数开发环境部署官网建议使

2020-07-26 17:35:31 748

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除