hadoop 集群遇到的问题汇总

有时候报错会误导问题的定位和排查,比如下面这一款 org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/root/.sparkStaging/application_1539063128463_0573/__s...

2018-11-12 09:43:06

阅读数:25

评论数:0

hadoop 2.6 源码 解读之写操作服务端篇

Client 端发起的写请求通过流式接口到达Datanode后。Datanode的DataXceiverServer接受这个请求并构造DataXceiver对象, DataXceiver.writeBlock执行这个请求。 DataXceiverServer DataXceiverSer...

2018-06-04 18:39:04

阅读数:63

评论数:0

hadoop 2.6 源码 解读之写操作中异常处理

nextBlockOutputStream 调用 createBlockOutputStream 创建到 pipeline 第一个DataNode 的输出流,如果失败,nextBlockOutputStream 会调用 abadonBlock() 放弃这个块,并将DataNode将入到故障节点队...

2018-06-03 22:39:45

阅读数:41

评论数:0

hadoop 2.6 源码 解读之上传文件(-put)内部实现之写数据篇

此篇blog,承接 《hadoop 2.6 源码 解读之上传文件(-put)内部实现之FsShell init()篇》:https://blog.csdn.net/zhixingheyi_tian/article/details/80499773 入口处,FsShell run() 处 ...

2018-05-30 17:56:41

阅读数:128

评论数:0

hadoop 2.6 源码 解读之上传文件(-put)内部实现之FsShell init()篇

hdfs 命令行 -put 上传文件操作,通过shell脚本最终调用 FsShell 的main入口方法,实现相应的逻辑功能 为便于debug调试,编写相应的测试程序模拟 -put 操作,示例代码如下 public class TestShell { public static ...

2018-05-29 17:52:39

阅读数:81

评论数:1

hadoop 2.6 源码 解读之关闭文件流

客户端写完文件之后,要关闭文件流,如下: out.write("hello".getBytes("UTF-8")); // out.write...

2018-05-25 17:05:50

阅读数:56

评论数:0

hadoop 2.6 源码 解读之写操作之DataStreamer篇

DataStreamer是 在创建 文件流的时候已经初始化 DFSClient create()方法中 { final DFSOutputStream result = DFSOutputStream.newStreamForCreate(this, src, ma...

2018-05-22 21:08:47

阅读数:74

评论数:0

hadoop 2.6 源码 解读之读写中级单元Packet类

在hdfs中 Packet 是读写 网络传输的基本单元, 有必要探讨下Packet 的基本结构 以下是Packet 类所有的数据成员,均已详细注释 private static class Packet { private static final long HEART_BEAT_S...

2018-05-17 18:08:55

阅读数:36

评论数:0

使用 intellij 远程调试 hdfs 源码 经验总结

最近在阅读hadoop源码,有时候为搞清楚来龙去脉,必要时得做debug。 在搭建调试环境的时候,遇到不少问题,最后逐一解决。在此分享给大家,以飨读者、同仁。 NoClassDefFoundError 第一个问题,莫名其妙,类找不到,代码都没标红,排查了很久以为环境没搭好。 Excep...

2018-05-17 14:23:21

阅读数:189

评论数:0

hadoop 2.6 源码 解读之写操作之总体流程篇

hdfs写文件示例代码 Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(file), conf); Path path = new P...

2018-05-14 17:59:38

阅读数:65

评论数:0

hadoop 2.6 源码 解读之创建文件

HDFS客户端创建文件示例 Path file = new Path("demo.txt"); FSDataOutputStream outStream = fs.create(file); fs 是 DistributedFileS...

2018-05-13 21:39:02

阅读数:64

评论数:0

hadoop 2.6 源码 解读之FileSystem.get(conf)实现

hdfs 常见的获取文件系统代码,如下 Configuration conf = new Configuration(); FileSystem fs; fs = FileSystem.get(conf); fs 最终指向的是FileSystem哪个子类...

2018-05-13 17:46:14

阅读数:121

评论数:0

hadoop 2.6 源码 解读之限流

DataTransferThrottlerhdfs Datanode是 IO密集型应用,网络IO、磁盘IO容易成为系统的瓶颈。 Datanode 有各种任务占用这些共同资源,为保证可用性,有必要对流量进行控制//a class to throttle the data transfers. 实...

2018-05-09 18:52:20

阅读数:54

评论数:0

hadoop 2.6 源码 解读之零拷贝数据传输

DataNode重要的数据功能之一是读取数据块

2018-05-09 13:00:10

阅读数:53

评论数:0

hadoop 2.6 源码 解读之Namenode启停

NameNode类入口 public static void main(String argv[]) throws Exception { if (DFSUtil.parseHelpArgument(argv, NameNode.USAGE, System.out, true)) ...

2018-05-04 16:01:44

阅读数:45

评论数:0

hadoop 2.6 源码 解读之追加写操作流程

客户端 DistributedFileSystem.java调用入口 @Override public FSDataOutputStream append(Path f, final int bufferSize, final Progressable progress)...

2018-05-03 14:48:54

阅读数:63

评论数:0

hadoop 2.6 源码 解读之 HDFS小结

HDFS 文件 是 write-once-read-many ,不支持客户端的并行写操作。 租约(lease)机制保证了HDFS文件的互斥操作。 客户端写HDFS文件时,先从租约管理器(LeaseManager)申请一个租约,成为租约持有者,也就有了对该HDFS文件的独占权限 Hadoop ...

2018-04-28 10:41:27

阅读数:45

评论数:0

hadoop 2.6 源码 解读之 Namenode 与 Datanode 交互

Datanode启动后,会与Namenode握手、注册,以及第一次向NameNode发送全量块汇报,之后 每100个心跳间隔 (默认300s) 向Namenode发起增量汇报(添加、删除信息),同时间隔6小时发起全量汇报汇报(防止增量汇报出现异常)。为提高HDFS启动速度,针对DataNode第一...

2018-04-27 17:57:04

阅读数:53

评论数:0

hadoop 2.6 源码 解读之 Fsimage 实现

实现类 为 FSImage 主要有三个功能 保存命名空间,NameNode内存中的namespace 保存在本地文件系统fsimage 文件中 加载fsimage 加载editlog seen_txid:保存了日志重置时的最新的 transaction id,并不代表 Namenode...

2018-04-26 17:53:14

阅读数:50

评论数:0

hadoop 2.6 源码 解读之 DFSClient 中的 proxyInfo HA case 实现

在DFSClient 中 this.namenode = proxyInfo.getProxy(); proxyInfo 用于和NameNode通信的对象 在HA模式下 首先创建 failoverProxyProvider AbstractNNFailoverProxyProv...

2018-04-18 17:49:48

阅读数:39

评论数:0

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