hadoop图解

gateway机器是跳板机,提交job到云梯的,在gateway机器上只要配置hadoop-site.xml即可,配置文件中主要是指定jobtracker的地址和hdfs的地址。


ouz43i40hj.png

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的架构图:

qdn63b6l6f.png

hdfs读取数据:

19t048juc5.png

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

image

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容