![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 91
光荣复兴
这个作者很懒,什么都没留下…
展开
-
Hadoop Namenode启动过程分析
Namenode启动过程分析我这里所讲的是hadoop-0.20.2-cdh3u1版本已regular方式启动时的代码流程分析。在namenode启动时会首先去构造Configuration对象,这个对象会贯穿代码的整个执行过程,不过在构造的时候它并没有去加载解析core-site.xml,hdfs-site.xml等配置文件,而是在第一次要使用到这些配置的时候才去解析,解析后保存在C...原创 2019-05-23 17:14:34 · 308 阅读 · 0 评论 -
远程调试HADOOP
ZZ fromhttp://blog.csdn.net/qiaochao911/article/details/9714763Thanks to小桥远程调试对应用程序开发十分有用。例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序。其他情况包括:运行在内存小或 CUP 性能低的设备上的 Java 应用程序(比如移动设备...转载 2019-05-24 09:41:32 · 139 阅读 · 0 评论 -
HDFS 目录长度深度限制
HdfsConstants类中定义public static final int MAX_PATH_LENGTH = 8000;public static final int MAX_PATH_DEPTH = 1000;原创 2019-05-23 17:25:55 · 690 阅读 · 0 评论 -
HDFS DataNode写数据选目录逻辑
callstack:FsVolumeList.getNextVolume(StorageType,long)----->FsVolumeList.chooseVolume(List,long)----->RoundRobinVolumeChoosingPolicy.chooseVolumn(List,long)ORFsVolumeList.getNextV...原创 2019-05-23 17:25:06 · 228 阅读 · 0 评论 -
编译hadoop2.7.1
1. git clone git@github.com:ZhangXFeng/hadoop2.7.1.git2. cd src/hadoop-maven-plugins/3.mvn install4.安装protoc,执行export HADOOP_PROTOC_PATH=/usr/local/bin/protoc5.mvn compile -X原创 2019-05-23 17:24:08 · 191 阅读 · 0 评论 -
Logstash
Logstash1、简介Logstash是一个用ruby写的收集日志的工具,通过部署在应用程序运行节点上的agent来收集、解析、过滤日志,然后将过滤出的日志分发到各个目的地,目的地可以是文件,甚至是一个系统,比如opentsdb、elasticsearch等。业界对于日志管理的方法通常是logstash+elasticsearch+kibana(ELK),其中logs...原创 2019-05-23 17:22:06 · 1620 阅读 · 0 评论 -
hadoop metrics2源码分析
设计文档看这里http://wiki.apache.org/hadoop/HADOOP-6728-MetricsV2。最近做项目码代码的时候想着是否可以实现一个子系统来监测整个项目的运行情况,虽说也不是什么了不起的大项目,但有这么个功能总归是好的,也顺便提升一下自己的软件设计的能力。以前就大致看过hadoop metrics 子系统的代码实现,趁这个机会,我又仔细去调了一下nameno...原创 2019-05-23 17:21:07 · 287 阅读 · 0 评论 -
仿hadoop RPC机制的代码实现
以下给出了所有的代码,除了protoc编译出的协议类的代码(这两个类代码太多了),包的组织方式同hadoop rpc一样,服务端启动时运行CalculatorService.java。功能很简单,就是实现加减法,但采用了类似hadoop rpc的机制,麻雀虽小,五脏俱全1,Server类,仿hadoop rpc的server实现package com.zxf.rp...原创 2019-05-23 17:19:53 · 127 阅读 · 0 评论 -
Yarn
背景Yarn是一个分布式的资源管理系统,用以提高分布式的集群环境下的资源利用率,这些资源包括内存、IO、网络、磁盘等。其产生的原因是为了解决原MapReduce框架的不足。最初MapReduce的committer们还可以周期性的在已有的代码上进行修改,可是随着代码的增加以及原MapReduce框架设计的不足,在原MapReduce框架上进行修改变得越来越困难,所以MapReduce的comm...原创 2019-05-23 17:18:05 · 255 阅读 · 0 评论 -
HDFS HA QJM源码分析
Hadoop QJM的实现用到了paxos算法,pasos算法是是莱斯利·兰伯特于1990年提出的一种基于消息传递的一致性算法。这个算法被认为是类似算法中最有效的。pasos算法用在hadoop HA的实现里面就是要确保active namenode和standby namenode的状态保持一致。在hadoop的源码里的ha包下有一个EditLogTailer类...原创 2019-05-23 17:16:28 · 297 阅读 · 0 评论 -
Hadoop源码环境搭建、代码结构简介及MR代码
Hadoop源码环境搭建,强烈建议使用linux/mac系统安装maven 安装git 安装protoc,版本2.5.0 安装Eclipse 下载hadoop源码,git clone https://github.com/apache/hadoop.git 进入到源码的hadoop-maven-plugins目录,执行mvn install 设置环境变量HADOOP_P...原创 2019-05-24 09:42:43 · 551 阅读 · 0 评论