IntelliJ IDEA中编写mapreduce程序上传至远程Hadoop集群运行

1 篇文章 0 订阅
1 篇文章 0 订阅

IntelliJ IDEA中编写mapreduce程序上传至远程Hadoop集群运行

本文主要讲怎么将 m a p r e d u c e mapreduce mapreduce程序打包成 j a r jar jar包并上传远程 H a d o o p Hadoop Hadoop集群运行,所以不讨论如何编写 m a p r e d u c e mapreduce mapreduce程序以及如何搭建 H a d o o p Hadoop Hadoop集群。然后虽然我这里实在 m a c O S macOS macOS系统下演示的,其实 w i n d o w s windows windows系统一样适用。

  • 先来看一下打包前的项目结构 ( i n p u t (input (input里面是存的要处理的数据 ) ) )

在这里插入图片描述

  • 右键项目选择 O p e n   M o d u l e   S e t t i n g Open\ Module\ Setting Open Module Setting

    在这里插入图片描述

  • 选择 A r t i f a c t s   →   +   → J A R → F r o m   m o d u l e s   w i t h   d e p e n d e n c i e s Artifacts\ \rightarrow\ +\ \rightarrow JAR \rightarrow From\ modules\ with\ dependencies Artifacts  + JARFrom modules with dependencies

    在这里插入图片描述

  • 选择主类

    先选择你这个项目的主类
    在这里插入图片描述

      然后把这里的路径改成项目位置的一级目录下面,如下图所示:
    

在这里插入图片描述

  • 点击 A p p l y Apply Apply
    在这里插入图片描述
  • 选择 B u i l d   →   B u i l d   A r t i f a c t s Build\ \rightarrow\ Build\ Artifacts Build  Build Artifacts

在这里插入图片描述

  • 选择 B u i l d Build Build

在这里插入图片描述

  • 可以看到 j a r jar jar包已经生成
    上述操作之后会发现项目下面多了两个文件夹,一个是 M E T A − I N F META-INF METAINF (这个不用管他),另一个是 o u t out out文件夹,在里面有你要的 j a r jar jar
    在这里插入图片描述
  • 在终端或者 c m d cmd cmd里面 s s h ssh ssh到你的远程虚拟机
    在这里插入图片描述
  • 然后上传刚才生成的 j a r jar jar
    我这里直接放在了 H o m e Home Home下面,也就是上图中的红色文件(我是提前传上去了)
  • 运行之前要检查你的 H a d o o p Hadoop Hadoop集群是否正确运行
    这里根据你的集群是伪分布模式还是完全分布式集群,使用 j p s jps jps命令查看所有必须的进程是否已经启动(有哪些进程与你搭建集群时的配置有关系)
  • 然后将你的数据上传至 h d f s hdfs hdfs
    你可以先将数据从本地上传到虚拟机上,然后使用一下命令上传到 h d f s hdfs hdfs:
    hdfs dfs -put 虚拟机本地jar包存储完整路径 hdfs文件系统存储的路径
    
  • 最后测试啦
    命令如下所示(以我的例子为例):
    [hadoop@CQU-Hadoop-052 ~]$ hadoop jar PlayerCount.jar /wzw/input /wzw/output
    
    注意这里运行之前 / w z w /wzw /wzw下面只有一个 i n p u t input input文件夹, o u t p u t output output文件夹是没有的且不能有的。所以运行之前最好检查一下是否有这个目录,不然会报错。下面是运行结果
    在这里插入图片描述
    在这里插入图片描述
    可以看到运行成功了
    在这里插入图片描述
    浏览器进入配置 r e s o u r c e m a n a g e r resourcemanager resourcemanager的节点的 8088 8088 8088端口(好像这个是默认的,如果修改了的话可能不是这个,如果忘记了的话可以翻一下你的那几个 x m l xml xml配置文件)也可以看到刚才提交的 j o b job job S U C C E E D E D SUCCEEDED SUCCEEDED状态
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值