向hadoop集群提交作业的方法、设备和系统技术方案

技术编号:14585212 阅读:49 留言:0更新日期:2017-02-08 14:46
本发明专利技术公开了向hadoop集群提交作业的方法、设备和系统,所述方法包括:当IDE设备需要向处于不同网络环境中的hadoop集群提交作业时,通过与hadoop集群中的管理设备进行协作,打通与hadoop集群的网络环境,并将生成的作业提交给hadoop集群中运行所述作业的工作设备。应用本发明专利技术所述方案,能够提高作业提交的成功率等。

【技术实现步骤摘要】

本专利技术涉及网络技术,特别涉及向hadoop集群提交作业的方法、设备和系统
技术介绍
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。目前,调试hadoop是一个非常复杂的过程,需要经过编写、编译、打包等以提交作业、运行作业、查看作业运行结果等一系列步骤。其中,提交作业的方式可包括:通过集成开发环境(IDE,IntegratedDevolopmentEnvironment)工具提交作业的方式,以及,通过插件提交作业的方式等。以Eclipse为例,通过IDE工具提交作业的方式可包括以下步骤1)~4)。1)在本地环境中搭建一个hadoop集群,并启动另一种资源协调者(YARN,YetAnotherResourceNegotiator)、分布式文件系统(HDFS,HadoopDistributedFileSystem)等相关服务进程。2)在Eclipse上创建一个Java工程,并导入hadoop的应用程序编程接口(API,ApplicationProgrammingInterface),即hadoop安装文件lib目录下的Jar文件。3)编写作业程序,如编写一个WordCount作业,统计文件中单词出现的次数,并将其编译打包成Jar文件,放在Java工程下。4)编写一个Main方法,构建一个Job对象,设定HDFS、JobTracker、Jar文件等参数,然后运行这个Main方法,图1为现有Main方法的示意图。通过插件提交作业的方式与通过IDE工具提交作业的方式相类似,区别仅在于需要在Eclipse中安装一个hadoop插件,从而可以通过该hadoop插件自动地将作业编译打包成Jar文件,进而提交至hadoop集群,无需手动打包。但是,上述两种方式在实际应用中均会存在一定的问题,如:IDE工具和hadoop集群必须处于同一个网络环境中,如当hadoop集群处于虚拟私有云(VPC,VirtualPrivateCloud)子网中时,则无法通过上述两种方式来提交作业,从而降低了作业提交的成功率。
技术实现思路
本专利技术提供了向hadoop集群提交作业的方法、设备和系统,能够提高作业提交的成功率。具体技术方案如下:一种hadoop集群中的管理设备,包括:第一处理模块;所述第一处理模块,用于当集成开发环境IDE设备需要向处于不同网络环境中的hadoop集群提交作业时,通过与所述IDE设备进行协作,打通所述IDE设备和所述hadoop集群所处的网络环境,并将所述IDE设备提交的作业转发给所述hadoop集群中运行所述作业的工作设备。一种集成开发环境IDE设备,包括:IDE模块和第二处理模块;所述第二处理模块,用于当需要向处于不同网络环境中的hadoop集群提交作业时,通过与所述hadoop集群中的管理设备进行协作,打通所述IDE设备和所述hadoop集群的网络环境;所述IDE模块,用于将生成的作业提交给所述hadoop集群中运行所述作业的工作设备。一种向hadoop集群提交作业的系统,包括:如上所述的管理设备,以及,如上所述的IDE设备。一种向hadoop集群提交作业的方法,包括:当集成开发环境IDE设备需要向处于不同网络环境中的hadoop集群提交作业时,所述hadoop集群中的管理设备通过与所述IDE设备进行协作,打通所述IDE设备和所述hadoop集群所处的网络环境,并将所述IDE设备提交的作业转发给所述hadoop集群中运行所述作业的工作设备。一种向hadoop集群提交作业的方法,包括:当IDE设备需要向处于不同网络环境中的hadoop集群提交作业时,通过与所述hadoop集群中的管理设备进行协作,打通与所述hadoop集群的网络环境,并将生成的作业提交给所述hadoop集群中运行所述作业的工作设备。基于上述介绍可以看出,采用本专利技术所述方案,当IDE设备和hadoop集群处于不同的网络环境时,可打通二者的网络环境,并基于打通后的网络环境,通过IDE工具来向hadoop集群提交作业,从而克服了现有技术中当IDE设备和hadoop集群处于不同的网络环境时无法提交作业的问题,进而提高了作业提交的成功率。【附图说明】图1为现有Main方法的示意图。图2为本专利技术所述hadoop集群中的管理设备实施例的组成结构示意图。图3为本专利技术所述IDE设备与hadoop集群的网络分布示意图。图4为本专利技术所述IDE设备实施例的组成结构示意图。图5为本专利技术所述Main方法的示意图。图6为本专利技术所述WordCount作业的运行结果的示意图【具体实施方式】现有技术中,无法通过IDE工具向处于VPC子网中的hadoop集群提交作业,主要是因为它们处于不同的网络环境,因此,如果想要通过IDE工具来向处于VPC子网中的hadoop集群提交作业,则需要打通二者的网络环境,让IDE工具所在设备即IDE设备与hadoop集群处于同一局域网。为了使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案作进一步地详细说明。实施例一图2为本专利技术所述hadoop集群中的管理设备(master)实施例的组成结构示意图,如图2所示,包括:第一处理模块21。第一处理模块21,用于当IDE设备需要向处于不同网络环境中的hadoop集群提交作业时,通过与IDE设备进行协作,打通IDE设备和hadoop集群所处的网络环境,并将IDE设备提交的作业转发给hadoop集群中运行作业的工作设备(slave)。如前所述,hadoop集群可处于VPC子网中,打通后的网络环境可为虚拟专用网络(VPN,VirtualPrivateNetwork)子网,即利用VPN技术构建一个VPN子网,让IDE设备和hadoop集群处于同一个子网中。当然,以上均为举例说明,并不用于限制本专利技术的技术方案,如当hadoop集群处于其它子网中时,本专利技术所述方案同样适用,而且所构建的子网也不限于VPN子网,可根据实际需要而定。当hadoop集群处于VPC子网中、所构建的子网为VPN子网时,图3为本专利技术所述IDE设备与hadoop集群的网络分布示意图,如图3所示,其中涉及三个网络,分别为公网、VPN子网以及VPC子网。相应地,第一处理模块21中可包括:VPN服务端单元211和VPC处理单元212。VPN服务端单元211,用于通过公网地址与IDE设备中的VPN客户端单元建立连接,构建出一个VPN子网,并向VPN客户端单元返回VPC子网的网段地址以及VPN服务端单元211的VPN子网地址,以便VPN客户端单元构建以下路由:目的地址为VPC子网的网段地址的报文均发往VPN服务端单元211的VPN子网地址。VPN服务端单元211上设置有iptables规则,按照所述规则,将所有源地址为VPN子网的网段地址且目的地址为工作设备的VPC子网地址的报文,均发往VPC处理单元212。VPC处理单元212具有转发功能(IPforwarding),将接收自VPN服务端单元211的、IDE工具中的IDE模块通过VPN客户端单元提交的作业转发给hadoop集群中运行作业的工作设备。也就本文档来自技高网
...

【技术保护点】
一种hadoop集群中的管理设备,其特征在于,包括:第一处理模块;所述第一处理模块,用于当集成开发环境IDE设备需要向处于不同网络环境中的hadoop集群提交作业时,通过与所述IDE设备进行协作,打通所述IDE设备和所述hadoop集群所处的网络环境,并将所述IDE设备提交的作业转发给所述hadoop集群中运行所述作业的工作设备。

【技术特征摘要】
1.一种hadoop集群中的管理设备,其特征在于,包括:第一处理模块;所述第一处理模块,用于当集成开发环境IDE设备需要向处于不同网络环境中的hadoop集群提交作业时,通过与所述IDE设备进行协作,打通所述IDE设备和所述hadoop集群所处的网络环境,并将所述IDE设备提交的作业转发给所述hadoop集群中运行所述作业的工作设备。2.根据权利要求1所述的管理设备,其特征在于,所述hadoop集群处于虚拟私有云VPC子网中;所述打通后的网络环境包括:虚拟专用网络VPN子网。3.根据权利要求2所述的管理设备,其特征在于,所述第一处理模块中包括:VPN服务端单元和VPC处理单元;所述VPN服务端单元,用于通过公网地址与所述IDE设备中的VPN客户端单元建立连接,构建出一个VPN子网,并向所述VPN客户端单元返回所述VPC子网的网段地址以及所述VPN服务端单元的VPN子网地址,以便所述VPN客户端单元构建以下路由:目的地址为所述VPC子网的网段地址的报文均发往所述VPN服务端单元的VPN子网地址;所述VPN服务端单元上设置有iptables规则,按照所述规则,将所有源地址为所述VPN子网的网段地址且目的地址为所述工作设备的VPC子网地址的报文,均发往所述VPC处理单元;所述VPC处理单元具有转发功能,将接收自所述VPN服务端单元的、所述IDE工具中的IDE模块通过所述VPN客户端单元提交的作业,转发给所述hadoop集群中运行所述作业的工作设备。4.根据权利要求3所述的管理设备,其特征在于,所述管理设备中进一步包括:域名服务模块;所述域名服务模块,用于分别保存所述管理设备和所述工作设备的域名及对应的VPC子网地址;当接收到所述IDE模块通过所述VPN客户端单元和所述VPN服务端单元发送来的所述管理设备的域名时,将所述管理设备的域名对应的VPC子网地址返回给所述IDE模块;当接收到所述IDE模块通过所述VPN客户端单元和所述VPN服务端单元发送来的运行所述作业的工作设备的域名时,将运行所述作业的工作设备的域名对应的VPC子网地址返回给所述IDE模块;所述VPN服务端单元进一步用于,将源地址为所述VPN子网的网段地址且目的地址为所述管理设备的VPC子网地址的报文,发往所述VPC处理单元;所述VPC处理单元进一步用于,当接收到所述IDE模块通过所述VPN客户端单元和所述VPN服务端单元发送来的所述作业的参数信息时,通过对所述作业的参数信息进行分析,确定出运行所述作业的工作设备,并将运行所述作业的工作设备的域名返回给所述IDE模块。5.一种集成开发环境IDE设备,其特征在于,包括:IDE模块和第二处理模块;所述第二处理模块,用于当需要向处于不同网络环境中的hadoop集群提交作业时,通过与所述hadoop集群中的管理设备进行协作,打通所述IDE设备和所述hadoop集群的网络环境;所述IDE模块,用于将生成的作业提交给所述hadoop集群中运行所述作业的工作设备。6.根据权利要求5所述的IDE设备,其特征在于,所述hadoop集群处于虚拟私有云VPC子网中;所述打通后的网络环境包括:虚拟专用网络VPN子网。7.根据权利要求6所述的IDE设备,其特征在于,所述第二处理模块中包括:VPN客户端单元;所述VPN客户端单元,用于通过公网地址与所述管理设备中的VPN服务端单元建立连接,构建出一个VPN子网,并根据所述VPN服务端单元返回的所述VPC子网的网段地址以及所述VPN服务端单元的VPN子网地址构建以下路由:目的地址为所述VPC子网的网段地址的报文均发往所述VPN服务端单元的VPN子网地址;其中,所述VPN服务端单元上设置有iptables规则,按照所述规则,将所有源地址为所述VPN子网的网段地址且目的地址为所述工作设备的VPC子网地址的报文,均发往所述管理设备中的VPC处理单元,所述VPC处理单元具有转发功能,将接收自所述VPN服务端单元的、所述I...

【专利技术属性】
技术研发人员:肖远昊周恺王倩王家兴张发恩
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1