如何在AWS EMR中启动辅助Namenode

时间:2018-09-04 12:52:31

标签: hdfs amazon-emr

我们一直在运行生产级系统,我们想在其中自动启动AWS EMR中的辅助名称节点。 下面是未运行辅助namenode守护程序的jps的输出

[root@ip-10-2-23-23 ~]# jps
6241 Bootstrap
7041 ResourceManager
10754 RunJar
6818 WebAppProxyServer
10787 SparkSubmit
7619 JobHistoryServer
6922 ApplicationHistoryServer
3661 Main
4877 Main
6318 NameNode
8943 LivyServer
4499 Jps
5908 Bootstrap
4791 Main
10619 StatePusher
9918 HistoryServer

次要namenode需要做namenode检查点并定期创建fsImage。我没有为Namenode配置任何HA。

我们手动创建FsImage的命令是

hdfs secondarynamenode -checkpoint

如何在AWS EMR中启动辅助名称节点或进行任何配置?

Hadoop版本:Hadoop 2.8.3-amzn-0

1 个答案:

答案 0 :(得分:1)

AWS EMR不在EMR上运行次要的Namenode过程,因此不会创建FSImage,每小时运行一次cron创建FSImage解决了磁盘使用过多的问题,因为FSImage将快照(Namenode元数据)合并到创建一个较小的新FsImage。 FSImage创建是Namenode的一项昂贵操作,它利用实例资源。如果要合并的快照过多,则Namenode可能永远无法从繁琐的过程中恢复,因此最好通过cron频繁创建FSImage。在标准Hadoop系统中,此工作是通过在单独的实例(但EMR)上运行辅助Namenode来完成的没有两个主节点的概念,因此主节点始终是单点故障。

hdfs secondarynamenode -checkpoint

此问题的其他解决方案是在自定义Hadoop(如MapR)上运行EMR。