Hadoop 2.x -- 如何配置Secondary NameNode?

7

我有一个旧版的Hadoop安装程序,想要升级到Hadoop 2。在旧版设置中,我有一个$HADOOP_HOME/conf/masters文件,指定了辅助名称节点。

查阅Hadoop 2文档,我找不到任何关于"masters"文件的提及,也不知道如何设置辅助名称节点。

希望能给出正确方向的任何帮助。

4个回答

7
在conf文件夹中的slaves和masters文件只被bin文件夹中的一些脚本(如start-mapred.sh、start-dfs.sh和start-all.sh脚本)使用。这些脚本仅供方便,使您可以从单个节点运行它们以ssh到每个master/slave节点并启动所需的hadoop服务守护程序。
如果您打算从此单个节点启动集群(使用无密码ssh),则只需要在名称节点机器上使用这些文件。
或者,您也可以手动在计算机上启动Hadoop守护进程。
bin/hadoop-daemon.sh start [namenode | secondarynamenode | datanode | jobtracker | tasktracker]

为了运行次要名称节点,请在指定的机器上使用上述脚本,将“secondarynamenode”值提供给脚本。

当我在bin目录中执行“grep masters *”或“grep slaves *”时,我没有任何匹配结果。在YARN / hadoop 2之前,这些文件被这些脚本使用,但是在我的grep中没有任何内容出现,也许我应该在其他地方寻找?我正在使用Hadoop 2.4.0。 - codecraig
虽然我在Shell脚本中没有直接看到“masters”的引用,但我确认了“masters”文件被使用。 - codecraig

4
请看 @pwnz0r 在 如何将Hadoop次要名称节点与主要名称节点分开?答案中的第二条评论。
在此重申:
In hdfs-site.xml:
<property> 
   <name>dfs.secondary.http.address</name>
   <value>$secondarynamenode.full.hostname:50090</value>
   <description>SecondaryNameNodeHostname</description>
</property>

2

在配置更改后重新启动DFS就可以解决问题,$ stop-dfs.sh $ start-dfs.sh - prabhugs
它是 dfs.secondary.http.address,请注意 .address,而不是 -address - smatthewenglish

0

通过更新和添加以下属性,更新hdfs-site.xml文件

cd  $HADOOP_HOME/etc/hadoop
sudo vi hdfs-site.xml

然后将这些行粘贴到配置标签中

<property> 
    <name>dfs.secondary.http.address</name>
    <value>hostname:50090</value>
</property>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接