一种基于模板的大数据组件web部署方法

xiaoxiao2021-3-1  188

一种基于模板的大数据组件web部署方法
【技术领域】
[0001]本发明属于大数据组件应用领域,特别是采用基于模板化安装结构,WEB跨系统平台操作,可视化监控进程技术,方便快捷地实现同时在多个节点上安装部署多个组件,目前包括Hadoop,HBase,Hive,Kafka和Zookeeper5个组件,目的简化开发人员的安装手续,为后期实现大数组作业提供基础环境。
【背景技术】
[0002]Hadoop是一个开源的高效云计算基础架构平台,其不仅仅在云计算领域用途广泛,还可以支撑搜索引擎服务,作为搜索引擎底层的基础架构系统,同时在海量数据处理、数据挖掘、机器学习、科学计算等领域都越来越受到青睐。近两年尤其是今年国内外采用MapReduce模型的应用也逐渐丰富起来,如像NTT KDDI和中国移动这类的电信公司采用该模型分析用户信息,优化网络配置;美国供电局采用该模型来分析电网现状;包括VISA和JP摩根在内的金融公司采用该模型来分析股票数据;包括Amazon和ebay在内的零售商和电子商务公司也开始采用该模型;甚至部分生物公司也采用该模型来进行DNA测序和分析[1]。
[0003]然而Hadoop安装、部署、管理的难度非常大,这使用很多用户对Hadoop望而却步,目前除了手动安装官网版本外,应用最广泛的就是Cloudera提供的Hadoop发布版本,这个版本是简化后的Hadoop,虽然在配置上比原版的要省去一些步骤,但还是存在需要手动设置SSH,更改Hadoop核心配置,而且需要在Linux系统中手动输入命令操作等问题。
[0004]这样一系列的操作一是比较耗时耗力,二是容易出错,为了有效解决这一问题,实现快速高效地部署和管理大规模的集群计算节点,本发明设计了基于模板的WEB跨平台操作方法,可实现模板化自动安装Hadoop组件,除此之外,还可选择一并安装其他组件,如HBase,HiVe等,若后期如需增加新的组件,只需要增加新组建的安装脚本,在应用模板中进行调用即可,无需编写新的安装程序,方便扩展。
[0005][l]http://blog.csdn.net/yangjl38/article/details/7620955

【发明内容】

[0006]本发明的目的是:提供一种通过WEB界面快速准确安装Hadoop,HBase,Hive等组件的方法,并且方便后期增加其他新的组件,为运行大数据作业提供基础环境。
[0007]本发明的思想是:解析模板,获取信息,安装组件。
[0008]1)解析模板:通过入口找到相应的应用模板和组件模板,解析其中的组件实例和依赖关系,并将解析出来的信息存放到内存中;
[0009]2)获取信息:主要对获取的Input信息进行初始化。有三种信息来源,一为后台固定的信息,如HAD00P_H0ME,安装路径等;二为按Java内部规则和算法自动分配的信息,例如规定前5台机器安装HBase,安装Zookeeper需奇数个节点等;三为页面能够输入的信息,如安装地址,数据库的名称和地址等。
[0010]3)安装组件:通过前两步获得的信息调用相应shell脚本进行组件安装。[0011 ] 一种基于模板的大数据组件WEB部署系统,该系统由四个模块组成,分别是WEB模块、管理模块、模板模块以及脚本模块。这四个模块主要被分成两个部分,一个是WEB端,WEB端包括WEB模块和管理模块,另一个是服务器端,服务器端包括模板模块和脚本模块。系统程序采用JSCH方法成功连接WEB端和服务器端,并通过Servlet进行前后台交互和信息反馈。
[0012]整体系统流程如下:服务器启动tomcat后,本地浏览器即通过登录服务器地址成功连接到服务器,此时页面进入WEB模块,WEB模块中需要输入和选择相关信息,这些信息通过服务器中主体程序的写入模板方法连接到模板模块,按照信息中具体的内容读写对应的模板,之后,模板模块会根据操作需求和依赖关系分别调用脚本模块中的check脚本和instil脚本执行相应功能,执行后的结果会通过服务器反馈到WEB模块,WEB模块将这些反馈信息整合存入到管理模块中,方便日后管理和操作。系统传输顺序为服务器端-WEB端-WEB模块-服务器端-应用模块-脚本模块-服务器端-WEB模块-管理模块
[0013]各模块介绍如下:
[0014]WEB模块主要是用来在WEB界面进行信息输入和选择功能,包括6部分,也就是安装过程的6个页面,每个页面都包括一个内容,分别是添加主机,环境检测,选择组件,配置参数,安装组件和验证报告。
[0015]管理模块有两个功能,一个是方便查看已安装组件的详细信息,包括安装日志和安装结果,还有一个是用来监控各组件的运行状态和进行相应启停操作。
[0016]模板模块的功能就是相当于一个中介,同时存放了WEB信息和各组件信息,并通过将WEB信息进行整合后,依次调用脚本模块中的脚本,执行相应功能。
[0017]脚本模块主要是用来存放环境检测的检测脚本和各组件的安装脚本,模板模块会根据相应功能需求调用对应的脚本执行,完成对应的功能。
[0018]一种基于模板的大数据组件WEB部署方法,本方法的核心是应用模板和组件模板。
[0019]该方法用到的模板包括两种类型,一种是应用模板,主要用于保存全局信息:脚本存放路径,需要安装安装的具体的组件实例和安装顺序信息;第二种是组件模板,主要用于存放具体组件的版本号,依赖关系,输入参数以及具体的安装步骤。
[0020]1)应用模板可包含多个组件实例,包括脚本存放路径、集群用户名和密码、所需安装组件名称、端口号以及组件的安装顺序。图1所示为部分应用模板。
[0021]2)组件模板包含一个组件的配置及安装步骤全局信息:组件名称、版本号、输入参数以及该组件与其他组件的依赖关系。图2所示为部分组件模板。
[0022]S1将模板模块和脚本模块以及主体程序打成war包上传至服务器,部署到tomcat中,然后启动tomcat,并将应用模板Input中的srcPath参数更改为当前服务器存放此war包的位置。
[0023]S2通过本地浏览器访问地址http: //hostIP: 8080//Hadooplnstaller即进入到web安装页面,进行六步安装步骤。
[0024]S3通过JSCH方法将windows平台与服务器进行安全连接。
[0025]S3.1加主机时,需要在页面输入安装组件的集群IP地址以及用户名和密码,页面首先会对输入的IP进行格式检查,并使用此用户名和密码登录到服务器验证是否正确,若登录进去,则会将信息保存到应用模板Input方法中的IP,userName,password参数中,同时将反馈给页面一个对号信息,即可点击下一步。
[0026]S3.2环境检测包括检测各IP下的CPU,内存,硬盘容量,jdk是否安装,防火墙是否关闭,节点之间是否可以互信内容。这时应用模板接到web发来的检测命令,则会触发其下Check方法调用脚本模块中checkshe 11下面的checkinf 0.sh脚本,便会在服务器进行检测,检测结果将以对号和错号的图案形式返回到web界面中,对于不符合要求的结果,对其进行修复,修复命令调用的是checkshe 11下面的instal 1 Jdk.sh,和f ixSupport.sh脚本执行相应的修复功能。
[0027]S3.3选择组件是在页面进行勾选需要安装的组件名称,因本系统内含五个组件,所以用户能够根据需要进行选择安装。在选择好后,服务器端接到所需安装的组件名称后,将触发应用模板的Control方法,进行选择组件过程,并据此依次调用脚本模块中installshell下面的各组件安装脚本进行依赖关系判断,根据依赖关系决定安装的先后顺序,并将此顺序保存到应用模板中。
[0028]S3.4配置参数主要是针对有些组件安装过程中需要手动设置一些参数,比如Hadoop中NameNode和DataNode的节点选取,Zookeeper需要有奇数个节点安装等要求,这些设置在页面输入后即可通过应用模板保存到组件模板中各个组件下的Input方法中。
[0029]S3.5组件安装过程就是依赖之前应用模板中存储好的安装顺序,进到组件模板中找到相应的参数配置,结合这两个模板中的信息,依次调用脚本模块中installshell下面的各组件安装脚本,进行有序安装。安装过程中,页面会一直返回安装日志,详细记录每一步的进展。installshell主要是各个待安装组件的安装脚本,每个脚本都包括安装的版本信息,依赖关系,以及安装的具体步骤。包含的脚本有installHadoop.sh,installHBase.sh, installHive.sh, installKafka.sh, instalIZookeeper.sh,若后期需要增加新的组件,即在installshell里面增加新组件的脚本,在组件模板中写入需要参数信息和条件,并在应用模板中添加调用该脚本的方法即可。
[°03°]安装结束后,服务器会首先通过脚本模块中的verify.sh脚本进行安装验证,待各节点上返回正确的进程信息后,则会以对号的形式反馈给页面,安装报告页面会显示已安装组件名称,安装时间,安装地点以及安装状态信息。
[0031 ]安装日志和报告会被存储到服务器的数据库中,在管理模块的安装日志中可进行翻阅查看,除此之外,管理模块还提供了监控各组件运行状态的页面,能实时监控各组件的状态,及时发现进程宕掉的问题,并提供操作界面,进行启停某个作业,启停某个进程,甚至能够选择重新安装某个组件。
【附图说明】
[0032]图1应用模板部分截图。
[0033]图2组件模板部分截图。
[0034]图3模块结构示意图。
[0035]图4安装流程图。
【具体实施方式】
[0036]将打包好的Hadoop Instal ler程序(包含编写好的组件模板脚本),部署到tomcat中,然后启动tomcat,通过本地浏览器访问地址http://hostIP:8080//Hadooplnstaller即进入到安装页面,安装流程包括6个步骤,分别是添加主机、检测主机环境、选择可选组件、参数配置、安装部署和安装报告。图4所示为安装流程图。
[0037]1.添加主机:输入所要添加的主机的IP地址和账户信息,页面将会动态检验所输入的信息格式是否正确(避免重复),如果不符合要求,提示重新输入;如果符合要求,再输入主机的用户名及密码,信息将保存到sess1n中去。为后面读取做准备。
[0038]2 .检测主机环境:从sess1n中取出主机的相关信息,获取到用户名和密码后,在服务器中登录到各节点,执行check脚本命令,将依次检测主机的连通性,主机cpu、内存信息;最后检测各个主机的相关服务是否支持,不支持的给予修复。
[0039]3.选择可选组件:组件包括必选组件和可选组件两部分内容。其中必选组件是默认必须安装的,不可由用户自行更改;而可选组件则是由用户依据需要进行选择。在该页面将会调用组件模板脚本信息,并通过JS0N的形式保存到内存中,然后选择所要安装的组件信息保存到Sess1n中。必选组件包括Hadoop、Hbase两个组件;可选组件目前有Hive、Kafka、Zookeeper 三个组件。
[0040]4.参数配置:根据组件模板的输入参数,以及解析的页面input信息,动态生成参数配置页面,用户可在该页面输入数据库名称,或者改变端口号等参数,完成配置。
[0041]5.安装部署:从sess1n中取出要安装的组件的信息,然后复制需要安装的组件包到默认安装目录,复制完成后,根据各组件依赖关系,先后开始安装可选组件和必选组件,在安装过程中进度条可显示出安装的进度,并在提示框中打印出安装的详细日志。
[0042]6.安装报告:安装完成后,检验是否安装成功,并给出验证报告,报告内容包括已成功安装某个组件,或安装某个组件失败,安装时间和安装路径等信息。
[0043]并在服务器端成功启动已安装组件的相应进程。
【主权项】
1.一种基于模板的大数据组件WEB部署系统,其特征在于:该系统由四个模块组成,分别是WEB模块、管理模块、模板模块以及脚本模块;这四个模块主要被分成两个部分,一个是WEB端,WEB端包括WEB模块和管理模块,另一个是服务器端,服务器端包括模板模块和脚本模块;系统程序采用JSCH方法成功连接WEB端和服务器端,并通过Servlet进行前后台交互和信息反馈; 整体系统流程如下:服务器启动tomcat后,本地浏览器即通过登录服务器地址成功连接到服务器,此时页面进入WEB模块,WEB模块中需要输入和选择相关信息,这些信息通过服务器中主体程序的写入模板方法连接到模板模块,按照信息中具体的内容读写对应的模板,之后,模板模块会根据操作需求和依赖关系分别调用脚本模块中的check脚本和instil脚本执行相应功能,执行后的结果会通过服务器反馈到WEB模块,WEB模块将这些反馈信息整合存入到管理模块中,方便日后管理和操作;系统传输顺序为服务器端-WEB端-WEB模块-服务器端-应用模块-脚本模块-服务器端-WEB模块-管理模块。2.根据权利要求1所述的一种基于模板的大数据组件WEB部署系统,其特征在于:各模块介绍如下: WEB模块主要是用来在WEB界面进行信息输入和选择功能,包括6部分,也就是安装过程的6个页面,每个页面都包括一个内容,分别是添加主机,环境检测,选择组件,配置参数,安装组件和验证报告; 管理模块有两个功能,一个是方便查看已安装组件的详细信息,包括安装日志和安装结果,还有一个是用来监控各组件的运行状态和进行相应启停操作; 模板模块的功能就是相当于一个中介,同时存放了WEB信息和各组件信息,并通过将WEB信息进行整合后,依次调用脚本模块中的脚本,执行相应功能; 脚本模块主要是用来存放环境检测的检测脚本和各组件的安装脚本,模板模块会根据相应功能需求调用对应的脚本执行,完成对应的功能。3.—种基于模板的大数据组件WEB部署方法,其特征在于:本方法的核心是应用模板和组件模板; 该方法用到的模板包括两种类型,一种是应用模板,主要用于保存全局信息:脚本存放路径,需要安装安装的具体的组件实例和安装顺序信息;第二种是组件模板,主要用于存放具体组件的版本号,依赖关系,输入参数以及具体的安装步骤; 1)应用模板可包含多个组件实例,包括脚本存放路径、集群用户名和密码、所需安装组件名称、端口号以及组件的安装顺序; 2)组件模板包含一个组件的配置及安装步骤全局信息:组件名称、版本号、输入参数以及该组件与其他组件的依赖关系; S1将模板模块和脚本模块以及主体程序打成war包上传至服务器,部署到tomcat中,然后启动tomcat,并将应用模板Input中的srcPath参数更改为当前服务器存放此war包的位置; S2通过本地浏览器访问地址http: //host IP: 8080//Hadooplnstal ler即进入到web安装页面,进行六步安装步骤; S3通过J SCH方法将windows平台与服务器进行安全连接; S3.1加主机时,需要在页面输入安装组件的集群IP地址以及用户名和密码,页面首先会对输入的IP进行格式检查,并使用此用户名和密码登录到服务器验证是否正确,若登录进去,贝会将信息保存到应用模板Input方法中的IP,userName,password参数中,同时将反馈给页面一个对号信息,即可点击下一步; S3.2环境检测包括检测各IP下的CPU,内存,硬盘容量,jdk是否安装,防火墙是否关闭,节点之间是否可以互信内容;这时应用模板接到web发来的检测命令,则会触发其下Check方法调用脚本模块中checkshell下面的checkinf0.sh脚本,便会在服务器进行检测,检测结果将以对号和错号的图案形式返回到web界面中,对于不符合要求的结果,对其进行修复,修复命令调用的是checkshell下面的instal 1 Jdk.sh,和fixSupport.sh脚本执行相应的修复功能; S3.3选择组件是在页面进行勾选需要安装的组件名称,因本系统内含五个组件,所以用户能够根据需要进行选择安装;在选择好后,服务器端接到所需安装的组件名称后,将触发应用模板的Control方法,进行选择组件过程,并据此依次调用脚本模块中installshell下面的各组件安装脚本进行依赖关系判断,根据依赖关系决定安装的先后顺序,并将此顺序保存到应用模板中; S3.4配置参数主要是针对有些组件安装过程中需要手动设置一些参数,比如Hadoop中NameNode和DataNode的节点选取,Zookeeper需要有奇数个节点安装等要求,这些设置在页面输入后即可通过应用模板保存到组件模板中各个组件下的Input方法中; S3.5组件安装过程就是依赖之前应用模板中存储好的安装顺序,进到组件模板中找到相应的参数配置,结合这两个模板中的信息,依次调用脚本模块中installshell下面的各组件安装脚本,进行有序安装;安装过程中,页面会一直返回安装日志,详细记录每一步的进展;installshell主要是各个待安装组件的安装脚本,每个脚本都包括安装的版本信息,依赖关系,以及安装的具体步骤;包含的脚本有installHadoop.sh, installHBase.sh,installHive.sh, installKafka.sh, ins tall Zookeeper.sh,若后期需要增加新的组件,即在installshell里面增加新组件的脚本,在组件模板中写入需要参数信息和条件,并在应用模板中添加调用该脚本的方法即可; 安装结束后,服务器会首先通过脚本模块中的verify.sh脚本进行安装验证,待各节点上返回正确的进程信息后,则会以对号的形式反馈给页面,安装报告页面会显示已安装组件名称,安装时间,安装地点以及安装状态信息; 安装日志和报告会被存储到服务器的数据库中,在管理模块的安装日志中可进行翻阅查看,除此之外,管理模块还提供了监控各组件运行状态的页面,能实时监控各组件的状态,及时发现进程宕掉的问题,并提供操作界面,进行启停某个作业,启停某个进程,甚至能够选择重新安装某个组件。4.根据权利要求3所述的一种基于模板的大数据组件WEB部署方法,其特征在于:将打包好的Hadooplnstal ler程序,部署到tomcat中,然后启动tomcat,通过本地浏览器访问地址http: //host IP: 8080//Hadooplnstal ler即进入到安装页面,安装流程包括6个步骤,分别是添加主机、检测主机环境、选择可选组件、参数配置、安装部署和安装报告; 1)添加主机:输入所要添加的主机的IP地址和账户信息,页面将会动态检验所输入的信息格式是否正确,如果不符合要求,提示重新输入;如果符合要求,再输入主机的用户名及密码,信息将保存到sess1n中去;为后面读取做准备; 2)检测主机环境:从sess1n中取出主机的相关信息,获取到用户名和密码后,在服务器中登录到各节点,执行check脚本命令,将依次检测主机的连通性,主机cpu、内存信息;最后检测各个主机的相关服务是否支持,不支持的给予修复; 3)选择可选组件:组件包括必选组件和可选组件两部分内容;其中必选组件是默认必须安装的,不可由用户自行更改;而可选组件则是由用户依据需要进行选择;在该页面将会调用组件模板脚本信息,并通过JS0N的形式保存到内存中,然后选择所要安装的组件信息保存到Sess1n中;必选组件包括Hadoop、Hbase两个组件;可选组件目前有Hive、Kafka、Zookeeper三个组件; 4)参数配置:根据组件模板的输入参数,以及解析的页面input信息,动态生成参数配置页面,用户可在该页面输入数据库名称,或者改变端口号参数,完成配置; 5)安装部署:从sess1n中取出要安装的组件的信息,然后复制需要安装的组件包到默认安装目录,复制完成后,根据各组件依赖关系,先后开始安装可选组件和必选组件,在安装过程中进度条可显示出安装的进度,并在提示框中打印出安装的详细日志; 6)安装报告:安装完成后,检验是否安装成功,并给出验证报告,报告内容包括已成功安装某个组件,或安装某个组件失败,安装时间和安装路径信息; 并在服务器端成功启动已安装组件的相应进程。
【专利摘要】一种基于模板的大数据组件WEB部署方法,本发明的思想是:解析模板,获取信息,安装组件。1)解析模板:通过入口找到相应的应用模板和组件模板;2)获取信息:主要对获取的Input信息进行初始化。有三种信息来源,一为后台固定的信息;二为按Java内部规则和算法自动分配的信息;三为页面能够输入的信息。3)安装组件:通过前两步获得的信息调用相应shell脚本进行组件安装。本发明属于大数据组件应用领域,特别是采用基于模板化安装结构,WEB跨系统平台操作,可视化监控进程技术,方便快捷地实现同时在多个节点上安装部署多个组件,简化开发人员的安装手续,为后期实现大数组作业提供基础环境。
【IPC分类】G06F9/44, G06F11/32
【公开号】CN105487859
【申请号】CN201510830879
【发明人】郑楠, 张新峰
【申请人】北京工业大学
【公开日】2016年4月13日
【申请日】2015年11月25日

最新回复(0)