当前位置: 首页 > 知识库问答 >
问题:

在hadoop文件系统中创建目录

柯易安
2023-03-14

我是Hadoop的新手。我正试图在hdfs中创建一个目录,但我无法创建。

我已经登录到“hduser”,因此我假设/home/hduser“作为Unix FS预先存在,所以我尝试使用下面的命令创建hadoop目录。

[hduser@Virus ~]$ hadoop fs -mkdir /home/hduser/mydata/
14/12/03 15:04:53 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: `/home/hduser/mydata/': No such file or directory

在线搜索后,我想到可能是hadoop不能理解“/home/hduser”,或者我使用的hadoop2中mkdir不能像Unix命令“madir-p”(递归)那样工作。因此,我尝试创建“/mydata”,但没有成功。

[hduser@Virus ~]$ hadoop fs -mkdir /mydata
14/12/03 15:09:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: Cannot create directory /mydata. Name node is in safe mode.
[hduser@Virus ~]$ hdfs dfsadmin -safemode leave
14/12/03 15:09:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Safe mode is OFF

我还尝试使用“/user/mydata”,因为“/user”是hadoop作为home的目录。

[hduser@Virus ~]$ hadoop fs -mkdir /user/mydata
14/12/03 15:36:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: Cannot create directory /user/mydata. Name node is in safe mode.

现在如何进一步调试?

共有1个答案

邴宏大
2023-03-14

要离开安全模式,请尝试以下命令,因为hadoop dfsadmin-safemode在较新的Hadoop发行版中不推荐使用:

 hdfs dfsadmin -safemode leave

默认情况下,hdfs中用户的home目录以“/user/hduser”而不是/home/hduser“存在。

如果您尝试像下面这样直接创建目录,那么它将像'/user/hduser/sampledir'那样创建。

hadoop fs -mkdir /path/to/be/created
 类似资料:
  • Tip ceph fs new 命令是从 Ceph 0.84 起引入的,在此之前,无需手动创建文件系统,名为 data 和 metadata 的存储池默认即存在。 Ceph 命令行现在有了创建和删除文件系统的命令,但是当前一套集群只能有一个文件系统存在。 一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑: 为元数据存储池设置较高的副本水

  • 问题内容: 对于我的用例,我想在内存目录中存储一些文件,时间很短。实际上,我在运行时将源代码编译为文件,并进行类加载和执行。干净的方法是创建一个虚拟目录,然后让编译器在其中创建.class文件。当然我 可以 使用一个临时目录,但是在编译之前我必须先清理它,我不知道我是否是唯一使用它的人,依此类推。 那么,在内存中,用Java创建虚拟目录是否可行? 问题答案: 在Java 6中,实际上不可能在Jav

  • 从Hadoop 1.2.1的文件系统Shell中,它显示: FS shell由以下人员调用:

  • 请注意:我不是在讨论Java概念或透视图(即文件和文件系统类之间的区别),我是在讨论在HDFS上使用Java.io.File的效果。

  • 问题内容: 我在CentOS 6.6上安装了一个基本的hadoop集群,并想编写一些基本程序(浏览文件系统,删除/添加文件等),但是我仍在努力使最基本的应用程序正常工作。 当运行一些基本代码以将目录的内容列出到控制台时,出现以下错误: 我的pom.xml依赖项 代码: 调用fs.initialize()后将引发错误。我真的不确定这是什么问题。我是否缺少依赖关系?他们是错误的版本吗? 问题答案: 我

  • 我正在尝试创建hadoop序列文件。 我成功地在HDFS中创建了一个序列文件,但是如果我试图读取一个序列文件,就会出现“sequence file not a SequenceFile”错误。我还检查一个在HDFS中创建的序列文件。 这里是我的源代码,可以读写序列文件到HDFS。 2018-09-17 17:15:34,267 WARN[main]util.nativeCodeLoader(nat