虚拟机Hadoop实战(四)namenode无…

有可能是namenode配置问题,用停止命令发觉如下情况
$ sbin/stop-dfs.sh
Stopping namenodes on [localhost]
localhost: no namenode to stop
localhost: stopping datanode
Stopping secondary namenodes [0.0.0.0]
0.0.0.0: stopping secondarynamenode
最简单的解决办法是重新格式化hdfs:
master2@ubuntu:~/hadoop-2.7.3$ bin/hdfs namenode -format


        执行start-all.sh的时候发现JPS一下namenode没有启动
        每次开机都得重新格式化一下namenode才可以
        其实问题就出在tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失
        于是我们得重新配置一个tmp文件目录
        首先在home目录下建立一个hadoop_tmp目录
                sudo mkdir ~/hadoop_tmp
        然后修改Hadoop/conf目录里面的core-site.xml文件,加入以下节点:
               
                        hadoop.tmp.dir
                /home/chjzh/hadoop_tmp
                        A base for other temporary directories.
               
        注意:我的用户是chjzh所以目录是/home/chjzh/hadoop_tmp
                
        OK了,重新格式化Namenode
                hadoop namenode -format
        然后启动hadoop
                start-all.sh
        执行下JPS命令就可以看到NameNode了


附带一些问题的解决办法:
报错:
cannot create filexxx.xxx Name node is in safe mode
之前对hadoop文件系统存储目录做了“手术式”的更改,因而hadoop系统出于保护目的进入了安全模式。这时候只需要关闭安全模式就好:
Linux命令$  bin/hadoop dfsadmin -safemode leave
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

Safe mode is OFF
看来网传教程的关闭安全模式也已经过期了,新版(2.7.3)推荐使用hdfs命令关闭安全模式。
正解如下:
Linux命令$  bin/hdfs dfsadmin -safemode leave
再次上传,成功,不报错了!

你可能感兴趣的:(【C,Java与网络编程】)