- 博客(18)
- 收藏
- 关注
原创 hadoop2.x完全分布式安装配置
在搭建环境之前我们先看下本次搭建的各角色:nameNode 进程:NameNodedataNode 进程:DataNoderesourceManager :ResourceManagernodeManeger : NodeManagerzkfc:DFSZKFailoverControllerjournalnode: JournalNodezookeeper
2017-04-18 16:06:30 438
转载 Java中的闭包之实例一
闭包(Closure)是一种能被调用对象,它保存了创建它的作用域的信息。 Java并不能显式地支持闭包,但对于非静态内部类而言,它不仅记录了其外部类的详细信息,还保留了一个创建非静态内部类对象的引用,并且可以直接调用外部类的private成员,因此可以把非静态内部类当成面向对象领域的闭包。 通过这种仿闭包的非静态内部类,可以很方便地实现回调功能,回调就是某个方法一旦获得了内部类对象的引用后,就可
2017-04-17 23:09:34 3940 3
原创 YARN基本框架
YARN作为资源管理器,任务调度的一个框架,主要包含三大模块,即ResourceManager(RM),NodeManager(NM),AplicationMaster(AM),今天我们介绍ResourceManager。ResourceManagerResourceManager全局负责所有资源的监控,分配和管理。ResourceManager只接受资源汇报,对于具体的资源处理则交给No
2017-03-30 10:12:08 667
原创 HDFS通信协议(一)
Hadoop RPC接口HDFS通信协议抽象了HDFS各个节点之间的调用接口,这一篇文章只是简要介绍下HDFS RPC有哪些接口,具体有下面文章一一概述 Hadoop RPC调用时基于Protobuf实现的。Hadoop RPC接口主要定义在org.apache.hadoop.hdfs.protocol包和org.apache.hadoop.hdfs.server.protocol包中,它包
2017-03-24 15:56:52 6512 1
原创 Hadoop中的数据块为何如此大
HDFS的数据块,默认大小为64MB,它比一般文件系统都大的多。下面我们分别来看看不同操作系统的块大小:1.linux本人使用的是CentOS-6.8-x86_64,如下图: linux的块大小才1024KB,也有4086KB,但是远远小于HDFS的块大小。2.windows本人使用的是win764位,如下图: windows的块大小为4086KB。3.原因HDFS的块比磁盘的块大,其目
2017-03-15 11:49:31 1583
原创 Hadoop分布式计算框架之Shuffler
shuffle的主要工作是从Map结束到Reduce开始之间的过程。shuffle阶段又可以分为Map端的shuffle和Reduce端的shuffle。1.Shuffler流程简介每个map task都有一个内存缓冲区(如上图中的buffer in memory默认为100MB),存储着map的输出数据,当缓冲区快满的时候,需要将缓冲区中的数据以一个临时文件的方式存放到磁盘上(如上图sp
2017-03-10 23:14:45 693
原创 Hbase数据结构和体系架构
1.HBase与关系数据库比较1)行式数据库优点:1.数据存储在一起。2.INSERT/UPDATE数据较容易。 缺点:1.选择操作(select)时,即使是几行所有数据也要被读取2)列式数据库(hbase)优点:1.查询时只有涉及的列才会被读取。2.投影很高效。3.任何列都会可以作为索引。 缺点:INSERT/UPDATE比较麻烦。2.HBase数据模型1)ROW_KEY决定一行数据,注意:它
2017-03-10 10:48:57 3067
转载 Java中volatile关键字的含义
java中volatile关键字的含义 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上sy
2016-11-23 17:04:46 249
转载 InnoDB next-key locking
在 InnoDB 的行级锁定上使用一个称作 next-key locking 算法。在 InnoDB 在搜索或扫描表的索引时将进行行锁,它将在所访问到的索引上设置共享或排它的锁定。因而行锁是更加精确地而又称为索引记录锁定。InnoDB 在索引记录上设置的锁同样会影响索引记录之前的“间隙(gap)”。如果一个用户对索引记录 R 加了一个共享或排它的锁定,那其它用户将不能在 R 之前立即插入新
2016-05-05 16:57:37 378
转载 锁存机制
封锁机制原文链接:http://blog.csdn.net/xijiaoda_liuhao/article/details/844444310.2.1 封锁及锁的类型封锁机制是并发控制的主要手段。封锁是使事务对它要操作的数据有一定的控制能力。封锁具有3个环节:第一个环节是申请加锁,即事务在操作前要对它欲使用的数据提出加锁请求;第二个环节是获得锁,即当条件成熟时,系统允许事务对数
2016-05-05 11:55:30 954
原创 表达式
在前面文章中,多次提到表达式,他大量的出现在程序中,这篇文章将着重分析表达式。表达式由一个或多个操作数通过操作符组合而成。最简单的表达式仅包含一个字面值常量或者变量。较复杂的表达式则由操作符以及一个或多个操作数构成。 每个表达式都会产生一个结果。如果表达式中没有操作符,则其结果就是操作数本身(例如,字面值常量或变量)的值。操作数:该操作符执行什么操作以及操作结果的类型——取决于操作数的类
2016-02-16 20:57:19 426
原创 指针
指针是指向某种类型对象的复合数据类型,是用于数据的迭代器:指向数组中的一个元素。在指向数组元素的指针上使用解引用操作符(*)和自增操作符(++)。1.指针的含义 指针用于指向对象。与迭代器一样,指针提供对所指对象的间接访问。与迭代器不同的是:指针指向单个对象,而迭代器只能用于访问容器内的元素。具体来说,指针保存的是另一个对象的地址。 取地址符(&)只能用于左值,因为只有当变量用作左
2016-02-16 20:17:10 385
原创 数组
数组是C++语言中类似标准库vector(功能类似)类型的内置数据结构。他与vector类型相比,数组的显著缺陷在于:数组长度确定。数组没有获取容量大小的size操作,也不提供push_back操作添加元素。若要更改数组长度,则必须创建一个更大的新数组,然后将旧数组中的元素复制到新数组空间去。 数组由类型名(存放在数组中的元素类型,可以内置数据类型也可以是类类型,除了引用外,它还可以是其他的
2016-02-16 20:03:59 360
原创 标准库string类型
与其他标准库类型一样,用户程序要使用string类型对象,必须包含相关头文件。 1.string对象初始化和定义 string常用的构造函数 这里需要注意string类型与字符串字面值不是同一种类型。2.string对象的读写 从标准输入读取s
2016-01-20 23:27:28 400
原创 变量和基本类型二
1.声明和定义为了让多个文件访问相同的变量,C++区分了声明和定义。定义:用于为变量分配存储空间,同时为变量指定初始值。一个程序中变量有且只有一个定义。1.1 extern 声明:用于向程序表明变量的类型和名字。定义也是声明,定义变量时声明了它的类型和名字。可以使用extern关键字声明变量名而不定义它。extern声明不是定义,也不分配存储空间。事实上,他只是说明变量定义在
2016-01-20 19:15:07 357
原创 变量和基本类型一
在文章开始之前得先强调一个关键概念:强静态类型。 C++是一门静态类型语言,什么静态?对,就是它在编译时需要做类型检查。 在大多数语言中,对象的类型限制了对象执行的操作。C++中,操作是否合法是在编译时检查。在编写表达式时,编译器检查表达式中的对象是否按该对象的类型定义的使用方式使用。若不是,则编译器会提示错误。1.基本内置类型 C++定义了一组表示整数,浮点数,单个字符和布尔
2016-01-19 17:34:33 424
原创 注释与变量命名
关于注释 接触过C或者C++都会知道有单行注释(//)和成对注释(/**/)两种类型的注释。关于注释的重要性的问题,我就不再多说了。这里简单说说写注释的技巧和要注意的事项。 1)成对注释(/**/)一般用于多行注释,这里需要强调的一个良好编程习惯是,在注释的每一行以星号开始,指明整个范围是多行注释的一部分,如下: 太多的注释混入程序代码会降低程序的可读性,通常最好是将一个注释块
2016-01-18 14:17:05 498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人