我了解到我必须在 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 创建文件/目录的常见过程是什么?
嗯,这很容易。
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)