Intellij IDEA远程向hadoop集群提交mapreduce作业

4 篇文章 0 订阅
4 篇文章 0 订阅

1.准备一份写好的mapreduce代码

2.本地添加yarn-site.xml

hadoop001改为你对应的集群hostname

<?xml version="1.0"?>
<configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop001</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

3.本地添加mapred-site.xml

hadoop001改为你对应的集群hostname

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop001:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop001:19888</value>
    </property>
    <property>
        <name>mapred.remote.os</name>
        <value>Linux</value>
    </property>
    <!-- 
    	Windows必须写这一条
    	解决/bin/bash: line 0: fg: no job control的错误
     -->
    <property>
        <name>mapreduce.app-submission.cross-platform</name>
        <value>true</value>
    </property>
</configuration>

4.修改job.setJarByClass为job.setJar

设置此项可解决Class WordCount$XXXMapper not found错误。

//      job.setJarByClass(WordCountApp.class);
        job.setJar("target/hadoop-learn-1.0-SNAPSHOT.jar");

先通过mvn package将项目打包成jar,然后再将Jar对应的路径填写到这里。如果路径错误或者用成了setJarByClass会报ClassNotFound错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值