`
guafei
  • 浏览: 323236 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hadoop图解

阅读更多
[size=medium]公司云梯的图解:
gateway机器是跳板机,提交job到云梯的,在gateway机器上只要配置hadoop-site.xml即可,配置文件中主要是指定jobtracker的地址和hdfs的地址。



gateway机器(相当于job client)提交job和对应的jar包到jobtracker机器上,jobtracker会对提交的作业进行相应的校验,校验通过就初始化这个job,然后jobtracker把对应的job放入调度队列,同时taskTracker会不停的发送心跳信号给jobtracker,如果taskTracker空闲,那么jobtracker会根据调度策略把它分给相应的taskTracker,然后taskTracker就启动一个jvm进程来处理。然后一般taskTracker启动的选择都和datanode的距离有关,一般是先考虑同一服务器的机器,其次是同一机架的,主要是为了减少网络的开销(因为不在同一服务器上的话,还要dataNode的数据传输就需要网路)。

然后taskTracker在跑mapreduce的时候,会请求namenode,由它来告知datanode一系列的信息,比如存储地址,大小等信息。

hdfs的架构图:


namenode主要是维护文件系统的树结构以及树内文件的目录、地址等信息,它负责管理datanode和数据的读写。它一般会由一个second namenode机器来防止单点故障。

hdfs读取数据:

dfs客户端先建立hdfs文件系统的连接,然后从namenode中获取对应data的地址等信息,然后通过inputFormat方法去切割和读取datanode中的文件,这样就完成了数据的读取。

hdfs写入数据:

dfs客户端首先建立hdfs文件系统的连接,然后通过create方法告知它要创建一个文件,然后namenode开始创建一个文件名称,通过hdfs的写入流类进行对datanode数据的写入,它的写入是以包的形式写入的,然后每次写入会有一个ack的包确认信号返回,也就是途中datanode中的两个相互箭头的表示。

  • 大小: 71.1 KB
  • 大小: 15.7 KB
  • 大小: 49.6 KB
  • 大小: 59.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics