自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

houzhizhen的专栏

bigdata hobbyist

  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

原创 hadoop 2.6.3 BlockPlacementPolicyDefault源代码分析

BlockPlacementPolicyDefault这个类负责为一个数据块的各副本选择目标数据结点。副本放置策略如下:如果写入者在一个datanode上,那么第一个副本在本机。否则随机选取一个结点。第二个副本先在另一个机架上,第三个副本被放置在同第二个副本同一机架,但不同的数据结点上。/** * The class is responsible for choosing the des

2016-01-28 18:51:46 1803 1

原创 hadoop 2.6.3 BlockPlacementPolicy分析

BlockPlacementPolicyDefault是BlockPlacementPolicy的实现类,你可以实现自己的实现类,用dfs.block.replicator.classname参数配置你的实现类。我们先看一下接口说明: 以下的方法为写入器选择numOfReplicas个数据结点来存储一个数据块的副本,数据块大小为blocksize。如果数量不够numOfReplic

2016-01-28 15:25:14 3009

原创 hadoop 2.6.3 CachedDNSToSwitchMapping源代码分析

CachedDNSToSwitchMapping的作用是对已经解析了的ip地址和rack的地址的映射进行缓冲。/** * A cached implementation of DNSToSwitchMapping that takes an * raw DNSToSwitchMapping and stores the resolved network location in * a

2016-01-28 10:34:13 826

原创 hadoop 2.6.0 CorruptReplicasMap源代码分析

CorruptReplicasMap 存储文件系统中坏块的相关信息。一个数据块只有在它所有的副本都损坏的情况下才认为是坏的。当汇报一个数据块的副本时,我们隐藏任何坏的副本的消息。如果一个数据块有期望数据的好的副本,这些损坏的副本会被立即消除。/** * Stores information about all corrupt blocks in the File System. * A

2016-01-27 18:28:56 695

原创 hadoop 2.6.0 hdfs ReplicationMonitor 源代码分析

ReplicationMonitor每一段时间执行computeDatanodeWork,processPendingReplications,然后再sleep一段时间。private class ReplicationMonitor implements Runnable { @Override public void run() { while (name

2016-01-27 17:38:23 517

原创 hadoop 2.6.0 hadoop 对Namenode image文件和Edit文件进行清理的NNStorageRetentionManager源代码分析

NNStorageRetentionManager对文件进行定期旋转删除。NNStorageRetentionManager的构造方法如下: public NNStorageRetentionManager(Configuration conf, NNStorage storage, LogsPurgeable purgeableLogs) { this(conf,

2016-01-27 17:15:15 1509

原创 hadoop 2.6 Trash清除机制源代码分析

Namenode的垃圾回收机制,只有在命令行对文件进行删除时,会判断系统是否使用Trash,如果使用,则变成rename操作。在Namenode类的构造函数中,有this.haContext = createHAContext();createHAContext()初始化一个NamenodeHAContext对象,代码如下: protected HAContext createHACo

2016-01-26 18:35:39 1372

原创 hadoop 2.6.0 JvmPauseMonitor源代码分析

JvmPauseMonitor,此类建立一个简单的线程。在此线程中,在循环中运行sleep一段时间方法,如果sleep花费的时间比传递给sleep方法的时间长,就意味着JVM或者宿主机已经出现了停顿处理现象,可能会导致其它问题,如果这种停顿被监测出来,线程会打印一个消息。/** * Class which sets up a simple thread which runs in a loo

2016-01-26 10:06:05 1842

原创 Hadoop 2.6.0 FSDirectory源代码分析

FSDirectory和FSNamesystem类管理命名空间的状态,FSDirectory 完全是内存的数据结构,它的所有操作都发生在内存中。相反,FSNamesystem把所有的操作都持久化到磁盘上。/** * Both FSDirectory and FSNamesystem manage the state of the namespace. * FSDirectory is

2016-01-25 17:49:57 758

原创 INodeMap

INodeMap利用LightWeightGSet来存储INode对象,为什么可以存储INode ID和INode的映射呢?因为INode的equals和hashCode方法都已经重载,并且只根据id判断,那么知道id之后,其它字段为空的Inode对象,就可以得到映射的对象。equals和hashCode 方法如下: @Override public final boolean eq

2016-01-25 15:33:58 835

原创 hadoop 2.6.0 BlockManager 用到的类分析

Host2NodesMap存放的是ip地址,主机名和DatanodeDescriptor之间的映射,mapHost存放的是主机名和ip 地址之间的映射, map存放的是ip地址和DatanodeDescriptor之间的映射.class Host2NodesMap { private HashMap mapHost = new HashMap(); private final Ha

2016-01-25 15:28:38 606

原创 hadoop 2.6.0 安全问题--UserGroupInformation

UserGroupInformation可以使用任何你想拥有权限的用户来操作集群。在UserGroupInformation的loginUserFromSubject方法如下,首先系统获到系统用户,然后再判断是否设置环境变量HADOOP_PROXY_USER,或者系统属性HADOOP_PROXY_USER,如果设置那么loginUser就为HADOOP_PROXY_USER,代码如下:@I

2016-01-25 14:54:24 3425

原创 hadoop 2.6 HdfsServerConstants源代码分析

org.apache.hadoop.hdfs.server.common.HdfsServerConstants类定义了一些内部常量。结点类型,只有NAME_NODE,DATA_NODE,JOURNAL_NODE三种。 /** * Type of the node */ static public enum NodeType { NAME_NODE, D

2016-01-22 18:11:55 571

原创 hadoop 2.6.0 org.apache.hadoop.hdfs.server.blockmanagement。HeartbeatManager源代码分析

先分析HeartbeatManager的成员变量: datanodes存储的活着的datanodes; stats存储系统全局的一些统计信息。/** * Stores a subset of the datanodeMap in DatanodeManager, * containing nodes that are considered alive. * The

2016-01-22 14:45:42 1779

原创 hadoop 2.6 NetworkTopology源代码分析

Node接口定义了一个网络拓扑的一个结点。结点可能是一个代表数据结点的叶子结点,或者代表数据中心或者机架的中间结点。/** The interface defines a node in a network topology. * A node may be a leave representing a data node or an inner * node representing

2016-01-22 10:17:46 1642

原创 hadoop 2.6 PendingBlockInfo源代码分析

存放PendingBlockInfo/** * An object that contains information about a block that * is being replicated. It records the timestamp when the * system started replicating the most recent copy

2016-01-21 11:20:42 520

原创 使用check_tcp来监测端口是否通

把所有服务器的ip地址都放到accept1文件中,使用批量执行程序,命令如下:./upgrade.sh common accept1 '/usr/local/nagios/libexec/check_tcp -H sdf-namenode1 -p 9000'如果结果成功,会输出TCP OK,输出如下:==================10.130.211

2016-01-21 10:36:37 2054

原创 hadoop 2.6 Node,DatanodeID,datanodeInfo,DatanodeDescriptor解析

Node 代表一个子结点或者一个中间结点。/** The interface defines a node in a network topology. * A node may be a leave representing a data node or an inner * node representing a datacenter or rack. * Each data has

2016-01-15 09:59:55 1175

原创 hadoop 2.6 IntrusiveCollection 源代码分析

IntrusiveCollection是一个链表,链表中的元素自己负责存储前一个元素和下一个元素的指针。如果列表中有很多元素,或者元素在很多列表中,这样可以节省很多内存。头定义如下:/** * Implements an intrusive doubly-linked list. * * An intrusive linked list is one in which the e

2016-01-13 17:01:58 389

原创 hadoop 2.6.0 LightWeightGSet源代码分析

LightWeightGSet的作用用一个数组来存储元素,并且用链表来解决冲突。不能rehash,所以内部数组永远不用改变大小。此类不支持空元素。此类也不是线程安全的。有两个类型参数,第一个用于查找元素,第二个类型参数必须是第一个类型参数的子类,并且必须实现LinkedElement接口。/** * A low memory footprint {@link GSet} implementa

2016-01-12 18:44:45 1392

原创 Hadoop2.6 HDFS EDIT LOG分析

以hadoop fs -chown data_sum:data_sum /test/input为例,讲解决EditLog的执行过程。  当客户端执行以上命令时,通过RPC调用,服务器端执行NameNodeRpcServer.setOwner方法,代码如下: @Override // ClientProtocol public void setOwner(String src, Str

2016-01-08 14:49:55 13120

原创 LongBitFormat应用

LongBitFormat是一个工具类,可以把多项小的数据值压缩在一个long类型的数据中,以下为一个测试用例,PREFERED_BLOCK_SIZE占48位,REPLICATION占12位,STORAGE_POLICY_ID占4位,共占64位,并且提供了从一个long类型值中,提取各值的方法。还提供了一个根据各值,得到组合的long值的方法toLong(long  preferredBlockS

2016-01-05 15:26:34 1615

Hive 性能测试程序,https://github.com/hortonworks/hive-testbench 编译

Hive 性能测试程序,https://github.com/hortonworks/hive-testbench 编译

2023-02-24

Tez 的设计者在 Hadoop 大会上的分享

1. Tez 的设计思想和解决的问题。

2022-03-15

Transactional Operations in Apache Hive: Present and Future

Hive 事务设计

2022-03-01

The Log-Structured Merge-Tree (LSM-Tree).pdf

The Log-Structured Merge-Tree (LSM-Tree).pdf

2021-06-22

Distributed cycle detection in large-scale sparse graphs.pdf

分布式大规模环检测的计算方法。In this paper we present a distributed algorithm for detecting cycles in large-scale directed graphs, along with its correctness proof and analysis. The algorithm is then extended to find strong components in directed graphs. We indicate an application to detecting cycles in number theoretic functions such as the proper divisor function. Our prototype implementation of the cycle detection algorithm, when applied to the proper divisor function, detects all sociable groups of numbers (cycles in the proper divisor function) up to 107.

2020-08-11

空空如也

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

TA关注的人

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