Hadoop Basic - 创建目录时出错
Hadoop Basic - error while creating directory
我最近开始学习 hadoop,但在创建新文件夹时出现以下错误 -
vm4learning@vm4learning:~/Installations/hadoop-1.2.1/bin$ ./hadoop fs
-mkdir helloworld Warning: $HADOOP_HOME is deprecated. 15/06/14 19:46:35 INFO ipc.Client: Retrying connect to server:
localhost/127.0.0.1:9000. Already tried 0 time(s); retry policy is
RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1
SECONDS)
请求您 help.below 是 namdenode 日志 -
015-06-14 22:01:08,158 INFO org.apache.hadoop.hdfs.server.common.Storage: 存储目录 /home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name 不存在
2015-06-14 22:01:08,161 错误 org.apache.hadoop.hdfs.server.namenode.FSNamesystem:FSNamesystem 初始化失败。
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目录/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name处于不一致状态:存储目录不存在或不可访问。
在 org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304)
在 org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104)
在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.初始化(FSNamesystem.java:427)
在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:395)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:569)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488)
2015-06-14 22:01:08,182 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: 目录 /home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name 处于不一致状态:存储目录不存在或不可访问。
在 org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304)
在 org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104)
在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.初始化(FSNamesystem.java:427)
在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:395)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:569)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479)
在 org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488)
2015-06-14 22:01:08,185 信息 org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG:
/**************************************************** ***********
SHUTDOWN_MSG:在 vm4learning/192.168.1.102 关闭 NameNode
****************************************************** **********/
在开始创建目录之前,您应该确保您的 hadoop 安装正确,通过 jps
命令,并查找任何缺少的进程。
在你的例子中,namenode 没有启动。
如果您在日志中看到,似乎有些文件夹没有创建。这样做:
mkdir -p $HADOOP_HOME/dfs/name
mkdir -p $HADOOP_HOME/dfs/name/data
并在 hdfs-site.xml 中指定以下内容。
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/dfs/name/data</value>
<final>true</final>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
<final>true</final>
</property>
重新初始化hadoop,记得格式化previous做任何事情。
可能出现同样错误的另一个原因是你还没有像那样执行namenode的格式化:
hdfs namenode -format
我错过了本教程的第 7 步 (https://kontext.tech/column/hadoop/377/latest-hadoop-321-installation-on-windows-10-step-by-step-guide ) 并遇到了同样的错误
hdfs
是来自 HADOOP_HOME/bin
的实用程序
我最近开始学习 hadoop,但在创建新文件夹时出现以下错误 -
vm4learning@vm4learning:~/Installations/hadoop-1.2.1/bin$ ./hadoop fs -mkdir helloworld Warning: $HADOOP_HOME is deprecated. 15/06/14 19:46:35 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
请求您 help.below 是 namdenode 日志 -
015-06-14 22:01:08,158 INFO org.apache.hadoop.hdfs.server.common.Storage: 存储目录 /home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name 不存在 2015-06-14 22:01:08,161 错误 org.apache.hadoop.hdfs.server.namenode.FSNamesystem:FSNamesystem 初始化失败。 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目录/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name处于不一致状态:存储目录不存在或不可访问。 在 org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) 在 org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.初始化(FSNamesystem.java:427) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:395) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:569) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488) 2015-06-14 22:01:08,182 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: 目录 /home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name 处于不一致状态:存储目录不存在或不可访问。 在 org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) 在 org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.初始化(FSNamesystem.java:427) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:395) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:569) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488)
2015-06-14 22:01:08,185 信息 org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: /**************************************************** *********** SHUTDOWN_MSG:在 vm4learning/192.168.1.102 关闭 NameNode ****************************************************** **********/
在开始创建目录之前,您应该确保您的 hadoop 安装正确,通过 jps
命令,并查找任何缺少的进程。
在你的例子中,namenode 没有启动。
如果您在日志中看到,似乎有些文件夹没有创建。这样做:
mkdir -p $HADOOP_HOME/dfs/name
mkdir -p $HADOOP_HOME/dfs/name/data
并在 hdfs-site.xml 中指定以下内容。
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/dfs/name/data</value>
<final>true</final>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
<final>true</final>
</property>
重新初始化hadoop,记得格式化previous做任何事情。
可能出现同样错误的另一个原因是你还没有像那样执行namenode的格式化:
hdfs namenode -format
我错过了本教程的第 7 步 (https://kontext.tech/column/hadoop/377/latest-hadoop-321-installation-on-windows-10-step-by-step-guide ) 并遇到了同样的错误
hdfs
是来自 HADOOP_HOME/bin