CN112882726B - 基于Hadoop和Docker的环境系统的部署方法 - Google Patents

基于Hadoop和Docker的环境系统的部署方法 Download PDF

Info

Publication number
CN112882726B
CN112882726B CN202110107308.6A CN202110107308A CN112882726B CN 112882726 B CN112882726 B CN 112882726B CN 202110107308 A CN202110107308 A CN 202110107308A CN 112882726 B CN112882726 B CN 112882726B
Authority
CN
China
Prior art keywords
mirror image
docker
deployment
hadoop
end service
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.)
Active
Application number
CN202110107308.6A
Other languages
English (en)
Other versions
CN112882726A (zh
Inventor
陈登峰
王凯
肖海燕
陈俊彤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Architecture and Technology
Original Assignee
Xian University of Architecture and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Architecture and Technology filed Critical Xian University of Architecture and Technology
Priority to CN202110107308.6A priority Critical patent/CN112882726B/zh
Publication of CN112882726A publication Critical patent/CN112882726A/zh
Application granted granted Critical
Publication of CN112882726B publication Critical patent/CN112882726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开的一种基于Hadoop和Docker的环境系统的部署方法,建立Hadoop分布式存储系统和Mysql数据库,分别存储Docker镜像以及Docker镜像信息,以供其它平台查询。建立Docker镜像管理平台,以实现Docker镜像的创建、查询、删除等操作,在此基础上,建立服务器部署平台,向下调用Docker镜像管理平台,向上与目标服务器通信,实现容器化部署。实现Docker镜像管理平台与服务器部署平台,基于同一个服务器,占用不同端口,使用Nginx反向代理转发对应请求解决跨域问题。

Description

基于Hadoop和Docker的环境系统的部署方法
技术领域
本发明涉及计算机技术领域,具体为一种基于Hadoop和Docker的环境系统的部署方法。
背景技术
分布式存储在数据存储方向有着巨大的发展前景,随着互联网技术的不断发展,对数据的读取、查询、存储速度,以及存储系统的容灾性、鲁棒性要求逐渐提高,基于云服务器的分布式存储成本较高,不适于开发者或小型开发团队使用。
传统的开发迭代时间成本较高,与CI/CD(持续集成与持续部署)模式下的迭代流程相比,主要体现在测试、部署耗费时间久。使用Docker容器则可以解决应用部署时繁琐的环境配置问题,实现快速迭代。容器相比较于虚拟机,因为其共用操作系统内核,并且剔除了虚拟机监视器Hypervisor,故其更轻量,启动速度快。
Docker容器的沙盒文件系统随着容器生命周期所创建和移除的。DockerFile提供了VOLUME字段为容器建立数据卷,以持久化数据。数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录映射进容器,当删除容器时,此目录依旧存在,但主机出现宕机或其他问题时,数据卷会丢失数据,导致我们无法恢复系统。
开发人员创建Docker镜像时,需要了解DockerFile语法,并且实际工作环境不会只存在一种容器,由许多单个镜像生成的容器组成服务器环境,多个镜像的部署也有很大的时间成本,这无疑增加了项目的开发成本,容器的自动化部署显得很有必要。
发明内容
针对现有技术中存在的问题,本发明提供一种基于Hadoop和Docker的环境系统的部署方法,能够提高部署速度,减少部署时的人为错误。
本发明是通过以下技术方案来实现:
一种基于Hadoop和Docker的环境系统的部署方法,包括以下步骤:
步骤1、搭建Hadoop分布式存储系统的后端服务,使Hadoop分布式存储系统的后端服务与Hadoop分布式存储系统的指令系统建立映射,并设定分布式存储系统的API接口;
步骤2:搭建Docker镜像信息数据库;
步骤3:搭建Docker主机,并建立Docker主机的后端服务,使Docker主机的后端服务与分布式存储系统、镜像信息数据库的操作命令、Docker主机指令建立映射,并设定Docker主机后端服务的API接口;
步骤4:根据Hadoop分布式存储系统的后端服务和Docker主机的后端服务搭建镜像管理平台的后端服务,然后根据镜像管理平台的后端服务构建其对应的前端服务,得到镜像管理平台,镜像管理平台基于API接口进行镜像的新建、删除、查询和获取操作;
步骤5、根据镜像管理平台的后端服务创建环境部署平台的后端服务,然后根据环境部署平台的后端服务构建其对应的前端服务,得到环境部署平台,环境部署平台基于步骤4所述镜像管理平台后端服务的API接口进行Docker镜像的远程传输、部署以及多云服务器下的自动化部署;
步骤6:搭建Nginx反向代理,对环境部署平台和镜像管理平台的请求进行重定位,使环境部署平台和镜像管理平台建立跨域通讯。
优选的,步骤1所述搭建Hadoop分布式存储系统的后端服务的方法如下:
S1.1、在每个树莓派节点上安装Hadoop,并任选一节点作为Hadoop系统的主节点,在主节点配置salves文件;
S1.2、使用source命令使配置salves文件生效,并使用hadoop version命令,查看配置salves文件是否生效;
S1.3、使用hadoopnamenode-format命令对Hadoop格式化后并启动;
S1.4、搭建koa服务器实现API接口设定。
优选的,步骤4中所述镜像的新建、删除和查询操作的方法如下:
使用npm工具链,进行环境初始化,在树莓派上安装koa和React框架,在koa框架中根据镜像管理平台新建路由中间件,并调用Hadoop分布式存储系统和Docker主机的API接口,进行镜像的新建、删除、查询和获取操作。
优选的,镜像查询操作:调用Docker主机后端服务中与Docker镜像信息数据库所映射的接口,实现镜像的查询操作;
镜像新建操作:调用Docker主机后端服务与Docker主机所映射的接口,实现镜像的新建操作,新建完毕后,调用Docker主机后端服务与Docker镜像信息数据库所映射的接口,将新建镜像的信息插入数据库,调用Hadoop分布式存储系统的后端服务Hadoop的指令系统建立映射的接口,将新建的镜像存储在存储系统;
镜像删除操作:调用Docker主机后端服务与Docker镜像信息数据库所映射的接口,将数据库中对应信息进行软删除;
镜像获取操作:调用Hadoop分布式存储系统后端服务与Hadoop分布式存储系统的指令系统所映射的接口,将目标镜像以流的形式发送给目标服务器。
优选的,步骤5中Docker镜像的远程传输、部署以及多云服务器下的自动化部署方法如下:
采用npm工具链进行环境初始化,并在新的树莓派上安装koa和React框架,在koa框架中根据环境部署的具体操作,新建路由中间件,调用步骤4所述镜像管理平台后端服务的API接口,实现Docker镜像的服务器远程传输以及服务器远程部署操作。
优选的,服务器远程部署:在环境部署平台前端页面构建服务器配置信息表单,由axios库向环境部署平台的后端服务发起请求,后端服务器解析表单,使用child-process-promise建立SSH连接,然后使用ftp协议将镜像发送至目标服务器,并发送shell命令,部署容器,完成服务器远程部署;
服务器远程部署,在环境部署平台后端服务向目标服务器发送镜像前,调用步骤3中Docker主机后端服务的API接口,查询镜像是否存在,若不存在,调用镜像管理平台,进行镜像新建,然后再向目标服务器发送镜像,否则,从镜像管理平台中获取对应镜像。
优选的,步骤6中所述建立跨域通讯的方法如下:
S6.1、在环境部署平台所在的树莓派上安装Nginx;
S6.2、修改Nginx配置,根据URL地址对其进行重定向。比如以/image开头的URL地址,让其重定向至Docker镜像管理平台;
S6.3、重启Nginx,完成跨域通讯。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供的一种基于Hadoop和Docker的环境系统的部署方法,建立Hadoop分布式存储系统和Mysql数据库,分别存储Docker镜像以及Docker镜像信息,以供其它平台查询。建立Docker镜像管理平台,以实现Docker镜像的创建、查询、删除等操作,在此基础上,建立服务器部署平台,向下调用Docker镜像管理平台,向上与目标服务器通信,实现容器化部署。实现Docker镜像管理平台与服务器部署平台,基于同一个服务器,占用不同端口,使用Nginx反向代理转发对应请求,解决跨域问题。
附图说明
图1为本发明系统框架图;
图2为本发明为Hadoop系统框架图;
图3为本发明镜像管理平台框架图;
图4为本发明服务器环境配置平台框架图;
图5为本发明Nginx服务器的转发逻辑图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
参阅图1-5,一种基于Hadoop和Docker的环境系统的部署方法,包括以下步骤:
步骤1、搭建Hadoop分布式存储系统的后端服务,使Hadoop分布式存储系统的后端服务与Hadoop分布式存储系统的指令系统建立映射,并设定分布式存储系统的API接口。
具体的,安装Hadoop分布式存储系统,并搭建Hadoop分布式存储系统的后端服务,使后端服务与Hadoop的指令系统建立映射,以在Hadoop分布式存储系统的前端页面可以操控Hadoop系统,并设定分布式存储系统的后端服务API接口,为系统间调用提供接口,其它平台调用此后端服务API接口,以完成关于Docker镜像获取操作。
具体包括以下步骤:
S1.1、在每个树莓派节点上安装Hadoop,并任选其一,作为Hadoop系统的主节点,在主节点配置salves文件;
S1.2、使用source命令使配置salves文件生效,并使用hadoop version命令,查看配置salves文件是否生效;
S1.3、使用hadoopnamenode-format命令对Hadoop格式化后并启动。
S1.4、搭建koa服务器,实现API接口,即路由与shell命令的映射,使其他系统可通过API接口实现Hadoop操作,实现步骤如下:
使用koa-generator,新建koa项目,安装child-process-promise,实现URL与具体操作的中间件。
例如,/hadoop/imageQuery,实现镜像块数据ip地址查询,其对应的shell命令是hadoopfsck/user/hadoop/filename-files-blocks-locations。
参阅图2,Hadoop分布式存储系统包含一个主节点,以及至少两个从节点。NameNode是管理节点,它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表,以及接收用户的操作请求。NameNode包含两个文件:FsImage(元数据镜像文件)存储某一时段NameNode内存元数据信息和EditLog(操作日志文件)。DataNode则提供真实文件数据的存储服务。
分布式存储系统的存储对象是Docker镜像。Docker镜像是由基于UnionFS文件系统的一组镜像层依次挂载而得,而每个镜像层包含的其实是对上一镜像层的修改,也就是说,实际使用的镜像多由多个镜像叠加而来,系统中需要包含我们可能使用软件所对应的所有镜像,故系统中会存在由相同子镜像组成的,结构不同的镜像。
步骤2:搭建Docker镜像信息数据库。
安装Mysql数据库,建立数据表,保存镜像信息。以供步骤3所建立的Docker主机上后端服务查询、新建等操作。
步骤3:搭建Docker主机,并建立Docker主机的后端服务,使Docker主机的后端服务与分布式存储系统、镜像信息数据库的操作命令、Docker主机指令建立映射,并设定Docker主机后端服务的API接口。
建立Docker主机,为系统提供新建Docker容器的能力,搭建Docker主机后端服务并设定API接口,实现API接口与数据库操作命令、Docker主机指令的映射。其它平台调用Docker主机后端服务的API接口,以完成关于Docker镜像新建及信息查询的相关操作。
步骤4:根据Hadoop分布式存储系统的后端服务和Docker主机的后端服务搭建镜像管理平台的后端服务,然后根据镜像管理平台的后端服务构建其对应的前端服务,得到镜像管理平台,镜像管理平台基于API接口进行镜像的新建、删除、查询和获取操作。
搭建镜像管理平台的前后端服务,实现Docker镜像的可视化操作,在镜像管理平台基础上,新建Docker镜像时,并向Docker信息数据库写入新镜像信息。
使用npm工具链,进行环境初始化,在新的树莓派上安装koa和React框架,在koa框架中根据镜像管理平台新建路由中间件,并调用Hadoop分布式存储系统和Docker主机的API接口,进行镜像的新建、删除和查询操作,在React框架中结合Antd UI库,实现镜像管理平台的可视化操作。
S4.1、镜像查询操作:调用Docker主机后端服务中与Docker镜像信息数据库所映射的接口,实现镜像的查询操作;
S4.2、镜像新建操作:调用Docker主机后端服务与Docker主机所映射的接口,实现镜像的新建操作,新建完毕后,调用Docker主机后端服务与Docker镜像信息数据库所映射的接口,将新建镜像的信息插入数据库,调用Hadoop分布式存储系统的后端服务Hadoop的指令系统建立映射的接口,将新建的镜像存储在存储系统;
S4.3、镜像删除操作:调用Docker主机后端服务与Docker镜像信息数据库所映射的接口,将数据库中对应信息进行软删除;
S4.4镜像获取操作:调用Hadoop分布式存储系统后端服务与Hadoop分布式存储系统的指令系统所映射的接口,将目标镜像以流的形式发送给目标服务器。
步骤5:根据镜像管理平台的后端服务创建环境部署平台的后端服务,然后根据环境部署平台的后端服务构建其对应的前端服务,得到环境部署平台,环境部署平台基于步骤4所述镜像管理平台后端服务的API接口进行Docker镜像的远程传输、部署以及多云服务器下的自动化部署。
环境部署平台包含Nginx代理服务器、前端服务器和后端服务器。环境部署平台展示所有的镜像信息,同时为用户提供新建镜像的表单,该表单不提交至当前平台的后端,经由Nginx反向代理重定向至镜像管理平台,生成新的DockerFile,构建对应镜像,至此用户便自定义完成了所需的镜像,前端组件刷新,将新建镜像信息展示在页面上供用户调用。
采用npm工具链进行环境初始化,并在新的树莓派上安装koa和React框架,在koa框架中根据环境部署的具体操作,新建路由中间件,调用步骤4所述镜像管理平台后端服务的API接口,实现Docker镜像的单一服务器和多个服务器远程传输以及服务器远程部署操作,在React框架中,结合Antd UI库,实现环境部署平台的可视化操作,具体如下:
S5.1、单一服务器远程部署:在环境部署平台前端页面构建服务器配置信息表单,由axios库向环境部署平台的后端服务发起请求,后端服务器解析表单,使用child-process-promise建立SSH连接,然后使用ftp协议将镜像发送至目标服务器,并发送shell命令,部署容器,完成单一服务器远程部署;
S5.2、多个服务器远程部署:开启线程池,每一个线程使用任务队列,并采用步骤5.1的单一服务器远程部署的方法,实现多服务器部署。
S5.3、对于服务器远程部署,在环境部署平台后端服务向目标服务器发送镜像前,调用步骤3中Docker主机后端服务的API接口,查询镜像是否存在,若不存在,调用镜像管理平台,进行镜像新建,然后再向目标服务器发送镜像,否则,从镜像管理平台中获取对应镜像;
在镜像管理平台的基础上搭建前后端服务,用户查询自己所需的Docker镜像是否存在,若不存在则调用镜像管理平台,进行镜像新建,否则,用户可以填写相关配置表单,供平台进行容器部署。表单提交后,平台解析表单,与目标服务器建立通讯,并部署容器。
步骤6:搭建Nginx反向代理,对环境部署平台和镜像管理平台的请求进行重定位,使环境部署平台和镜像管理平台建立跨域通讯,具体如下:
S6.1、在环境部署平台所在的树莓派上安装Nginx;
S6.2、修改Nginx配置,根据URL地址对其进行重定向。比如以/image开头的URL地址,让其重定向至Docker镜像管理平台;
S6.3、重启Nginx,完成跨域通讯。
本发明提供的基于Hadoop和Docker的环境快速部署系统,在使用过程中,除通讯协议所涉及到的信息之外,用户只需选择所需软件,并建立端口映射,系统将会自动建立镜像,并在远端部署。对于非开发人员而言,不必增加额外的学习成本。若用户需要在本地新建一个Ubuntu系统,只需在系统上配置在本地运行Ubuntu容器即可,待容器运行时,便会自动进入Ubuntu终端。不必下载虚拟机软件,减少了安装虚拟机以及建立Ubuntu系统的时间成本,同时也因为使用容器的缘故,减少了对本地计算机的资源消耗,提升了资源利用率。对于开发人员而言,在配置集群时,填写ip地址范围,系统对其遍历部署;在升级集群时,进行镜像覆盖,则可以实现软件版本的快速迭代,降低了开发人员的时间成本。
本发明提供的基于Hadoop和Docker的环境快速部署系统以树莓派为载体,充分利用硬件资源,为Docker镜像建立分布式存储系统,用户在Docker镜像管理平台自定义镜像内容。用户在选择镜像时,可以选择Docker官方推荐的镜像,也可以根据自身需求,在镜像管理平台搜索目标软件,系统自动生成对应镜像,并存储在Hadoop中,其具有如下优点:
第一:使用Hadoop存储和管理镜像文件,具有高容错性,即系统将会为数据保存多个副本,若某一个副本丢失,可以通过Hadoop内部机制自动恢复;流式文件访问,一次写入多次读取,可以保证数据的一致性;因为其鲁棒性较好,故可以在性能不可靠的设备进行实现,即使设备宕机,因为其结构冗余,所以可以从备份系统中恢复文件。
第二:Docker容器因为NameSpace隔离,数据卷之间不能实现共享和操作,使用发布订阅模式,在本地建立数据库,为权限组提供可访问的数据共享库;
第三:自动化构建目标镜像,用户不需要手动编写DockerFile文件去构建镜像,实现Docker镜像自动创建,以及部署到目标服务器,本发明还为外网用户提供接口,用户可以远程登录平台,拉取私有镜像;
第四:本发明在集群的环境配置中,效益最为明显,第一次配置后,本发明会将配置文件及镜像存储在本地,在后续配置中,只需写入目标服务器的ip地址,系统则会自动配置。可以减少开发和运维人员的时间成本,同时也避免了在后续工作中的人为操作错误;
第五:采用模块化开发,具有可扩展性,例如,用户可以接入Nginx反向代理服务器,开发服务器定时备份系统,在目标服务器建立定时任务,向Hadoop写入需要备份的文件,用户只需在目标服务器部署时,在容器快速部署平台上传需要定时执行的脚本,平台会将此脚本与系统其他脚本一起执行;
第六:本发明采用发布订阅设计模式,使用数据卷保存多个容器的数据,为每一次数据更新操作创建id,以记录数据存储状态,并推送数据至树莓派集群,以备份和回滚系统,提高系统的容灾能力。
虚拟化技术是一种将计算机资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。这里所指的计算机资源指的是CPU提供的运算控制资源,硬盘提供的数据存储资源,网卡提供的网络传输资源等。所谓虚拟机,通常来说就是通过一个虚拟机监视器(VirtualMachineMonitor)的设施来隔离操作系统与硬件或者应用程序和操作系统,以此达到虚拟化的目的。容器技术的侧重点在于资源的高效利用,运行在容器中的代码直接使用其计算机的操作系统,相比较虚拟机,减少了宿主操作系统以及虚拟机管理程序,故容器技术启动更快,调用资源耗时更短。
所谓容器技术,指的是操作系统自身支持一些接口,能够让应用程序间可以互不干扰的独立运行,并且能够对其在运行中所使用的资源进行干预。Docker的实现,主要归结于三大技术:命名空间(NameSpaces)、控制组(ControlGroups)和联合文件系统(UnionFileSystem)。
NameSpaces是Linux内核用来隔离内核资源的方式。通过NameSpaces可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程根本就感觉不到对方的存在。具体的实现方式是把一个或多个进程的相关资源指定在同一个NameSpaces中。在同一个NameSpaces下的进程可以感知彼此的变化,而对外界的进程一无所知。这样就可以让容器中的进程产生错觉,认为自己置身于一个独立的系统中,从而达到隔离进程的目的。也就是说Linux内核提供的NameSpaces技术为Docker等容器技术的出现和发展提供了基础条件。
ControlGroups资源控制组是Linux内核在2.6版本后逐渐引入的对计算机资源的控制模块,其常被简写为CGroups。与NameSpace不同的是,NameSpace是对进程、网络、文件系统等虚拟资源的隔离,CGroups则是对计算机硬件资源的隔离,以及分配。因为CGroups是基于操作系统实现的,操作系统垄断着对计算机资源的分配管理。,所以通过CGroups可以指定任意一个隔离环境对任意资源的占用值或占用率。
UnionFileSystem联合文件系统是一种能够同时挂载不同实际文件或文件夹到同一目录,形成一种联合文件结构的文件系统。联合文件系统本身与虚拟化并无太大的关系,但Docker却创新的将其引入到容器实现中,用它解决虚拟环境对文件系统占用过量,实现虚拟环境快速启停等问题。
在使用过程中,除通讯协议所涉及到的信息之外,用户只需选择所需软件,并建立端口映射,系统将会自动建立镜像,并在远端部署。对于非开发人员而言,不必增加额外的学习成本。若用户需要在本地新建一个Ubuntu系统,只需在系统上配置在本地运行Ubuntu容器即可,待容器运行时,便会自动进入Ubuntu终端。不必下载虚拟机软件,减少了安装虚拟机以及建立Ubuntu系统的时间成本,同时也因为使用容器的缘故,减少了对本地计算机的资源消耗,提升了资源利用率。对于开发人员而言,在配置集群时,填写ip地址范围,系统对其遍历部署;在升级集群时,进行镜像覆盖,则可以实现软件版本的快速迭代,降低了开发人员的时间成本。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (6)

1.一种基于Hadoop和Docker的环境系统的部署方法,其特征在于,包括以下步骤:
步骤1、搭建Hadoop分布式存储系统的后端服务,使Hadoop分布式存储系统的后端服务与Hadoop分布式存储系统的指令系统建立映射,并设定分布式存储系统的API接口;
步骤2:搭建Docker镜像信息数据库;
步骤3:搭建Docker主机,并建立Docker主机的后端服务,使Docker主机的后端服务与分布式存储系统、镜像信息数据库的操作命令、Docker主机指令建立映射,并设定Docker主机后端服务的API接口;
步骤4:根据Hadoop分布式存储系统的后端服务和Docker主机的后端服务搭建镜像管理平台的后端服务,然后根据镜像管理平台的后端服务构建其对应的前端服务,得到镜像管理平台,镜像管理平台基于API接口进行镜像的新建、删除、查询和获取操作;
所述镜像的新建、删除和查询操作的方法如下:
使用npm工具链,进行环境初始化,在树莓派上安装koa和React框架,在koa框架中根据镜像管理平台新建路由中间件,并调用Hadoop分布式存储系统和Docker主机的API接口,进行镜像的新建、删除、查询和获取操作;
步骤5、根据镜像管理平台的后端服务创建环境部署平台的后端服务,然后根据环境部署平台的后端服务构建其对应的前端服务,得到环境部署平台,环境部署平台基于步骤4所述镜像管理平台后端服务的API接口进行Docker镜像的远程传输、部署以及多云服务器下的自动化部署;
步骤6:搭建Nginx反向代理,对环境部署平台和镜像管理平台的请求进行重定位,使环境部署平台和镜像管理平台建立跨域通讯。
2.根据权利要求1所述的一种基于Hadoop和Docker的环境系统的部署方法,其特征在于,步骤1所述搭建Hadoop分布式存储系统的后端服务的方法如下:
S1.1、在每个树莓派节点上安装Hadoop,并任选一节点作为Hadoop系统的主节点,在主节点配置salves文件;
S1.2、使用source命令使配置salves文件生效,并使用hadoop version命令,查看配置salves文件是否生效;
S1.3、使用hadoop namenode-format命令对Hadoop格式化后并启动;
S1.4、搭建koa服务器实现API接口设定。
3.根据权利要求1所述的一种基于Hadoop和Docker的环境系统的部署方法,其特征在于,镜像查询操作:调用Docker主机后端服务中与Docker镜像信息数据库所映射的接口,实现镜像的查询操作;
镜像新建操作:调用Docker主机后端服务与Docker主机所映射的接口,实现镜像的新建操作,新建完毕后,调用Docker主机后端服务与Docker镜像信息数据库所映射的接口,将新建镜像的信息插入数据库,调用Hadoop分布式存储系统的后端服务Hadoop的指令系统建立映射的接口,将新建的镜像存储在存储系统;
镜像删除操作:调用Docker主机后端服务与Docker镜像信息数据库所映射的接口,将数据库中对应信息进行软删除;
镜像获取操作:调用Hadoop分布式存储系统后端服务与Hadoop分布式存储系统的指令系统所映射的接口,将目标镜像以流的形式发送给目标服务器。
4.根据权利要求1所述的一种基于Hadoop和Docker的环境系统的部署方法,其特征在于,步骤5中Docker镜像的远程传输、部署以及多云服务器下的自动化部署方法如下:
采用npm工具链进行环境初始化,并在新的树莓派上安装koa和React框架,在koa框架中根据环境部署的具体操作,新建路由中间件,调用步骤4所述镜像管理平台后端服务的API接口,实现Docker镜像的服务器远程传输以及服务器远程部署操作。
5.根据权利要求4所述的一种基于Hadoop和Docker的环境系统的部署方法,其特征在于,所述服务器远程部署:在环境部署平台前端页面构建服务器配置信息表单,由axios库向环境部署平台的后端服务发起请求,后端服务器解析表单,使用child-process-promise建立SSH连接,然后使用ftp协议将镜像发送至目标服务器,并发送shell命令,部署容器,完成服务器远程部署;
服务器远程部署,在环境部署平台后端服务向目标服务器发送镜像前,调用步骤3中Docker主机后端服务的API接口,查询镜像是否存在,若不存在,调用镜像管理平台,进行镜像新建,然后再向目标服务器发送镜像,否则,从镜像管理平台中获取对应镜像。
6.根据权利要求1所述的一种基于Hadoop和Docker的环境系统的部署方法,步骤6中所述建立跨域通讯的方法如下:
S6.1、在环境部署平台所在的树莓派上安装Nginx;
S6.2、修改Nginx配置,根据URL地址对其进行重定向,以/image开头的URL地址,让其重定向至Docker镜像管理平台;
S6.3、重启Nginx,完成跨域通讯。
CN202110107308.6A 2021-01-26 2021-01-26 基于Hadoop和Docker的环境系统的部署方法 Active CN112882726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110107308.6A CN112882726B (zh) 2021-01-26 2021-01-26 基于Hadoop和Docker的环境系统的部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110107308.6A CN112882726B (zh) 2021-01-26 2021-01-26 基于Hadoop和Docker的环境系统的部署方法

Publications (2)

Publication Number Publication Date
CN112882726A CN112882726A (zh) 2021-06-01
CN112882726B true CN112882726B (zh) 2022-11-15

Family

ID=76052463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110107308.6A Active CN112882726B (zh) 2021-01-26 2021-01-26 基于Hadoop和Docker的环境系统的部署方法

Country Status (1)

Country Link
CN (1) CN112882726B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172811B (zh) * 2021-11-01 2023-11-24 浙江银盾云科技有限公司 一种容器镜像部署平台及其部署方法
CN114124739B (zh) * 2021-11-11 2024-02-27 北京房江湖科技有限公司 部署FreeSWITCH服务的方法、装置、电子设备及存储介质
CN114363332B (zh) * 2021-12-27 2024-01-23 徐工汉云技术股份有限公司 一种基于分布式的网关远程自动化运维方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN106776960A (zh) * 2016-12-05 2017-05-31 公安部第三研究所 基于微容器实现的大数据云平台
CN106850621A (zh) * 2017-02-07 2017-06-13 南京云创大数据科技股份有限公司 一种基于容器云技术快速搭建Hadoop集群的方法
CN106953910A (zh) * 2017-03-17 2017-07-14 郑州云海信息技术有限公司 一种Hadoop计算存储分离方法
WO2020232195A1 (en) * 2019-05-14 2020-11-19 Qomplx, Inc. Method for midserver facilitation of long-haul transport of telemetry for cloud-based services
CN112084009A (zh) * 2020-09-17 2020-12-15 湖南长城科技信息有限公司 PK体系下基于容器化技术构建和监控Hadoop集群与告警的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10379835B2 (en) * 2016-12-19 2019-08-13 International Business Machines Corporation Optimized creation of distributed storage and distributed processing clusters on demand
US10853124B2 (en) * 2017-09-25 2020-12-01 Splunk Inc. Managing user data in a multitenant deployment
US11099976B2 (en) * 2017-10-30 2021-08-24 Hitachi Vantara Llc Generating code for deploying cloud infrastructure

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776960A (zh) * 2016-12-05 2017-05-31 公安部第三研究所 基于微容器实现的大数据云平台
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN106850621A (zh) * 2017-02-07 2017-06-13 南京云创大数据科技股份有限公司 一种基于容器云技术快速搭建Hadoop集群的方法
CN106953910A (zh) * 2017-03-17 2017-07-14 郑州云海信息技术有限公司 一种Hadoop计算存储分离方法
WO2020232195A1 (en) * 2019-05-14 2020-11-19 Qomplx, Inc. Method for midserver facilitation of long-haul transport of telemetry for cloud-based services
CN112084009A (zh) * 2020-09-17 2020-12-15 湖南长城科技信息有限公司 PK体系下基于容器化技术构建和监控Hadoop集群与告警的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Docker容器技术在MES系统部署中的应用;相铮等;《制造业自动化》;20200425(第04期);全文 *
Hadoop分布式集群的自动化容器部署研究;李杰等;《计算机应用研究》;20160108(第11期);全文 *

Also Published As

Publication number Publication date
CN112882726A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN112882726B (zh) 基于Hadoop和Docker的环境系统的部署方法
US11621998B2 (en) Dynamic creation and execution of containerized applications in cloud computing
CN107515776B (zh) 业务不间断升级方法、待升级节点和可读存储介质
US20200218701A1 (en) Consistent data storage in distributed computing systems
US7865462B2 (en) Apparatus and method for replicating data in file system
CN107797767B (zh) 一种基于容器技术部署分布式存储系统及其存储方法
US8819672B2 (en) Multi-image migration system and method
CN107526626A (zh) 一种基于CRIU的Docker容器热迁移方法及系统
CN103491144A (zh) 一种广域网虚拟平台的构建方法
JP6739938B2 (ja) クラスタ境界にわたるサービス移行
CN107741852B (zh) 一种基于集群软件的服务部署方法
CN103095834A (zh) 一种跨虚拟化数据中心的虚拟机在线迁移方法
CN114500450B (zh) 一种域名解析方法、设备及计算机可读存储介质
CN114691290A (zh) 一种跨云平台的应用迁移系统、方法和容灾方法
CN113849137A (zh) 一种面向申威容器平台的可视化块存储方法和系统
CN111459619A (zh) 一种基于云平台实现服务的方法和装置
CN116760913B (zh) k8s集群协议转换平台配置下发方法及系统
US9485308B2 (en) Zero copy volume reconstruction
CN105022779A (zh) 一种利用Filesystem API实现HDFS文件存取方法
US20240231620A9 (en) Virtual container storage interface controller
CN114205333B (zh) Ip配置方法、集群构建方法、计算机设备及存储介质
CN115480914B (zh) 一种多租户服务的实现方法及系统
CN112003892B (zh) 一种tgt的iSCSI-target配置全局化的管理方法
CN116339926B (zh) 一种ats软件的容器化部署方法
WO2024047779A1 (ja) 仮想環境のための大容量ファイルのダウンロードの効率化

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
GR01 Patent grant
GR01 Patent grant