前言
最近在使用 hadoop 框架时,发现自己在配置之初忘记配置 tmp 文件的目录,默认在 Linux 文件系统的 /tmp 文件夹下,而我的系统是 windows,所以在实际运行时发生找不到文件的错误。无奈之下,只能重新格式化文件系统,重新指定 tmp 的路径。重新格式化的具体流程如下。
过程
- 将 dfs.name.dir 所指定的目录删除,dfs.data.dir 所指定的目录删除
- 删除 C 盘下的 tmp 文件,有可能因为找不到 linux 文件系统下的 tmp 文件夹,所以转移到 C 盘下
- 重新设置配置文件
//core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///C:/hadoop-2.7.1/tmp</value>
</property>
</configuration>
//hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///C:/hadoop-2.7.1/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///C:/hadoop-2.7.1/data/datanode</value>
</property>
</configuration>
//mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
//yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
- 执行命令
hadoop namenode-format
结束语
本人大三学生一枚,学识尚浅,不喜勿喷,希望今日能抛砖引玉,请各位大佬一定不吝赐教!!!