Hadoopシステムの再起動後、名前ノードが起動できません

問題の説明:再起動後の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の環境での設定の展開をこの障害を回避するために。

おすすめ

転載: blog.csdn.net/whiteblacksheep/article/details/94722734