问题导读
1.第三方的应用想在java应用里启动一个mapreduce作业,怎么弄?
2.你认为能远程连接hadoop的原因是什么?
提问:
来自论坛会员的提问:
某个第三方的应用(这个第三方的应用部署在hadoop集群之外),想在java应用里启动一个mapreduce作业,怎么弄?
原理:
我们知道在eclipse中,可以远程链接集群运行mapreduce。那么我们如果是第三方应用,或则在集群以外,该如何跑mapredcue。
我们只需要安装hadoop客户端即可,也就是说我们需要hadoop环境,并且能够远程连接,而远程连接,相信我们在eclipse中就已经学会了,所以在集群以外运行mapreduce也不是难事。详细参考以下内容
hadoop远程客户端安装配置客户端系统:ubuntu12.04 客户端用户名:mjiang 服务器用户名:hadoop hadoop多用户权限配置参考 hadoop多用户时权限问题 在Ubnutu上创建多个用户使用jps查看hadoop信息
远程客户端用户在hadoop集群上运行程序时,可能会出现类似错误: 错误现象:- org.apache.hadoop.security.AccessControlException: Permission denied: user=mjiang, access=EXECUTE, inode="job_201111031322_0003":hadoop:supergroup:rwx-.
复制代码
原因:本地用户想要远程操作hadoop系统,没有权限引起的。
这就是权限配置不对造成的,解决方案: - 如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。
- 公司级应用时权限配置:
这里只进行简单的权限配置,远程用户能正常提交运行作业即可,更加专业、高级的权限配置暂时还用不到,也没有做过多研究。
在解决权限配置问题时,我们对hadoop多用户权限配置的问题,转移成单纯的hdfs文件的用户权限配置问题:
|