Hadoop datanode無法啟動


  原因是多次 hadoop namenode -format  導致 datanode 的version 里的Cluster-Id 不一致

這個Cluster-Id的位置在:  自己設置的數據臨時文件/dfs/name(如果是datanode就是data)/name/current里的VERSION文件

如我的在 hdpdata//home/hadoop/hdpdata/dfs/name/current。如果不知道可以去hadoop/etc/hadoop/core-site.xml 里找。

#core-site.xml文件

<!-- 指定hadoop運行時產生文件的存儲目錄 --> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hdpdata</value> </property>

解決辦法是把所有節點(包括namenode和datanode)的這個臨時文件夾刪除,然后 namenode節點,重新hadoop namenode -format, 再start-all.sh.就可以了,臨時文件夾會自動重新生成,這時候version里的Cluster-Id會保持一致

 

可以用Ansible批量刪除臨時數據文件夾

playbook代碼

# 因為 hadoop namenode -format 經常會導致hadoop的current文件夾里的clusterID會一致,所以編一個playbook來批量刪除current文件夾
- name: delete-hdpdata-folder
  hosts: aaa
  remote_user: hadoop
  become: true
  become_user: hadoop
  tasks:
  - name: delete-hdpdata-all
    file:
      path: ~/hdpdata/
      state: absent

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM