Hadoop初接触

对数据慢慢出现了一些喜欢。

从最初的数据库,到nosql到现在的hadoop,一步步走来啊。

namenode:

datanode:处理与数据块相对应的本地文件以及与其他datanode相互通信实现冗余

secondarynamenode:与namenode通信,根据集群所配置的时间间隔来获取hdfs元数据的实时快照。namenode是hadoop的单一故障点。有了snn,有助于减少停机的时间以及数据丢失的风险。

jobtracker:应用程序与hadoop之间的纽带。一旦提交代码到集群上,jobtracker就会确定执行计划。包括决定处理哪些文件、为不同的任务分配节点以及监控所有任务的运行。

如果任务失败,jobtracker将会重启任务。但是所分配的节点可能会不同。同时受到预定义的重试次数限制。每个hadoop集群通常只有一个jobtracker,运行在集群的主节点上。tasktracker:tasktracker是计算的从进程【主进程是jobtracker】,管理各个任务在每个从节点上的执行情况。每个tasktracker负责执行jobtracker分配的单项任务。虽然每个从节点上只有一个tasktracker,但是每个tasktracker可以生成多个jvm,来并行处理许多map或者是reduce任务。

tasktracker的一个职责是持续不断的域jobtracker通信,如果jobtracker在一段时间内没有收到来自tasktracker的心跳,它会假定tasktracker已经崩溃,进而重新提交相应的任务到集群中的其他节点。






Hadoop的基础配置文件是hadoop-default.xml,看Hadoop的代码可以知道,默认建立一个Job的时候会建立Job的Config,Config首先读入hadoop-default.xml的配置,然后再读入hadoop-site.xml的配置(这个文件初始的时候配置为空),hadoop-site.xml中主要配置你需要覆盖的hadoop-default.xml的系统级配置,以及你需要在你的MapReduce过程中使用的自定义配置(具体的一些使用例如final等参考文档)。



JobClient
每一个job都会在用户端通过JobClient类将应用程序以及配置参数Configuration打包成jar文件存储在HDFS,并把路径提交到JobTracker的master服务,然后由master创建每一个Task(即MapTask和ReduceTask)将它们分发到各个TaskTracker服务中去执行。



你可能感兴趣的:(Hadoop初接触)