首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Java -jar命令运行映射减少作业

如何使用Java -jar命令运行映射减少作业
EN

Stack Overflow用户
提问于 2014-08-14 06:37:19
回答 1查看 2K关注 0票数 5

我使用Java编写了一个Map reduce作业。集配置

代码语言:javascript
复制
                    Configuration configuration = new Configuration();

        configuration.set("fs.defaultFS", "hdfs://127.0.0.1:9000");
        configuration.set("mapreduce.job.tracker", "localhost:54311");

        configuration.set("mapreduce.framework.name", "yarn");
        configuration.set("yarn.resourcemanager.address", "localhost:8032");

使用不同的情况运行

案例1:“使用Hadoop和Yarn命令”:成功精细工作

案例2:“使用Eclipse”:成功的优秀作品

案例3:“删除所有的-jar ()之后使用configuration.set”:

代码语言:javascript
复制
                    Configuration configuration = new Configuration();

        Run successful but not display Job status on Yarn (default port number 8088)

案例4:“使用Java -jar”:错误

代码语言:javascript
复制
     Find stack trace:Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:82)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:75)
at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1255)
at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1251)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556)
at org.apache.hadoop.mapreduce.Job.connect(Job.java:1250)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1279)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303)
at com.my.cache.run.MyTool.run(MyTool.java:38)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at com.my.main.Main.main(Main.java:45)

我向您请求,请告诉我如何使用"Java -jar“命令运行map- port作业,并能够检查状态并登录到Yarn (默认端口8088)上。

为什么需要:想要创建一个web服务并提交一个map-还原作业。(不需要使用Java运行时库来执行Yarn或Hadoop命令)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-31 16:56:16

在我看来,没有hadoop命令就很难运行hadoop应用程序。最好使用hadoop而不是java -jar。

我认为您的机器中没有hadoop环境。首先,您必须确保hadoop在您的机器上运行良好。

就我个人而言,我更喜欢在mapred-site.xml、core-site.xml、yar-site.xml、hdfs-site.xml上设置配置。我知道一个在这里中安装hadoop集群的清晰教程。

在此步骤中,您可以在端口50070中监视hdfs,在端口8088中监视纱线集群,在端口19888中监视mapreduce作业历史。

然后,你应该证明你的hdfs环境和纱线环境运行良好。对于hdfs环境,您可以尝试使用简单的hdfs命令,如mkdir、copyToLocal、copyFromLocal等;对于纱线环境,可以尝试示例wordcount项目。

拥有hadoop环境之后,您可以创建自己的mapreduce应用程序(可以使用任何IDE)。您可能需要作为教程。编译它并将其放入jar中。

打开终端,运行以下命令

代码语言:javascript
复制
hadoop jar <path to jar> <arg1> <arg2> ... <arg n>

希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25301545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档