专栏首页Hadoop实操如何使用java命令从非集群节点向CDH集群提交MapReduce作业

如何使用java命令从非集群节点向CDH集群提交MapReduce作业

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.文档编写目的


在前面文章Fayson讲过《如何使用hadoop命令向CDH集群提交MapReduce作业》和《如何跨平台在本地开发环境提交MapReduce作业到CDH集群》,但有些用户需要在非CDH集群的节点提交作业,这里实现方式有多种一种是将该节点加入CDH集群管理并部署GateWay角色,可以参考Fayson前面的文章《如何给CDH集群增加Gateway节点》,还有一种方式就是使用java命令向CDH集群提交MR作业。本篇文章主要讲述如何使用java命令向CDH集群提交MapReduce作业

  • 内容概述

1.环境准备

2.Kerberos环境和非Kerberos集群

  • 测试环境

1.Kerberos集群CDH5.11.2,OS为Redhat7.2

2.非Kerberos集群CDH5.13,OS为CentOS6.5

  • 前置条件

1.CDH集群运行正常

2.提交作业的节点与集群网络互通且端口放通

3.你已知道如何下载CDH集群的conf文件以及生成keytab,并知道在代码中如何引用,否则请仔细阅读《如何使用hadoop命令向CDH集群提交MapReduce作业》和《如何跨平台在本地开发环境提交MapReduce作业到CDH集群》

2.编译打包MapReduce作业


这里的示例代码就不再贴出来了,具体可以看Fayson GitHub上面的demo,将demo示例中的配置做相应的修改打包即可。

1.使用Maven命令进行编译打包,该命令运行需要在工程所在目录下运行

cd /Volumes/Transcend/work/cdhproject
mvn clean package

2.编译成功后,在工程的target目录下可以看到mr-demo-1.0-SNAPSHOT.jar包

3.使用mvn命令将工程的依赖包导出

mvn dependency:copy-dependencies -DoutputDirectory=/Users/fayson/Desktop/lib

3.运行脚本说明


1.脚本目录结构

2.run.sh脚本说明

#!/bin/bash
JAVA_HOME=/usr/java/jdk1.8.0_131-cloudera
for file in `ls lib/*jar`
do
    CLASSPATH=$CLASSPATH:$file
done
export CLASSPATH
${JAVA_HOME}/bin/java com.cloudera.mr.KBMRTest

脚本需要注意的是JAVA的环境配置及指定MapReduce作业的类

3.lib目录依赖包

此处将mvn命令导出的依赖包和工程编译好的jar包放在lib目录下。

4.kb-yarn-conf目录

Kerberos环境下CDH集群Yarn的配置、Keytab文件及集群的krb5.conf配置文件。配置文件的获取可以参考Fayson前面的文章《如何使用hadoop命令向CDH集群提交MapReduce作业》

5.nonekb-yarn-conf目录,此目录用于存放非Kerberos环境的配置

4.非Kerberos集群提交作业


这里由于测试集群数量有限,所以在Kerberos集群向非Kerberos集群提交作业

1.在命令行向非Kerberos集群提交作业

[ec2-user@ip-172-31-22-86 mrdemo]$ sh run_nonekb.sh

2.在Yarn界面查看作业运行成功

3.查看HDFS输出数据

5.Kerberos集群提交作业


这里我们将脚本上传至非Kerberos集群下,向Kerberos集群提交MR作业。

1.执行run.sh脚本向Kerberos集群提交作业

2.查看Yarn界面作业运行成功

3.查看HDFS输出的结果

6.总结


这里需要注意的是我们使用java命令向集群提交MapReduce作业,在我们的代码中需要加载CDH集群的配置信息(如core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml),提交作业的节点必须和CDH集群网络是通的。

GitHub源码地址:

https://github.com/javaxsky/cdhproject

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何部署active-active的Hadoop集群

    Fayson
  • 如何修改CDH集群的DataNoe节点HOSTNAME

    在使用CDH集群的过程中,会涉及到修改集群DataNode的HOSTNAME,在修改HOSTSNAME的时候需要注意什么,如何让新修改HOSTSNAME的CDH...

    Fayson
  • 如何修改CDH集群的IP地址

    在CDH集群中使用多个IP地址来管理集群,独立的集群内网和管理网段,管理网段与外部应用网络通但不与内网通。在部署集群是由于错将管理网段作为集群的内网,所以这里需...

    Fayson
  • 容灾与集群(1)

    在上一篇:微软分布式云计算框架Orleans(1):Hello World,我们大概了解了Orleans如何运用,当然上一篇的例子可以说是简单且无效的,...

    逸鹏
  • 使用QT创建系统托盘

    使用QT来创建一个系统托盘,事实上是一件很简单的事。为什么这么说?一是因为QT文档给出了比较详细的例子,二是QT的结构比较优雅,设计风格统一。但是在动手之前,我...

    24K纯开源
  • HoughCircle找圆总结——opencv

    Opencv内部提供了一个基于Hough变换理论的找圆算法,HoughCircle与一般的拟合圆算法比起来,各有优势:优势:HoughCircle对噪声点不怎么...

    vv彭
  • AI跟Bob Ross学画画,杂乱色块秒变风景油画 | PyTorch教程+代码

    王新民 编译整理 量子位 出品 | 公众号 QbitAI 正在研究机器学习的全栈码农Dendrick Tan在博客上发布了一份教程+代码:用PyTorch实现将...

    量子位
  • CCF考试——201709-1打酱油

      小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。

    AI那点小事
  • struts 结果类型

    github https://github.com/apache/freemarker

    mySoul
  • 基于bmob快速搭建小程序用户模块

    客户端调用wx.login()后获取的code,后端人员拿到code和微信换取openid和session_key;

    疯狂的小程序

扫码关注云+社区

领取腾讯云代金券