Hadoop集群部署时候的几个问题记录(2)

而SecondaryNameNode,会周期性的将EditLog中记录的对HDFS的操作合并到一个checkpoint中,然后清空 EditLog。所以namenode的重启就会Load最新的一个checkpoint,并replay EditLog中 记录的hdfs操作,由于EditLog中记录的是从 上一次checkpoint以后到现在的操作列表,所以就会比较小。如果没有snn的这个周期性的合并过程,那么当每次重启namenode的时候,就会 花费很长的时间。而这样周期性的合并就能减少重启的时间。同时也能保证HDFS系统的完整性。

关于如何分离 namenode 和secondary namenode  下面这篇文章说的很详细了

关于如何恢复 在这里也不再啰嗦,感兴趣的朋友可以自己去搜一下。

关于checkpoin频率等优化问题我们后面再慢慢研究。

文件三:.mapred-site.xml

<configuration>
  <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property> 
        <name>mapreduce.jobtracker.http.address</name> 
        <value>cloud001:50030</value> 
    </property> 
    <property> 
        <name>mapreduce.jobhistory.address</name> 
        <value>cloud001:10020</value> 
    </property> 
    <property> 
        <name>mapreduce.jobhistory.webapp.address</name> 
        <value>cloud001:19888</value> 
    </property> 
</configuration>

mapreduce.framework.name:新框架支持第三方 MapReduce 开发框架以支持如 SmartTalk/DGSG 等非 Yarn 架构,注意通常情况下这个配置的值都设置为 Yarn,如果没有配置这项,那么提交的 Yarn job 只会运行在 locale 模式,而不是分布式模式。

mapreduce.jobtracker.http.address:job tracker 监听端口

mapreduce.jobhistory.*:hadoop历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器。

sbin/mr-jobhistory-daemon.sh  start historyserver

这篇文章很详细的介绍了历史服务器的原理以及配置:

文件四:yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

<property> 
        <name>yarn.resourcemanager.address</name> 
        <value>nameNode:8032</value> 
    </property> 
    <property> 
        <name>yarn.resourcemanager.scheduler.address</name> 
        <value>nameNode:8030</value> 
    </property> 
    <property> 
        <name>yarn.resourcemanager.resource-tracker.address</name> 
        <value>nameNode:8031</value> 
    </property> 
    <property> 
        <name>yarn.resourcemanager.admin.address</name> 
        <value>nameNode:8033</value> 
    </property> 
    <property> 
        <name>yarn.resourcemanager.webapp.address</name> 
        <value>nameNode:8088</value> 
    </property> 
</configuration>

mapreduce_shuffle :
yarn.resourcemanager.address:namenode 与 resourcemanager通讯接口
yarn.resourcemanager.resource-tracker.address:新框架中 NodeManager 需要向 RM 报告任务运行状态供 Resouce 跟踪,因此 NodeManager 节点主机需要知道 RM 主机的 tracker 接口地址
yarn.resourcemanager.admin.address:管理命令通过ResourceManager 主机访问host:port
yarn.resourcemanager.webapp.address:管理页面地址

主要配置就是这些了。后续会就事论事,遇到哪个配置不明白或者需要重点说明的 我会都记录下来跟大家一起分享。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9f4fa2e7996f5914b4e8b4bb396e20c2.html