在 hdfs 文件系统中创建文件的标准方法是什么?

mr.*_*ton 3 hadoop hdfs

我了解到我必须在 hdfs-site.xml 中配置 NameNode 和 DataNode 目录。这是我在 NameNode 上的 hdfs-site.xml 配置:

<configuration>
 <property>
    <name>dfs.replication</name> 
    <value>3</value>
  </property>

 <property>
    <name>dfs.namenode.name.dir</name> 
    <value>file://usr/local/hadoop-2.6.0/hadoop_data/hdfs/namenode</value>
  </property>

 <property>
    <name>dfs.block.size</name> 
    <value>134217728</value>
  </property>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我在我的 DataNode 上做了几乎相同的事情,并将dfs.namenode更改为dfs.datanode

然后我通过

hadoop namenode -format
Run Code Online (Sandbox Code Playgroud)

一切似乎都没有错误地完成了。然后我想使用以下命令在我的 HDFS 文件系统中创建一个目录:

hdfs dfs -mkdir test
Run Code Online (Sandbox Code Playgroud)

我得到了一个错误:

mkdir: `test': No such file or directory
Run Code Online (Sandbox Code Playgroud)

我错过了什么或者从格式化到使用 HDFS 创建文件/目录的常见过程是什么?

mr.*_*ton 6

嗯,这很容易。

hdfs dfs -mkdir /test
Run Code Online (Sandbox Code Playgroud)

已成功创建。

hdfs dfs -put myFile /test/myFile
Run Code Online (Sandbox Code Playgroud)

也有效。


小智 5

创建目录:

hdfs dfs -mkdir directoryName
Run Code Online (Sandbox Code Playgroud)

在目录中创建一个新文件

hdfs dfs -touchz directoryName/Newfilename
Run Code Online (Sandbox Code Playgroud)

写入HDFS中新创建的文件

nano filename
Run Code Online (Sandbox Code Playgroud)

保存Cntr+ XY

从HDFS读取新创建的文件

nano fileName
Run Code Online (Sandbox Code Playgroud)

或者

hdfs dfs -cat directoryName/fileName
Run Code Online (Sandbox Code Playgroud)