CN117938958A - 处理数据的方法、装置、设备和计算机可读介质 - Google Patents
处理数据的方法、装置、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN117938958A CN117938958A CN202410039583.2A CN202410039583A CN117938958A CN 117938958 A CN117938958 A CN 117938958A CN 202410039583 A CN202410039583 A CN 202410039583A CN 117938958 A CN117938958 A CN 117938958A
- Authority
- CN
- China
- Prior art keywords
- task
- server
- node
- component
- hadoop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012545 processing Methods 0.000 title claims abstract description 73
- 238000009434 installation Methods 0.000 claims abstract description 58
- 238000013515 script Methods 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims abstract description 37
- 230000001419 dependent effect Effects 0.000 claims description 92
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 51
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了处理数据的方法、装置、设备和计算机可读介质,涉及大数据技术领域。该方法的一具体实施方式包括:解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点;将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。该实施方式在集群搬迁中无需业务停机配置,降低对正常的业务处理的影响。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种处理数据的方法、装置、设备和计算机可读介质。
背景技术
目前,Hadoop主要基于Hadoop分布式文件系统(Hadoop Distributed FileSystem,HDFS)进行海量数据分布式存储、并行计算资源的资源调度、以及并行计算框架进行分布式计算。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:通过数据搬迁而实现异构操作系统替换,虽然从整体上确实能够简化集群管理成本,但是由于集群搬迁中,需要业务进行停机配合,影响正常的业务数据处理。
发明内容
有鉴于此,本发明实施例提供一种处理数据的方法、装置、设备和计算机可读介质,在集群搬迁中无需业务停机配置,降低对正常的业务处理的影响。
为实现上述目的,根据本发明实施例的一个方面,提供了一种处理数据的方法,包括:
解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;
将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;
所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。
所述解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件,包括:
解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本;
按照所述操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件和启停组件。
所述按照所述操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件和启停组件,包括:
依据自动化运维工具或封装组合后的命令建立所述Hadoop组件安装脚本,以按照所述操作系统版本采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件;
封装服务器部署组件的启动命令、服务器部署组件停止命令和服务器部署组件重启命令以得到所述启停组件,在所述Hadoop集群的服务器中安装所述启停组件,以控制所述服务器部署组件。
所述按照所述操作系统版本采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件,包括
按照所述操作系统版本和服务器部署组件匹配得到服务器部署组件的软件包,采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装所述软件包以实现服务器部署组件的安装。
所述将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,包括:
将作业任务通过集群调度器下发至Hadoop集群中的管理节点中;
所述管理节点按照下属任务节点的资源使用率,将所述作业任务发送至任务节点。
所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据,包括:
任务节点解析所述作业任务得到依赖软件包的标识;
基于所述依赖软件包的标识确定所述依赖软件包存在集群数据库中,则通过管理节点引用所述依赖软件包,任务节点利用所述服务器部署组件调用依赖软件包处理所述作业任务的数据;
基于所述依赖软件包的标识确定所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件调用所述依赖软件包处理所述作业任务中的数据。
所述集群数据库用于存储操作系统版本对应的软件包。
根据本发明实施例的第二方面,提供了一种处理数据的装置,包括:
组件模块,用于解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;
任务模块,用于将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;
处理模块,用于所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。
根据本发明实施例的第三方面,提供了一种处理数据的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
根据本发明实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的如上述的方法。
上述发明中的一个实施例具有如下优点或有益效果:解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。将不同操作系统版本的作业任务,分配至对应任务节点处理。任务节点采用服务器部署组件能够及时处理作业任务。因此在集群搬迁中无需业务停机配置,任务节点适用于不同操作系统版本,因此能够降低对正常的业务处理的影响。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的处理数据的方法的主要流程示意图;
图2是根据本发明实施例的解析Hadoop集群部署配置文件安装服务器部署组件的流程示意图;
图3是根据本发明实施例的在Hadoop集群的服务器中安装服务器部署组件和启停组件的流程示意图;
图4是根据本发明实施例的下发作业任务发送至任务节点的流程示意图;
图5是根据本发明实施例的任务节点解析作业任务的流程示意图;
图6是根据本发明实施例的处理数据的装置的主要结构示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
Hadoop的集群规模与应用的业务属性与应用规模相关,可存储的数据量可达到PB至EB级别。Hadoop集群规模,往往是随着业务应用从初步试用到大规模推广,数据量也是由原来的几十台扩展到几百台甚至几千台。
而由于设备的分批不同时间段供给,导致不同时段可选择可使用的操作系统不同,就会存在一套Hadoop集群在初始创建时和后期扩容时,操作系统存在不一致的而产生的异构兼容性问题。
基于Hadoop的大数据存储计算,同一个集群中只能支持单一操作系统的服务器节点,当涉及扩容时无法再选用原有旧的操作系统时,一旦应用无法停止服务配合变更或者中转搬迁设备不够时,则Hadoop集群的扩容就会被阻塞,从而影响到正常的业务数据加载存储及加工计算。
传统数据库厂商的处理方式是,新建一个当前可选择的操作系统的Hadoop集群,然后使用数据导出导入工具,将数据从一个较小的旧操作系统的Hadoop集群,整体迁移至一个较大的新操作系统的Hadoop集群。
虽然从整体上确实能够简化集群管理成本,但是由于集群搬迁中,需要业务进行停机配合,而且业务层的相关连接HDFS集群的相关配置信息也需发布版本更新变更。
另外,随着集群数据量越来越大,如果使用集群整体搬迁来讲,则需要额外购买相同数量的集群作为搬迁中转设备,这会大大增加新操作系统引入的技术难度及实施成本。
综上,由于集群搬迁中,需要业务进行停机配合,影响正常的业务数据处理。
为了减少影响正常的业务数据处理,可以采用以下本发明实施例中的技术方案。
参见图1,图1是根据本发明实施例的处理数据的方法主要流程示意图,针对操作系统版本在任务节点按照组件,处理对应操作系统版本的作业任务。如图1即100所示,具体包括以下步骤:
S101、解析Hadoop集群部署配置文件识别出服务器部署组件,从节点信息数据表获取服务器的操作系统版本,按照操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装服务器部署组件。
在本发明的实施例中,Hadoop大数据存储计算集群安装于装有不同的操作系统的服务器上。其中,操作系统包括传统操作系统和新型操作系统。作为一个示例,传统操作系统包括:社区企业操作系统(Community Enterprise Operating System,CentOS)。新型操作系统包括:银河麒麟系统(KylinOS)。
Hadoop集群默认支持在传统操作系统上安装,无需再次适配。为适配新型操作系统,Hadoop需要预先根据新型操作系统进行代码适配改造。基于新型操作系统所兼容的编译器进行重新编译,并打包成可安装的RPM制品包。RPM制品包用于在新型操作系统中安装Hadoop大数据存储计算集群。
参见图2即200,图2是根据本发明实施例的解析Hadoop集群部署配置文件安装服务器部署组件的流程示意图。具体包括以下步骤:
S201、解析Hadoop集群部署配置文件识别出服务器部署组件,从节点信息数据表获取服务器的操作系统版本。
在本发明的实施例中,Hadoop集群部署配置文件是针对服务器节点或服务器设置用于安装组件的文件。通过解析Hadoop集群部署配置文件识别出服务器部署组件,识别出服务器部署组件的目的在于确定服务器的操作系统版本。
作为一个示例,可以通过Hadoop的可视化管理页面或者编辑器对需要安装的服务器节点的IP和/或每个服务器安装组件对预设软件进行动态配置,形成组件安装所需的Hadoop集群部署配置文件。作为一个示例,预设软件包括以下一种或多种:Hadoop分布式文件系统(HDFS)、依赖软件包安装工具YARN和MapReduce等
节点标签数据表hadoop_node_label,包含有操作系统标签os_label、操作系统名称os_name和操作系统内核详细版本os_kernel_version等字段。
下面就节点标签数据表进行说明。
Hadoop新建集群或集群扩容时,首先通过手工或者云化等部署方式,安装操作系统。
然后,在Hadoop内置的管理数据库中,建立节点标签数据表hadoop_node_label。节点标签数据表包括操作系统标签os_label、操作系统名称os_name和操作系统内核详细版本os_kernel_version等字段。
建立节点信息数据表hadoop_node_info,节点信息数据表包括:服务器IP地址node_ip、操作系统标签os_label和安装时间install_time等。最后,在节点信息数据表中为每台服务器插入一条<node_ip,os_label,install_time>表记录。
S202、按照操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件和启停组件。
在本发明的实施例中,Hadoop集群的服务器需要安装服务器部署组件和启停组件。服务器部署组件是服务器执行作业任务使用的组件。启停组件用于控制服务器部署组件。作为一个示例,启停组件控制服务区部署的启动和停止。通过在Hadoop集群的服务器中安装服务器部署组件和启停组件,就可以服务器中执行作业任务。
参见图3即300,图3是根据本发明实施例的在Hadoop集群的服务器中安装服务器部署组件和启停组件的流程示意图。具体包括以下步骤:
S301、依据自动化运维工具或封装组合后的命令建立Hadoop组件安装脚本,以按照操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件。
在本发明的实施例中,依据自动化运维工具或封装组合后的命令建立Hadoop组件安装脚本。采用Hadoop组件安装脚本,实现批量集群组件快速安装。
作为一个示例,自动化运维工具包括ansible。通过自动化运维工具ansible进行封装组合,建立Hadoop组件安装脚本。Hadoop组件安装脚本是向集群内指定服务器进行批量分发介质、批量执行命令的脚本。
还可以封装组合后的命令,建立Hadoop组件安装脚本。命令包括以下一种或多种:scp命令、expect命令、send命令和ssh命令。作为一个示例,首先通过expect命令和明文密码,交互式登陆到远程服务器上。然后将预制好的软件安装脚本,通过ssh命令及scp命令远程安全连接的方式复制到集群中所有节点,最终使用在主节点上通过send命令向各个数据节点发送软件安装脚本的启动命令,从而实现批量的集群软件快速安装。
在本发明的实施例中,按照操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件。其中,服务器所承载功能角色。作为一个示例,功能角色包括:namenode和datanode。
在本发明的一个实施例中,按照操作系统版本和服务器部署组件匹配得到服务器部署组件的软件包,采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装软件包以实现服务器部署组件的安装。其中,服务器部署组件包括服务器部署组件的组件名称和服务器部署组件的组件版本号。
基于按照操作系统版本和服务器部署组件构建三元组后,就可以匹配得到服务器部署组件的软件包。即,软件包与操作系统版本相对应。
具体地,基于服务器的操作系统版本,构建三元组:<组件名称,组件版本号,所需操作系统>。如:<HDFS,3.3.4,kYLINOS>。顺序拼接三运组中的三个参数得到软件包名称。如:HDFS_3.3.4_KYLINOS.rpm。
采用顺序拼接的方式确定软件包名称,可以直观描述软件包所对应的组件,具体版本及所适配的操作系统。异构的集群服务器在安装时,可以根据自己的操作系统版本准确拉取并安装正确的软件包。
作为一个示例,采用yuminstall命令,拉取软件包至服务器本地进行安装,并将<服务器IP,组件名称,组件版本号,对应操作系统>等信息存储至集群数据库。
S302、封装服务器部署组件的启动命令、服务器部署组件停止命令和服务器部署组件重启命令以得到启停组件,在Hadoop集群的服务器中安装启停组件,以控制服务器部署组件。
在Hadoop集群的服务器中安装服务器部署组件后,为了控制服务器部署组件,需要建立并安装启停组件。作为一个示例,封装服务器部署组件的启动命令、服务器部署组件停止命令和服务器部署组件重启命令,以得到启停组件
在本发明的一个实施例中,各操作系统的相关命令因操作系统的内核不同存在差异,因此需将不同操作系统下的Hadoop各个组件即服务器部署各个组件,封装服务器部署组件的启动命令服务器部署组件停止命令和服务器部署组件重启命令,得到启停组件。采用启停组件控制服务器部署组件,即能够快速实现HDFS所有模块的功能启停。
作为一个示例,以安装HDFS分布式文件系统组件的安装脚本为例。安装脚本中,需先以ssh命令免密登陆到每个数据节点,然后使用wget命令从公共数据库中获取HDFS对应的软件包Hadoop-3.3.4.tar.gz,并存入软件包的制定目录,如:/home/Hadoop_media/目录中。然后使用tar解压命令将软件包解压到hadoop安装路径如/usr/hadoop,并将/usr/hadoop目录配置到系统变量PATH及classPATH中。将hdfs的namenode和datanode等主要组成部分的启动命令封装为一键启停脚本,如:datanode数据节点的启动命令为hadoop_uservar_su hdfs datanode"${HADOOP_HDFS_HOME}/bin/hdfs"--workers--config
"${HADOOP_CONF_DIR}"--daemon start datanode${dataStartOpt},同时将namenode、journalnode等启停命令也封装到同一个start-hdfs.sh。即可执行启停组件:start-hdfs.sh脚本。采用启停组件可快速控制服务器部署组件。
在图2的实施例中,采用Hadoop组件安装脚本安装服务器部署组件,并通过启停组件控制服务器部署组件。从而实现在Hadoop集群的服务器中安装操作系统版本对应的服务器部署组件,适用于不同的操作系统版本。
S102、将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,并管理节点按照资源使用率将作业任务发送至任务节点,任务节点包括安装服务器部署组件的服务器。
在本发明的实施例中,用户通过部署在应用服务器上的Hadoop客户端,或封装在应用自有代码中的Hadoop JDBC接口,生成Application作业任务。作为一个示例,作为任务通过Java语言连接数据库(JDBC)提交给YARN的ResourceManager资源管理组件。
在本发明的实施例中,任务节点包括安装服务器部署组件的服务器。即,服务器安装服务器部署组件后,可以作为任务节点和/或管理节点。任务节点用于处理作业任务。
参见图4即400,图4是根据本发明实施例的下发作业任务发送至任务节点的流程示意图。具体包括以下步骤:
S401、将作业任务通过集群调度器下发至Hadoop集群中的管理节点中。
在本发明的实施例中,YARN包含ResourceManager全局资源管理和NodeManager单计算功能管理功能。
ResourceManager全局资源管理会对作业任务进行计算资源管理及资源调度。ResourceManager包括集群调度器和应用程序管理器。
集群调度器根据容量和队列等限制条件,将系统中的资源分配给各个正在运行的应用程序。
程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster和监控ApplicationMaster运行状态并在失败时重新启动等。
通过集群调度器将作业任务下发到Hadoop集群中的管理节点NodeManager中。
S402、管理节点按照下属任务节点的资源使用率,将作业任务发送至任务节点。
管理节点负责下属多个任务节点的资源管理。具体地,管理节点负责启动应用所需的Container,监控Container的资源使用。作为一个实施例,资源包括:CPU、内存、硬盘和网络带宽。
管理节点将Container的资源使用汇报给YARN调度器。同时,为具体的作为任务构建container环境,并为任务节点提供管理本地存储资源的服务。
管理节点按照下属任务节点的资源使用率,将作业任务发送至任务节点。
在图4的实施例中,管理节点将接收到的作业任务发送至任务节点,由任务节点处理作业任务。
S103、任务节点解析作业任务得到依赖软件包的标识,获知依赖软件包未存在集群数据库中,则根据依赖软件包的操作系统版本选择对应的节点组,并将作业任务调度至节点组中处理,节点组中的任务节点利用服务器部署组件处理作业任务中的数据。
在本发明的实施例中,任务节点利用服务器部署组件负责处理作业任务,由于任务节点安装有服务器部署组件,服务器部署组件适用于不同的操作系统版本,因此任务节点能够处理对应操作系统版本的作为任务。
任务节点接收到作业任务的情况下,解析作业任务得到依赖软件包。依赖软件包未存在集群数据库中,则根据依赖软件包的操作系统版本选择对应的节点组,并将作业任务调度至节点组中处理,节点组中的任务节点利用服务器部署组件处理所述作业任务中的数据。
参见图5即500,图5是根据本发明实施例的任务节点解析作业任务的流程示意图。具体包括以下步骤:
S501、任务节点解析作业任务得到依赖软件包的标识。
任务节点收到来自管理节点的作业任务时,通过解析作业中的spark或MapReduce中指定的第三方依赖的jar包、集群内置的公共依赖软件包或算子功能jar包,得到依赖软件包的标识。即,依赖软件包的标识是第三方依赖的jar包的标识、集群内置的公共依赖软件包的标识或算子功能jar包的标识。
S502、基于依赖软件包的标识确定依赖软件包存在集群数据库中,则通过管理节点引用依赖软件包,任务节点利用服务器部署组件调用依赖软件包处理作业任务的数据。
基于依赖软件包的标识搜索集群数据库,在集群数据库搜到依赖软件包的标识对应软件,则确定依赖软件包存在集群数据库中。集群数据库用于存储集群可以使用的软件包。
任务节点通过管理节点引用集群数据库中的依赖软件包。进而,任务节点利用服务器部署组件调用依赖软件包处理作业任务的数据。
在本发明的一个实施例中,集群数据库用于存储操作系统版本对应的软件包。集群数据库配置为远程可访问,并将不同操作系统版本下编译出来的软件包上传集群数据库中。
具体地,为Hadoop在每个不同操作系统版本下编译出来的软件包存储在/etc/yum.repos.d目录下,新增包含有该操作系统版本对应的软件制品所在的目录的仓库地址的文件。
然后,使用yum clean all&yum list刷新至yum软件包管理服务的可访问列表中。该yum服务器可作为一个公共服务,为用户所有不同应用的hadoop集群同时提供包括RPM、tar.gz及JAR等格式的软件制品安装包的管理服务。
S503、基于依赖软件包的标识确定依赖软件包未存在集群数据库中,则根据依赖软件包的操作系统版本选择对应的节点组,并将作业任务调度至节点组中处理,节点组中的任务节点利用服务器部署组件调用依赖软件包处理作业任务中的数据。
基于依赖软件包的标识确定依赖软件包未存在集群数据库中,则说明任务节点由于无法在集群数据库中获取依赖软件包,因此无法处理作业任务。可以需要选择可以处理作业任务的任务节点,以加快处理作业任务的速度。
可以根据依赖软件包的操作系统版本选择对应的节点组,并将作业任务调度至节点组中处理,节点组中的任务节点利用服务器部署组件调用依赖软件包处理作业任务中的数据。
作为一个示例,基于依赖软件包的标识确定依赖软件包未存在集群数据库中,依赖软件包为通过命令行脚本或代码JDBC方式自定义引入的,则根据该依赖软件包的操作系统版本选择对应的节点组。
然后,通过调用HDFS的元数据服务NameNode查询接口获取计算所需的HDFS文件的文件块存储的datanode数据节点上。从而判断任务作业所涉及对应的HDFS数据在该节点组上都具备,则将作业任务调度至节点组中处理,节点组中的任务节点利用服务器部署组件调用依赖软件包处理作业任务中的数据。
在图5的实施例中,基于依赖软件包的标识,确定处理作业任务的任务节点,以提高处理作业任务的适用性。
在上述本发明的实施例中,解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。将不同操作系统版本的作业任务,分配至对应任务节点处理。任务节点采用服务器部署组件能够及时处理作业任务。因此在集群搬迁中无需业务停机配置,任务节点适用于不同操作系统版本,因此能够降低对正常的业务处理的影响。
在本发明的实施例中,实现在同一个Hadoop集群中,支持不同组件部署在不同的操作系统服务器上。基于Hadoop的存储与计算分布式作业,可同时分发到不同的操作系统节点上处理。
最终实现能够在同一个Hadoop集群中同时部署及管理多个不同操作系统的任务节点,并正常对外提供存储计算能力,离线计算,从而保障业务的连续性及灵活扩展性。
参见图6,图6是根据本发明实施例的处理数据的装置的主要结构示意图,处理数据的装置可以实现处理数据的方法,如图6即600所示,处理数据的装置具体包括:
组件模块601,用于解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;
任务模块602,用于将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;
处理模块603,用于所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。
在本发明的实施例中,组件模块601,具体用于解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本;
按照所述操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件和启停组件。
在本发明的实施例中,组件模块601,具体用于依据自动化运维工具或封装组合后的命令建立所述Hadoop组件安装脚本,以按照所述操作系统版本采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件;
封装服务器部署组件的启动命令、服务器部署组件停止命令和服务器部署组件重启命令以得到所述启停组件,在所述Hadoop集群的服务器中安装所述启停组件,以控制所述服务器部署组件。
在本发明的实施例中,组件模块601,具体用于按照所述操作系统版本和服务器部署组件匹配得到服务器部署组件的软件包,采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装所述软件包以实现服务器部署组件的安装。
在本发明的实施例中,任务模块602,具体用于将作业任务通过集群调度器下发至Hadoop集群中的管理节点中;
所述管理节点按照下属任务节点的资源使用率,将所述作业任务发送至任务节点。
在本发明的实施例中,处理模块603,具体用于任务节点解析所述作业任务得到依赖软件包的标识;
基于所述依赖软件包的标识确定所述依赖软件包存在集群数据库中,则通过管理节点引用所述依赖软件包,任务节点利用所述服务器部署组件调用依赖软件包处理所述作业任务的数据;
基于所述依赖软件包的标识确定所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件调用所述依赖软件包处理所述作业任务中的数据。
在本发明的实施例中,所述集群数据库用于存储操作系统版本对应的软件包。
图7示出了可以应用本发明实施例的处理数据的方法或处理数据的装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的处理数据的方法一般由服务器705执行,相应地,处理数据的装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明实施例的一种计算程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的处理数据的方法。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括组件模块、任务模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,组件模块还可以被描述为“用于解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;
将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;
所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。
根据本发明实施例的技术方案,解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。将不同操作系统版本的作业任务,分配至对应任务节点处理。任务节点采用服务器部署组件能够及时处理作业任务。因此在集群搬迁中无需业务停机配置,任务节点适用于不同操作系统版本,因此能够降低对正常的业务处理的影响。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
需要说明的是,本发明的技术方案中,所涉及的用户个人信息的采集、分析、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法且合理的用途,不在这些合法使用等方面之外共享、泄露或出售,并且接受监管部门的监督管理。应当对用户个人信息采取必要措施,以防止对此类个人信息数据的非法访问,确保有权访问个人信息数据的人员遵守相关法律法规的规定,确保用户个人信息安全。一旦不再需要这些用户个人信息数据,应当通过限制甚至禁止数据收集和/或删除数据的方式将风险降至最低。
当适用时,包括在某些相关应用程序中,通过对数据去标识来保护用户隐私,例如在适用时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在具体地址级别收集位置数据)、控制数据如何被存储、和/或其他方法去标识。
Claims (11)
1.一种处理数据的方法,其特征在于,包括:
解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;
将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;
所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。
2.根据权利要求1所述处理数据的方法,其特征在于,所述解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件,包括:
解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本;
按照所述操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件和启停组件。
3.根据权利要求2所述处理数据的方法,其特征在于,所述按照所述操作系统版本采用Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件和启停组件,包括:
依据自动化运维工具或封装组合后的命令建立所述Hadoop组件安装脚本,以按照所述操作系统版本采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件;
封装服务器部署组件的启动命令、服务器部署组件停止命令和服务器部署组件重启命令以得到所述启停组件,在所述Hadoop集群的服务器中安装所述启停组件,以控制所述服务器部署组件。
4.根据权利要求3所述处理数据的方法,其特征在于,所述按照所述操作系统版本采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装服务器部署组件,包括
按照所述操作系统版本和服务器部署组件匹配得到服务器部署组件的软件包,采用所述Hadoop组件安装脚本,在Hadoop集群的服务器中安装所述软件包以实现服务器部署组件的安装。
5.根据权利要求1所述处理数据的方法,其特征在于,所述将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,包括:
将作业任务通过集群调度器下发至Hadoop集群中的管理节点中;
所述管理节点按照下属任务节点的资源使用率,将所述作业任务发送至任务节点。
6.根据权利要求1所述处理数据的方法,其特征在于,所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据,包括:
任务节点解析所述作业任务得到依赖软件包的标识;
基于所述依赖软件包的标识确定所述依赖软件包存在集群数据库中,则通过管理节点引用所述依赖软件包,任务节点利用所述服务器部署组件调用依赖软件包处理所述作业任务的数据;
基于所述依赖软件包的标识确定所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件调用所述依赖软件包处理所述作业任务中的数据。
7.根据权利要求6所述处理数据的方法,其特征在于,所述集群数据库用于存储操作系统版本对应的软件包。
8.一种处理数据的装置,其特征在于,包括:
组件模块,用于解析Hadoop集群部署配置文件识别出服务器部署组件,从节点标签数据表获取服务器的操作系统版本,按照所述操作系统版本采用Hadoop组件安装脚本在Hadoop集群的服务器中安装所述服务器部署组件;
任务模块,用于将作业任务通过集群调度器下发至Hadoop集群中的管理节点中,所述管理节点按照资源使用率将所述作业任务发送至任务节点,所述任务节点包括安装所述服务器部署组件的服务器;
处理模块,用于所述任务节点解析所述作业任务得到依赖软件包的标识,获知所述依赖软件包未存在集群数据库中,则根据所述依赖软件包的操作系统版本选择对应的节点组,并将所述作业任务调度至所述节点组中处理,所述节点组中的任务节点利用所述服务器部署组件处理所述作业任务中的数据。
9.一种处理数据的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410039583.2A CN117938958A (zh) | 2024-01-10 | 2024-01-10 | 处理数据的方法、装置、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410039583.2A CN117938958A (zh) | 2024-01-10 | 2024-01-10 | 处理数据的方法、装置、设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117938958A true CN117938958A (zh) | 2024-04-26 |
Family
ID=90767832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410039583.2A Pending CN117938958A (zh) | 2024-01-10 | 2024-01-10 | 处理数据的方法、装置、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117938958A (zh) |
-
2024
- 2024-01-10 CN CN202410039583.2A patent/CN117938958A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120678B (zh) | 用于分布式存储系统的服务托管的方法和装置 | |
CN103297504B (zh) | 一种云数据中心中物理裸机快速部署操作系统的方法 | |
CN110196731B (zh) | 一种运维系统、方法及存储介质 | |
US10613853B2 (en) | Updating software components through online stores | |
US9038059B2 (en) | Automatically targeting application modules to individual machines and application framework runtimes instances | |
CN108616384B (zh) | 一种集中式的服务管理部署工具及方法 | |
US11861342B2 (en) | Enhanced cloud-computing environment deployment | |
CN111427701A (zh) | 一种工作流引擎系统和业务处理方法 | |
AU2021200064A1 (en) | Dynamically allocated cloud worker management system and method therefor | |
CN112765166A (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN113377665A (zh) | 基于容器技术的测试方法、装置、电子设备及存储介质 | |
US10466991B1 (en) | Computing instance software package installation | |
CN115454972A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111666079B (zh) | 软件升级的方法、装置、系统、设备和计算机可读介质 | |
CN110119279B (zh) | 一种应用及其升级的方法和装置 | |
CN112398669A (zh) | 一种Hadoop部署方法和装置 | |
CN113535220B (zh) | 一种代码包管理方法和装置 | |
CN111240998B (zh) | 测试用例处理方法和装置 | |
CN113672671A (zh) | 一种实现数据加工的方法和装置 | |
CN116431290A (zh) | 作业调度方法、装置、设备、介质和程序产品 | |
CN109871560B (zh) | 一种运行目标模型的方法和装置 | |
CN115794637A (zh) | 自动化测试的方法、装置、设备和计算机可读介质 | |
CN117938958A (zh) | 处理数据的方法、装置、设备和计算机可读介质 | |
US11687523B2 (en) | System and method for efficiently transferring data for offline use | |
CN110445628B (zh) | 基于nginx的服务器及其部署、监控的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |