【Ubuntu 16.04 Hadoop2.9.1】
跟着厦大林子雨的实验指南配置伪分布式环境时出现了以下问题:
在修改了/etc/hadoop/core-site.xml & /etc/hadoop/hdfs-site.xml后
namenode -format时出现 Cannot create directory /Softwares/hadoop/tmp/dfs/name/current 异常
具体配置文件修改如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/Softwares/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/Softwares/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/Softwares/hadoop/tmp/dfs/data</value>
</property>
</configuration>
考虑可能是如下问题:
1. 权限问题 2. 防火墙问题(刚开始是发现50070端口无法访问)
尝试过程中发现 :
(1)防火墙已关闭
【注:Ubuntu 中使用service iptables start 或者service iptables stop开启关闭防火墙会报错 】
【应使用 sudo ufw enable 和sudo ufw disable开启关闭防火墙 查看防火墙状态使用sudo ufw status verbose 或者 iptables -L 命令】
所以就没firewall什么事了。。。
(2)sudo su 切换至root 使用sudo chmod -R a+w /home/hadoop/Softwares/hadoop/ 修改权限 再exit 重新format依旧不行
这就很难受了。。
继续尝试 将两个xml文件里和路径相关的property都删掉 使用默认生成的目录 重新format 咦 这下好了
但继续出现以下问题:
(1)并没有看到生成的tmp文件
(2)./sbin/start-dfs.sh 后 使用jps命令查看 namenode datanode secondary jps都是正常的 localhost:50070也能正常访问 但在使用过程中经常会页面崩溃 使用jps命令查看发现namenode已经不显示了 重新启动后 正常 过一会。。。。= =
考虑可能还是因为配置文件中没有设置hadoop.tmp.dir等临时路径所致
于是做如下尝试,将两个配置文件中原本出错的路径修改为绝对路径,配置文件具体如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/Softwares/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/Softwares/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/Softwares/hadoop/tmp/dfs/data</value>
</property>
</configuration>
重新-format一下 OK start一下 也OK 并且没有再出现namenode自动挂掉的状况
虚拟机重启一下 直接start也依旧OK
嘤嘤嘤 问题解决
不过具体原理没弄明白- -恳请赐教啦