在我们刚搭好的Hadoop集群中,在启动了dfs之后,我们通过jps命令会发现在master节点显示如下:
但是SecondaryNameNode虽然起到了一个助手作用,但是如果它和namenode在同一个节点上,那么当这个节点一旦挂掉,整个集群无法恢复,但是如果能够将SecondaryNameNode分享出来,或者分给其他节点,那么当namenode所在的节点挂掉之后,就可以去SecondaryNameNode所在的节点上去寻找一些信息并进行人工干预恢复集群。
方法如下:
第一步,首先我们知道在配置文件的目录下有一个文件叫做slaves,那么我们也可以在那么目录下新建一个配置文件叫做masters,而在master里面是要写入你即将存放SecondaryNameNode的节点的主机名(注:如果该节点不是datanode,那么就要配置ssh等。)
写入slave1(这里以slave1为例,即我想要将slave1作为存放SecondaryNameNode的节点)
第二步:
配置文件hdfs-site.xml
加入如下内容:
第三步:在相应的节点也做同样的修改,这里说的相应的节点是你将来要在上面启动dfs的节点,如果以后都只在这一台上面启动dfs,那么就不用,否则务必做同样的修改。
做完以上配置后,重新启动hdfs,成功分离SecondaryNameNode
但是SecondaryNameNode虽然起到了一个助手作用,但是如果它和namenode在同一个节点上,那么当这个节点一旦挂掉,整个集群无法恢复,但是如果能够将SecondaryNameNode分享出来,或者分给其他节点,那么当namenode所在的节点挂掉之后,就可以去SecondaryNameNode所在的节点上去寻找一些信息并进行人工干预恢复集群。
方法如下:
第一步,首先我们知道在配置文件的目录下有一个文件叫做slaves,那么我们也可以在那么目录下新建一个配置文件叫做masters,而在master里面是要写入你即将存放SecondaryNameNode的节点的主机名(注:如果该节点不是datanode,那么就要配置ssh等。)
写入slave1(这里以slave1为例,即我想要将slave1作为存放SecondaryNameNode的节点)
第二步:
配置文件hdfs-site.xml
加入如下内容:
第三步:在相应的节点也做同样的修改,这里说的相应的节点是你将来要在上面启动dfs的节点,如果以后都只在这一台上面启动dfs,那么就不用,否则务必做同样的修改。
做完以上配置后,重新启动hdfs,成功分离SecondaryNameNode