問題の説明:再起動後のHadoopシステムは、sbinに/ start_dfs.sh起動スクリプトを実行します
[hadoop@ruozedata001 hadoop]$ jps
6033 Jps
5304 SecondaryNameNode
5119 DataNode
[hadoop@ruozedata001 hadoop]$
namenode始终起不来
次のように与えられているビューの名前ノードログ、
tail -F /home/hadoop/software/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-namenode-ruozedata001.log
2019-07-05 10:39:35,828 INFO org.apache.hadoop.hdfs.server.namenode.NNConf: Maximum size of an xattr: 16384
2019-07-05 10:39:35,828 WARN org.apache.hadoop.hdfs.server.common.Storage: Storage directory /data/tmp/hadoop-hadoop/dfs/name does not exist
2019-07-05 10:39:35,829 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /data/tmp/hadoop-hadoop/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:314)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:202)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1063)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:767)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:609)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:670)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:838)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:817)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1538)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1606)
2019-07-05 10:39:35,832 INFO org.mortbay.log: Stopped [email protected]:50070
2019-07-05 10:39:35,933 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Stopping NameNode metrics system...
2019-07-05 10:39:35,933 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system stopped.
2019-07-05 10:39:35,933 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
2019-07-05 10:39:35,933 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /data/tmp/hadoop-hadoop/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:314)
溶液は、実装を開始することであるhadoop namenode -format
(これは、データが削除された名前ノードを言ってしまうため、生産上の使用は推奨されません)次の名前ノードの再フォーマットを、しかし、後でそれについて考えていないので、すべてのフォーマットが、それはゲームオーバーではありません- TMP / Hadoopの-のHadoop / DFS /下: -その後、次は、次のように一時ファイル/ tmpが削除されますので、ことがわかった / ディレクトリ、フォルダは名前ノードが存在しません
[hadoop@ruozedata001 dfs]$ cd /tmp/hadoop-hadoop/dfs/
[hadoop@ruozedata001 dfs]$ pwd
/tmp/hadoop-hadoop/dfs
[hadoop@ruozedata001 dfs]$ ll
total 0
drwx------ 2 hadoop hadoop 6 Jul 5 09:54 data
drwxrwxr-x 3 hadoop hadoop 20 Jul 5 10:39 namesecondary
[hadoop@ruozedata001 dfs]$
それは削除されません場所に戻って、ストレージヘッドの定義:ソリューションは、コンフィギュレーション・ファイルのコア-site.xmlのを修正hadoop.tmp.dir属性を追加することです
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/tmp/hadoop-${user.name}</value>
</property>
</configuration>
その後、再び実行してsbin/start_dfs.sh
、スタートアップスクリプトを、あなたは、通常の名前ノードのプロセスを開始することができます。
推奨事項:それは直接コンフィギュレーションファイルのコア-site.xmlのには削除されませんhadoop.tmp.dirディレクトリを再定義する際に、Hadoopの環境での設定の展開をこの障害を回避するために。