Hadoop叢集中分離ScondaryNameNode節點
阿新 • • 發佈:2019-01-26
在我們剛搭好的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