最近,一直在学习hadoop的东西,如果要学习一门语言,那么这个语言的环境搭建是很重要的,刚开始本来试了一下,不成功,然后就不想试了,后面还是试成功了,可见其实有些东西没有那么难,只是看你有没有心去学习这样的东西了。
我一直学习hadoop的环境都是基于给力星博主的文章,很好,文章链接:http://www.powerxing.com/,这里面我们可以梳理一下我在搭建的几个问题
问题一:当我把环境打错了,或者是name中和data中生成的id不一样,此时我可以直接在执行./bin/hdfs namenode -format么?
回答:不行,因为此时你已经在hadoop的环境下面生成了tmp的文件夹,如果想重新格式化,可以先stop-all.sh的命令,在重新./bin/hdfs namenode -format
问题二:当我执行完了./sbin/start-dfs.sh以及./sbin/start-yarn.sh这两个命令的时候,如果我们可以在Linux的命令地下可以进行hdfs的增删改查,那么我们为什么在浏览器中输入:ip(or hostname):50070的时候,浏览器找不到hadoop的文件系统的界面版,此时你应该把防火墙关闭:
1.service iptables stop 停止防火墙
2.chkconfig iptables off 开机关闭
3.chkconfig iptables --list 查看状态
hadoop的上传和下载功能:
./bin/hdfs -ls hdfs上的目录,例如可以写./bin/hdfs -ls /(查看hdfs上/的目录下的文件)或./bin/hdfs -ls /user(查看/user目录下的文件列表)
./bin/hdfs dfs -get /output (/output此时是hdfs上面的/目录下的文件) /tmp/name1234(本机目录)
解释:将hdfs上面的/output的文件拷贝到本机的/tmp/name1234,此时的目录叫做/tmp/name1234的这个文件
./bin/hdfs dfs -put ./etc/hadoop/*.xml(本机目录,当前目录./etc/hadoop/的目录下面所有的以.xml结尾的文件) /input(HDFS的文件)
解释:将目录./etc/hadoop的目录下面的所有以.xml结尾的文件上传的HDFS的/input的目录下