自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (4)
  • 收藏
  • 关注

原创 应用程序在RM中的完整运行流程分析

(3)START事件会交给中央处理器(AdyncDispatcher)来处理,中央处理器(AdyncDispatcher)会将该事件放入总事件队列中(Even Queue),当中央处理器处理到该事件时将首先匹配其事件所属的事件类型,然后将其交给对应类型的子处理器来处理该事件,随后Application的状态将会变迁为NEW_SAVING状态。(24)在FINAL_SAVING状态将会把一系列的运行结果以及运行情况写入硬盘,写入完毕后RMAppAttempt状态将变迁为FINISHED状态。

2022-10-18 15:59:35 363 1

原创 YARN状态机监控

4个组件分别监控4个不同状态机的状态变迁情况。(5)类AppStateLisenceClient为应用状态监听客户类,此类为客户端主类,用于寻址服务器端,和服务器端建立连接,每隔1s向服务端发送应用信息请求包,得到服务器应用信息回应包之后,解析并且更新应用程序的当前状态。(3)类NodeStateLisenceClient为节点状态监听客户类,此类为客户端主类,用于寻址服务器端,和服务器端建立连接,每隔1s向服务端发送节点信息请求包,得到服务器节点信息回应包之后,解析并更新节点的当前状态。

2022-10-18 15:56:26 507 1

原创 HDFS Federation

这个单独的Namenode管理着数个Datanode,Block分布在各个Datanode中,每个Datanode会周期性地向此Namenode发送心跳消息,报告自己所在Datanode的使用状态。命名空间管理是指命名空间支持对HDFS中的目录、文件和块做类似文件系统的创建、修改、删除、列表文件和目录等基本操作。处理Datanode向Namenode注册的请求,处理Datanode的成员关系,处理来自Datanode周期性的心跳。处理与块相关的操作,包括块的创建、删除、修改及获取块信息。

2022-10-18 15:51:02 1228

原创 Fair Scheduler

Fair Scheduler是由Facebook贡献的,是Hadoop上一个可插拔式的调度器,允许YARN应用程序在一个大的集群上公平地共享资源。与Hadoop默认的调度器维护一个作业队列不同,这个特性让耗时较短的应用程序在合理的时间内完成的同时又不“饿”到耗时较长的应用程序。当提交其他的应用程序时,已释放的资源就会被分配给新的应用程序,因此每个应用程序最后都能粗略地获得等量的资源。公平调度是一种为应用程序分配资源的方法,这样随着时间的推移,所有的应用程序通常都能获得等同的资源份额。

2022-10-18 15:43:36 638

原创 Capacity Scheduler

为了提供对共享资源的进一步的控制和预测,Capacity Scheduler支持层级队列,可以保证资源在一个队列的子队列中优先于其他队列来获取到空闲的资源,从而提供了在一个组织内部各应用程序间共享资源的密切关系。Capacity Scheduler是由Yahoo贡献的,是Hadoop上一个可插拔式的调度器,它允许多用户安全地共享一个大型的集群,能够在分配的容量限制下,及时地为用户的应用程序分配资源。还有一个额外的好处,一个组织可以访问别人没有使用的额外的容量,从而提供一个符合成本效益的弹性组织方式。

2022-10-18 15:40:36 743

原创 YARN资源调度器

这类事件总共有6个,分别是NODE_ADDED(添加一个计算节点)、NODE_REMOVED(移除一个计算结点)、APPLICATION_ADDED(添加一个应用程序)、APPLICATION_REMOVED(移除一个应用程序)、CONTAINER_EXPIER(回收超时的Container)、NODE_UPDATE(更新节点)。集群资源是非常有限的,在多用户、多任务环境下,如何保证在有限资源或业务约束下有序调度和执行任务,需要有一个协调者,这就是YARN资源调度器。

2022-10-18 15:36:49 359

原创 编码和调优的原则

当然也不是说开始写代码时随便写,除了代码要尽量简单,也要遵循一些原则。例如,在面向对象编程中,我们强调日常开发要遵循s(rp)o(cp)l(sp)i(sp)d(ip)五原则。在我看来,能够在线上部署的工程化项目适用2/8原则,即80%的需求都可以用简单做法去实现。同样,在编写HiveSQL代码时,也需要遵循一些简单的原则。结合对实际业务的理解,我认为很多人对代码有点过度优化,积极性太高。例如,代码中看起来逻辑别扭,结构怪异的地方必然有其优化的空间。在我看来,能用简单的代码就不要用复杂的代码去编写、

2022-10-18 15:30:35 120

原创 ZooKeeper基础

例如,在主从模式的例子中,当主节点创建的znode为临时节点时,该节点的存在意味着现在有一个主节点,且主节点状态处于正常运行中。临时的znode与之相反,当创建该节点的客户端崩溃或关闭了与ZooKeeper的连接时,这个节点就会被删除。持久znode是一种非常有用的znode,可以通过持久类型的znode为应用保存一些数据,即使znode的创建者不再属于应用系统时,数据也可以保存下来而不丢失。当新建znode时,还需要指定该节点的类型(mode),不同的类型决定了znode节点的行为方式。

2022-09-03 15:45:21 394

原创 如何在 Linux 中设置或更改系统主机名

博学谷提供技术支持主机名能帮助人们轻松的识别网络中的机器只需要将“NEW_HOSTNAME”替换为你希望设置的主机名。就可以立即更改系统的主机名,但有一个问题 - 原始主机名将在下次重新启动时恢复。...

2022-08-27 09:11:39 3601

原创 Java 数据库连接池

数据库连接池是一种众所周知的数据访问模式。其主要目的是减少执行数据库连接和读/写数据库操作所涉及的开销。在最根本的层面上, 连接池是一种数据库连接缓存实现 ,可以根据特定需求进行配置。在这里,我们将讨论一些流行的连接池框架。然后我们将学习如何从头开始实现我们自己的连接池。

2022-08-20 11:55:38 338

原创 MYCAT的简单理解

一个完全开源的用于企业应用开发的大型数据库集群一个可以看成是MySQL Cluster的企业级数据库,用来替代昂贵的Oracle集群集成内存缓存技术、NoSQL技术和HDFS大数据的全新SQL Server结合传统数据库和新型分布式数据仓库的新一代企业数据库产品一种新颖的数据库中间件产品。...

2022-08-13 09:59:46 62

原创 什么是数据库索引?

博学谷提供技术支持了解数据库索引如何帮助我们快速查询数据。索引是数据库后台用于加速查询的强大工具。索引通过提供一种快速查找请求数据的方法来增强查询。简单地说,索引是指向表中数据的指针。数据库中的索引与书后的索引非常相似。想象一下走进大型图书馆,被要求在 10 分钟内找到特定出版物。你能在给定的时间范围内完成这项任务吗?大型图书馆拥有大约有上十万件藏品。现在事实上,我们要做的第一件事就是请求访问图书馆的索引,因为索引包含快速有效地访问项目所需的所有必要信息。同样,数据库索引包含快速有效地访问数据所需的所有信息

2022-08-07 10:07:42 333

原创 MySQL REGEXP:基于正则表达式的搜索

使用正则表达式的缺点是很难理解和维护这样一个复杂的模式。因此,应该在SQL语句的注释中描述正则表达式的含义。此外,在某些情况下,如果在正则表达式中使用复杂的模式,数据检索的速度会降低。正则表达式使用它自己的语法,可以由正则表达式处理器解释。它是一个强大的工具,为您提供了一种基于模式识别文本字符串(例如字符和单词)的简洁灵活的方法。例如,您可以使用正则表达式来搜索电子邮件、IP地址、电话号码、社保号或任何具有特定模式的内容。使用正则表达式的好处是,不限于搜索基于固定模式的字符串,例如,以下语句仅匹配。....

2022-07-31 08:32:57 191

原创 Linux

大约90%的互联网由Linux服务器提供支持。使用Windows服务器的主要问题是它们的成本。这可以通过使用Linux服务器来解决。世界上大约80%的智能手机中运行的操作系统Android也是由Linux内核制成的。好吧,Linux是UNIX的克隆。但它实际上是由Scratch的LinusTorvalds创建的。Linux是免费和开源的,这意味着您可以简单地更改Linux中的任何内容并以您自己的名义重新分发它!Linux是操作系统的内核。...

2022-07-24 19:46:54 226

原创 Java_基础增强

博学谷提供技术支持。

2022-07-17 21:36:39 75

原创 Java_网络编程

网络编程就是使多台主机可以互通有无的传递消息。主要三要素:IP地址你要给哪台主机发送消息?就是通过IP去指定的端口号给主机的哪个程序去接受呢?通过端口号来指定交给谁处理传输方式一般我们有两种传输方式,TCP和UDPUDP是无连接的,会丢包,但传输快。一般可以用于直播的音视频场景。UDP有三种模式:单播一对一的发送模式组播一对多的发送模式广播一对所有的发送模式TCP是长连接,不会丢包,但是传输较慢,因为要保证连接的建立才能发送消息。TCP的三次握手为了保证连接的...

2022-07-10 08:42:44 48

原创 Java_多线程

计算机执行程序就跟人类大脑运算是一样的,同一时间只能思考一件事,但是我们发现操作系统能同时执行很多程序,这是怎么办到的?那就是时间切片,一段时间执行A程序,一段时间执行B程序,由于CPU切换的很快,所以一般我们感觉不到它在切换。并发和并行的含义:并发:有一堆任务同时提交,但是同一时间只运行一个。并行:一堆任务同时提交同时允许。如果我们的电脑是单CPU,但是提交多任务,那么就是并发模式。如果我们的电脑是多CPU,提交任务数量没超过,那就就是并行模式。进程和线程的含义:进程可以理...

2022-07-02 23:53:39 66

原创 Java_IO相关知识

File是对文件或者文件夹的封装,可以通过它来操作文件,可以获取文件大小,文件名称,文件路径。还有删除的功能。如果要使用文件的内容那就要把它加载进内存,然后计算机再从内存中提取出来做相应的逻辑运算。那怎么才能读文件的内容?那就要使用输入字节流,一个一个的字节读进内存如果要把数据写进硬盘,那么就是使用输出字节流写出。不管是一个一个写出或写入字节,这样都是性能比较慢的,就跟出门买菜,买一个菜就回来一趟,在买个菜在回来一趟,那不是得累死。我们可以直接提一个篮子,一批批的买,这样效率就提...

2022-06-25 15:45:29 122

原创 Java_Stream总结

Stream流式处理

2022-06-18 15:51:57 78

原创 常用数据结构

常用数据结构

2022-06-12 10:31:26 71

原创 Java 基础回顾

Java基础

2022-06-04 17:04:56 52

原创 每日一条JS精华片段:创建一个发布/订阅 事件器

创建一个发布/订阅事件器,拥有emit,on和off方法。Javascript方法const createEventHub = () => ({ hub: Object.create(null), emit(event, data) { (this.hub[event] || []).forEach(handler => handler(data)); }, on(event, handler) { if (!this.hub[event]) this.hub

2020-09-08 20:11:31 99

原创 每日一条JS精华片段:创建一个受限制的函数

创建一个受限制的函数,每wait毫秒最多只能调用一次Javascript方法const throttle = (fn, wait) => { let inThrottle, lastFn, lastTime; return function() { const context = this, args = arguments; if (!inThrottle) { fn.apply(context, args); lastTime = D

2020-09-07 20:57:51 67

原创 每日一条JS精华片段:objectToQueryString

根据键值对生成请求参数字符串Javascript方法const objectToQueryString = queryParameters => { return queryParameters ? Object.entries(queryParameters).reduce((queryString, [key, val], index) => { const symbol = queryString.length === 0 ? '?' : '&';

2020-09-06 15:46:26 739

原创 每日一条JS精华片段:deepClone

创建对象的深层克隆。克隆基本值,数组和对象Javascript方法const deepClone = obj => { if (obj === null) return null; let clone = Object.assign({}, obj); Object.keys(clone).forEach( key => (clone[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])

2020-09-06 15:35:13 63

原创 每日一条JS精华片段:bindAll

将对象的方法绑定到对象本身,从而覆盖现有方法。Javascript方法 const bindAll = (obj, ...fns) => fns.forEach( fn => ( (f = obj[fn]), (obj[fn] = function() { return f.apply(obj); }) ) );示例var view = { label: 'docs', click: function(

2020-09-06 15:08:13 201

原创 适用于Android的调试神器

适用于Android的调试神器调试神器,是一个即插即用的调试菜单库,旨在帮助填补设计,开发和质量保证之间的空白属性检查功能仅凭我们的眼睛难以有效的判断当时View的具体状态。而属性检查器可以轻松准确的浏览视图中的各种状态。某些属性也可以通过属性检查器进行更改。例如,这允许用户运行时直接更改TextView的text属性以检查布局的反应。测量功能测量器让您可以检查视图层次结构中与其他视图相关视图的度量信息。验证视图之间的边距或填充与规范相匹配变得容易。崩溃信息展示功能崩溃器正常情况下无法进入

2020-08-26 15:59:57 533

Actionscript3.0[经典版]

Actionscript3 0[经典版] ActionScript 3 0 是一种强大的面向对象编程语言 此程序语言在csdn上工资排行榜上排第一 真心推荐这是一本非常不错的书

2013-09-21

sql sever函数速查大全

SQLServer函数速查,可以支持中文查函数,还有介绍函数的示例,让你有些函数忘了,也不用愁,真心推荐这是学习SQLServer数据库必备资料……必备……必备……必备……

2013-09-20

vb制作游戏

里面有很详细的源代码,非常适合对开发游戏有兴趣的朋友们!

2013-09-15

空空如也

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

TA关注的人

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