小白在win7虚拟机下搭建Hadoop2.6.0伪分布式环境
看了很多博客,发现了一个最适合新手的,而且本人已经验证安装成功,链接如下:
http://www.powerxing.com/install-hadoop/
对安装过程中遇到的一些问题的补充
1. 将文件放入虚拟机中
不能直接将jdk安装包复制粘贴到虚拟机中,要先安装了vmware tools才可以,步骤如下
1.1点击工具栏中的 虚拟机(M),在弹出的下拉框中再点击设置(s)
1.2,在设置中选择选项面板,并点击共享文件夹,在右边选择总是启用(E),然后点击确定
1.3安装vmware tool 选择共享的磁盘或者文件夹,安装成功后,就可以直接将jdk安装包从外面复制粘贴(paste)到虚拟机中了
2. 启动伪分布式的时候报错
Error: JAVA_HOME is not set and could not be found.
解决方法:
输入 gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh 打开文件
更改 export JAVA_HOME=$JAVA_HOME (将相对路径改成绝对路径)
变成 export JAVA_HOME=/usr/java/jdk1.6.0_45(根据你安装的路径来填写)
3.用eclipse开发hadoop程序
链接如下:http://www.powerxing.com/hadoop-build-project-using-eclipse/
问题1:在/usr/local/hadoop目录下输入 ./sbin/start-dfs.sh 后,出现permission denie
原因:权限问题,用sudo ./sbin/start-dfs.sh 也会失败
解决方法: 先切换为root用户 输入命令 su
然后输入 ./sbin/start-dfs.sh
再切换回普通用户 su hadoop
问题2:Exception in thread "main" ExitCodeException exitCode=1:
chmod: 无法访问"/usr/local/hadoop/tmp/mapred/staging/bo806358276/.staging/job_local806358276_0001
原因:权限问题
解决办法: 1.切换到root用户 输入命令 su
2.输入命令 chmod -R 777 /usr/local/hadoop (/usr/local/hadoop是hadoop的安装目录,根据你自己的安装目录修改)
问题3:org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=DrWho, access=WRITE, inode="hadoop":hadoop:supergroup:rwxr-xr-x
解决方法:
- 找到WordCount工程下的src中的hdfs-site.xml
- 找到/user/local/hadoop/etc/hadoop/hdfs-site.xml (根据你的hadoop安装目录进行查找)
都打开,并且在其中添加一段代码
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
有篇文章透彻的讲解这个问题的根源,链接如下:http://www.huqiwen.com/2013/07/18/hdfs-permission-denied/
最后,如果原作者的文章真的对你帮助很大,那么最好微信赞助,因为对别人的有效付出给予回报,既是对别人的尊重,也是对自己的尊重。