Hadoop
文章平均质量分 71
GeekStuff
I will be posting instruction guides, how-tos, troubleshooting tips.
展开
-
Apache Hadoop 2.0 and YARN
Hadoop Release 2.0 provides many enterprise-class features , namely:YARN framework (MapReduce 2.0): YARN provides better resource management in Hadoop, resulting in improved cluster efficiency and a原创 2014-01-04 12:04:44 · 1269 阅读 · 0 评论 -
HBase学习总结
HBase原创 2013-11-14 16:44:47 · 1696 阅读 · 0 评论 -
DataXceiverServer
DataXceiverServer类是DataNode的辅助类,它最主要是用来实现客户端或其他DataNode与当前节点通信,并负责接收/发送数据块。在DataNode的run方法中,有dataXceiverServer.start();这个类的创建是为了监听来自客户端或其他数据节点的请求。 它的实现通信是用jdk本身的ServerSocket。 这个类有两个重要的成员变量,原创 2013-06-16 10:20:55 · 1388 阅读 · 0 评论 -
NameNode和DataNode启动
NameNode的启动方式有:format、regular、upgrade、rollback、finalize、import六种,DataNode的启动方式有:regular、rollback两种。 NameNode regular启动时会先创建Server,Server是RPC服务器端的实现,它主要负责和远程的客户端进行通信,反序列化和序列化远程调用中的参数和返回值,然后再创原创 2013-06-16 09:16:02 · 1789 阅读 · 0 评论 -
DFSOutputStream
客户端负责数据写入处理的核心类是DFSOutputStream,该类是DFSClient的内部类,同时它的内部包含三个内部类:数据包发送器DataStreamer、数据包确认处理器ResponseProcessor和数据包封装器Packet。 class DFSOutputStream extends FSOutputSummer implements Syncable{}原创 2013-06-15 15:56:19 · 1446 阅读 · 0 评论 -
BlocksMap源码分析
BlocksMap,主要功能是保存block和其元数据的映射,block的元数据为它所在的INode和存储该block的DataNode。Block对象记录了blockid、block大小以及时间戳信息。block->DataNode的信息没有持久化存储,而是NameNode通过DataNode的blockReport获取该block所在的DataNode List。block的元数据对应的类为B原创 2013-06-08 16:10:27 · 2405 阅读 · 1 评论 -
HDFS Federation
单个NameNode的架构使得HDFS在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NameNode进程使用内存就回显得力不从心。而且,所有的元数据信息的读取和操作都需要与NameNode进行通信,如客户端的addBlock、getBlockLocations,还有DataNode的blockRecieved、sendHeartbeat、blockReport等操作。在集群规模变大后,原创 2013-06-06 16:12:19 · 1543 阅读 · 0 评论 -
显示HDFS存储信息
hadoop fsck /user/root/hehe -files -blocks 显示hehe文件由那些块构成原创 2013-04-01 10:34:46 · 1104 阅读 · 0 评论 -
MapReduce全局变量
于MapReduce程序,有时需要用到全局变量,常用的全局变量实现由两种方式: (1)通过作业的Configuration传递全局变量,作业初始化的时候,conf.set(),需要的时候,再用conf.get()读出来。缺点:不能共享较大的数据;(2)通过distributedcache通过HDFS实现:即将全局变量写入一个文件,需要的时候,从该文件读取出来。原创 2013-03-07 14:41:44 · 1727 阅读 · 0 评论 -
Mesos:数据中心细粒度的资源共享平台
背景Hadoop集群只能运行一种单一的MapReduce应用程序,这使得它很难运行不符合map-reduce模型的应用程序。如果要想在Hadoop集群上安装Spark应用程序,那么必须为Spark安装一套全新的worker和master。从利用率的角度来看这种方式非常不理想,因为他们通常是静态分区的。因而数据中心需要单个集群上运行多个框架,保证资源的最大利用和框架之间的数据共享。Mesos是一个通用原创 2016-02-11 16:01:05 · 2022 阅读 · 0 评论 -
分布式的消息系统Kafka
What is Kafka?Kafka是一个分布式的发布-订阅(publish-subscribe)消息系统,提供了分区的和可复制的提交日志服务,用于处理实时的活动流数据,如日志和指标集合。Kafka的基本概念Topics: Kafka处理的消息流(feeds of messages)的不同分类;Partition:topic物理上的分组,一个topic可以分为多个partition,每个par原创 2016-02-11 22:10:10 · 1301 阅读 · 0 评论 -
HBase Shell与API操作
HBase Shell 命令名称命令表达式创建表create '表名称', '列名称1','列名称2','列名称N'添加记录put '表名称', '行名称', '列名称:', '值'查看记录get '表名称', '行名称'查看表中的记录总数count '表名称'原创 2014-11-10 13:20:05 · 1151 阅读 · 0 评论 -
NameNode和DatNode的通信
1) NameNode启动的时候,开启一个ipc server。 2) DataNode启动时,通过“握手”的方式与NameNode节点连接,之所以采用“握手”方式(参Datanode.java的handshake()),是为了验证DataNode的namespaceID以及layoutVersion。如果一个节点的namespaceID或者layoutVersion不匹配,那么DataN原创 2013-04-02 08:24:17 · 2419 阅读 · 0 评论 -
Datanode 源码剖析
DatanodeProtocol namenode = null;//与NN通信的ipc客户端类FSDatasetInterface data = null;//管理一系列的数据块,所有和数据块相关的操作,都在FSDataset相关的类中进行处理。DatanodeRegistration dnRegistration = null;//DN向NN的注册信息,包含名字(dn机名:dfs.da原创 2013-04-01 14:19:19 · 973 阅读 · 0 评论 -
NameNode 源码剖析
在HDFS中,由FSNamesystem来表示总的元数据,它有三个重要的成员变量,分别是FSDirectory dir, BlocksMap blocksMap和NavigableMap datanodeMap。 FSDirectory存储整个文件系统的目录状态,对整个目录结构的管理通过调用FSImage和FSEditLog的方法从namenode本地磁盘读取元数据信息和向本地磁原创 2013-04-01 14:10:34 · 1082 阅读 · 0 评论 -
HDFS副本放置策略
为什么要引入副本的放置策略呢?举个简单的例子。引入副本机制是为了数据的可靠性,那么HDFS将副本放置在不同的机架上即可,这样即防止了整个机架失效数据丢失情况,又可以在读数据时可以利用多个机架的带宽。不过这也带来一个问题,写操作时副本要机架传输,增加了写操作的代价。 HDFS采用一种称为机架感知的策略来改进数据的可靠性、可用性和网络带宽的利用率。在大多数情况下,HDFS副本系数是默认为3,原创 2013-06-08 21:09:08 · 3192 阅读 · 0 评论 -
HDFS拾遗
Host2NodesMap类 NameNode用它来存储主机与DataNode节点之间的映射,同时用它计算整个集群的负载情况。由于在一台主机上有可能包含多个DataNode,Host2NodesMap类一个重要属性private HashMap map = new HashMap()。Host2NodesMap主要负责对集群中的DataNode节点按在它们所在的主机进行分类管原创 2013-06-08 20:28:51 · 990 阅读 · 0 评论 -
Hadoop中的RPC实现
在IPC包中,最重要的3个类是Server,Client和RPC,它们具有层次化的结构。1.RPC类是对Server、Client的具体化。在RPC类中规定,客户程序发出请求调用时,参数类型必须是Invocation;从服务器返回的值类型必须是ObjectWritable。2.RPC类是对Server、Client的包装,简化用户的使用。如果一个类需充当服务器,只需通过RPC类的静态方法g原创 2013-04-02 13:04:06 · 1207 阅读 · 0 评论 -
MapReduce组件功能分析
JobClient 每一个job 都会在客户端通过 JobClient类将应用程序以及作业的配置参数打包成jar文件存储在HDFS,并把作业提交给 JobTracker。JobClient.runJob()创建一个新的 JobClient实例原创 2014-03-03 15:50:37 · 2692 阅读 · 0 评论