目的
- 完成eclipse + hadoop2.6.x 开发环境搭建 ;
- 常见错误总结 ;
- 大数据等综合技术积累 .
环境搭建
- 推荐参考文章 (已比较全面,不在赘述)
问题总结 (重点)
- 问题 1 :密码登录
- hadoop设置 ssh 免密码登录(否则每次启动【start-all.sh】都需要输入多次密码,浪费时间)
- 命令分以下4步(主节点,从节点配置类似):
cd ~
ssh-keygen -t rsa -P ""
cd .ssh
cat id_rsa.pub >> authorized_keys)
- 问题 2 : java.lang.NullPointerException
An internal error occurred during: "Map/Reduce location status updater". java.lang.NullPointerException
异常,连接失败。- 原因分析 & 解决办法
- 1 配置的参数不正确
- 注释 A ( Map/Reduce Master 框 )
- Host : jobtracker 所在集群机器,即 192.168.1.112
- Port : jobtracker 通信端口,即 9001(默认端口号)
- 配置文件 : 服务器 mapred-site.xml文件中 mapred.job.tracker属性的ip和port
- 注释 B ( DFS Master 框 )
- Host : namenode所在集群机器,即 192.168.1.112(伪分布)
- Port : namenode port,即 9000 (默认端口号)
- 配置文件 : 服务器 core-site.xml 文件中 fs.default.name属性的 ip 和 端口
- Use M/R master host : 即 默认和A 框里的host一致;如果不勾选,可自定义输入
- User name : 连接hadoop的用户名
- 注释 A ( Map/Reduce Master 框 )
- 2 本地机器 IP 不正确
- 有可能通过步骤 1 修改后, 仍旧无法连接成功,那么可以查看下是否存在第2 种原因。
- 由于个人基于 Windows 7 + VMware 平台搭建Hadoop 开发环境,网络中存在多个无线网络,eclipse识别的本地网络IP 如下图所示:
- 而本机 IP 地址为 192.168.1.112,与图中192.168.182.1不符; 通过控制面板相关设置 禁用 不相关网络。
- 1 配置的参数不正确
- 问题 3 : AccessControlException
- HDFS 权限问题:Permission denied
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied:
- 解决办法
- 1 修改 hdfs-core.xml 配置文件,添加/修改 dfs.permissions 属性值为 False (需重启).
- 2 通过 hadoop shell 命令 扩展目录权限(亲测可行)
hadoop fs -chmod 777 /xxx
- HDFS 权限问题:Permission denied
- 问题 4 : 向Hadoop文件系统(HDFS)上传/下载 文件均为空
- eclipse成功连接hadoop 集群后, 尝试下载Hadoop HDFS(文件系统)某目录下的文件,下载过程 慢 并且下载的文件为 空文件(0 b);上传的文件也是空文件
- 关闭防火墙,问题得到解决,查看、上传、下载文件也可流程。