| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
12年前发布

Hadoop集群提交作业问题总结

我们知道可以在本地节点向远程集群提交作业。为了实现远程作业的提交: 首先,要确保本地机器的用户名需要跟远程集群的用户名一致(在实验环境中,集群的用户名是hadoop,因此要在本地机器上创建一个hadoop用户)。

其次,要确保本地机器上的用户对hadoop执行文件和配置文件具备相应的权限(在实验环境中,hadoop用户需要对hadoop安装文件具有执行权限;需要对hadoop配置文件具备读权限;需要对作业的jar文件具备执行权限等)。

再次,本地机器的hadoop配置文件需要与集群的配置文件一致。在一般情况下直接将集群上的配置文件拷贝下来即可。

所有这些完成后使用下面命令进行作业的提交

hadoop --config 配置文件目录 jar 作业.jar 其他参数

注意:在本次作业提交实验过程中还发现一些问题,hadoop在通过配置文件进行启动的过程中已经知道HDFS是使用的何种文件系统。因此,在使用的过程中不需要在添加hdfs://namenode:port/。注意,如果添加了hdfs://namenode:port/一定要注意端口与配置文件的端口是不是一致。我们知道,在命令行中输入的参数具有较高的优先级。以下面的命令为例:

hadoop --config ~/conf  fs -ls  direcotry

其中directory是不需要以hdfs://namenode:port/开头的,因为hadoop会根据配置文件~/conf进行默认判断。如果directoryhdfs://namenode:port/作为开头,那么一定要注意port。如果你没有显示表明port,默认的port8020。在本次实验中,HDFS core-site设置的是hdfs://namenode:9001/,而我们在执行命令的时候输入的是hadoop --config ~/conf fs -ls hdfs://namenode/这样就导致了两者的端口不一致,从而造成了麻烦。

来自:http://blog.csdn.net/zuochanxiaoheshang/article/details/8062101
</span>

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1349965098150.html
Hadoop 分布式/云计算/大数据