Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 错误namenode.FSNamesystem:FSNamesystem初始化失败_Hadoop_Hdfs - Fatal编程技术网

Hadoop 错误namenode.FSNamesystem:FSNamesystem初始化失败

Hadoop 错误namenode.FSNamesystem:FSNamesystem初始化失败,hadoop,hdfs,Hadoop,Hdfs,我在ubuntu虚拟机上以伪分布式模式运行hadoop。我最近决定增加我的虚拟机可用的RAM和内核数量,这似乎完全破坏了hdfs。首先,它处于安全模式,我使用以下方式手动释放: hadoop dfsadmin-安全模式离开 然后我跑: hadoop fsck-块 几乎每个街区都被破坏或丢失了。所以我想,这只是为了学习,我删除了“/user/msknapp”和“/var/lib/hadoop-0.20/cache/mapred/mapred/.settings”中的所有内容。所以块错误消失了。然后

我在ubuntu虚拟机上以伪分布式模式运行hadoop。我最近决定增加我的虚拟机可用的RAM和内核数量,这似乎完全破坏了hdfs。首先,它处于安全模式,我使用以下方式手动释放:

hadoop dfsadmin-安全模式离开

然后我跑:

hadoop fsck-块

几乎每个街区都被破坏或丢失了。所以我想,这只是为了学习,我删除了“/user/msknapp”和“/var/lib/hadoop-0.20/cache/mapred/mapred/.settings”中的所有内容。所以块错误消失了。然后我尝试:

hadoop fs-放置myfile myfile

并得到(节略):

因此,我尝试停止并重新启动namenode和datanode。运气不好:

hadoop名称节点

    12/01/07 15:13:47 ERROR namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.FileNotFoundException: /var/lib/hadoop-0.20/cache/hadoop/dfs/name/image/fsimage (Permission denied)
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.isConversionNeeded(FSImage.java:683)
    at org.apache.hadoop.hdfs.server.common.Storage.checkConversionNeeded(Storage.java:690)
    at org.apache.hadoop.hdfs.server.common.Storage.access$000(Storage.java:60)
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:469)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:297)
    at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:99)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:358)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:327)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:271)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:465)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1239)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1248)
12/01/07 15:13:47 ERROR namenode.NameNode: java.io.FileNotFoundException: /var/lib/hadoop-0.20/cache/hadoop/dfs/name/image/fsimage (Permission denied)
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.isConversionNeeded(FSImage.java:683)
    at org.apache.hadoop.hdfs.server.common.Storage.checkConversionNeeded(Storage.java:690)
    at org.apache.hadoop.hdfs.server.common.Storage.access$000(Storage.java:60)
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:469)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:297)
    at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:99)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:358)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:327)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:271)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:465)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1239)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1248)

12/01/07 15:13:47 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1
************************************************************/
12/01/07 15:13:47错误namenode.FSNamesystem:FSNamesystem初始化失败。
java.io.FileNotFoundException:/var/lib/hadoop-0.20/cache/hadoop/dfs/name/image/fsimage(权限被拒绝)
位于java.io.RandomAccessFile.open(本机方法)
位于java.io.RandomAccessFile。(RandomAccessFile.java:233)
位于org.apache.hadoop.hdfs.server.namenode.FSImage.isconversionneed(FSImage.java:683)
位于org.apache.hadoop.hdfs.server.common.Storage.checkConversionneed(Storage.java:690)
位于org.apache.hadoop.hdfs.server.common.Storage.access$000(Storage.java:60)
位于org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:469)
位于org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:297)
位于org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:99)
位于org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:358)
位于org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:327)
位于org.apache.hadoop.hdfs.server.namenode.namenode.initialize(namenode.java:271)
位于org.apache.hadoop.hdfs.server.namenode.namenode.(namenode.java:465)
位于org.apache.hadoop.hdfs.server.namenode.namenode.createNameNode(namenode.java:1239)
位于org.apache.hadoop.hdfs.server.namenode.namenode.main(namenode.java:1248)
2007年12月1日15:13:47错误namenode.namenode:java.io.FileNotFoundException:/var/lib/hadoop-0.20/cache/hadoop/dfs/name/image/fsimage(权限被拒绝)
位于java.io.RandomAccessFile.open(本机方法)
位于java.io.RandomAccessFile。(RandomAccessFile.java:233)
位于org.apache.hadoop.hdfs.server.namenode.FSImage.isconversionneed(FSImage.java:683)
位于org.apache.hadoop.hdfs.server.common.Storage.checkConversionneed(Storage.java:690)
位于org.apache.hadoop.hdfs.server.common.Storage.access$000(Storage.java:60)
位于org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:469)
位于org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:297)
位于org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:99)
位于org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:358)
位于org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:327)
位于org.apache.hadoop.hdfs.server.namenode.namenode.initialize(namenode.java:271)
位于org.apache.hadoop.hdfs.server.namenode.namenode.(namenode.java:465)
位于org.apache.hadoop.hdfs.server.namenode.namenode.createNameNode(namenode.java:1239)
位于org.apache.hadoop.hdfs.server.namenode.namenode.main(namenode.java:1248)
2007年12月1日15:13:47信息名称节点。名称节点:关机消息:
/************************************************************
SHUTDOWN_MSG:关闭ubuntu/127.0.1.1上的NameNode
************************************************************/

有人能帮帮我吗?我已经尝试修复这个问题好几个小时了。

进入您配置hdfs的地方。删除那里的所有内容,格式化namenode,就可以开始了。如果您没有正确关闭集群,通常会发生这种情况

进入已配置hdfs的位置。删除那里的所有内容,格式化namenode,就可以开始了。如果您没有正确关闭集群,通常会发生这种情况

以下错误表示fsimage文件没有权限

namenode.NameNode: java.io.FileNotFoundException: /var/lib/hadoop-0.20/cache/hadoop/dfs/name/image/fsimage (Permission denied)
因此,请授予fsimage文件的权限


$chmod-R 777 fsimage

以下错误表示fsimage文件没有权限

namenode.NameNode: java.io.FileNotFoundException: /var/lib/hadoop-0.20/cache/hadoop/dfs/name/image/fsimage (Permission denied)
因此,请授予fsimage文件的权限


$chmod-R 777 fsimage

顺便说一句,“hadoop dfsadmin-format”导致以下结果:错误namenode.namenode:java.io.IOException:无法删除当前目录:/var/lib/hadoop-0.20/cache/hadoop/dfs/name/currentI甚至卸载了所有hadoop并重新安装了它,我仍然有同样的错误。看起来我将被迫删除虚拟机并启动一个新的虚拟机。这是一个非常严重的错误。顺便说一下,“hadoop dfsadmin-format”导致以下结果:错误namenode.namenode:java.io.IOException:无法删除当前目录:/var/lib/hadoop-0.20/cache/hadoop/dfs/name/currentI甚至卸载并重新安装了所有hadoop,我仍然有相同的错误。看起来我将被迫删除虚拟机并启动一个新的虚拟机。这是一个非常讨厌的bug。现在它似乎在使用我的本地文件系统而不是hdfs来执行操作。你能给我解释一下关闭集群的“正确”方法吗?我甚至不知道它需要以一种特定的方式关闭。如果关闭VM电源,是否意味着群集无法正常关闭?因此,当您启动它时,使用“start all.sh”将启动jobtacker、namennode和运行群集的所有其他守护进程。为了正确地关闭它,您需要发出“stopall.sh”命令,这将小心地关闭所有内容。我建议您关闭它,删除启动hdfs的位置,执行“hadoop namenode-format”,然后重新启动集群。让我知道这是否有效!我有一个类似的问题,我错误地启动了namenodep