论文部分内容阅读
【摘要】 本文为满足民办高校实训教学计算能力、存储能力和高可用性需求,提出了基于Docker的高可用云平台实训部署架构设计。
【关键词】 Docker 高可用 架构
一、引言
本文将Docker与Hadoop技术应用于高校实训教学平台,结合高可用特性,满足高校实训平台模块化教学、按需组合、按需扩展和快速布署的需求。
二、应用技术研究
云计算是通过网络统一组织和灵活调用软件、运行平台、计算与存储等资源,实现大规模计算的信息处理方式。Hadoop大数据处理平台需要较高的读写速率。传统虚拟化技术无法达到真实物理主机的水平,难以灵活配置文件和自动化创建、部署机制[1]。Docker作为轻量级虚拟化容器技术,具有可移植、易使用、跨平台等优势[3],其使用Linux内核,能够达到接近物理主机的资源利用率,主要包括以下组件:
Docker Client:客户端与Docker Daemon守护进程通信,现实对Docker Container的管理[3]。
Docker Daemon:常驻Linux系统,启动Docker Server进程接受Docker Client的请求,Docker Server根据请求内容将其发到对应的Docker应用服务容器处理。
Docker Registry:存儲应用服务的容器镜像,支持创建、搜索、下载和上传镜像。官方Docker Hub可搭建私有镜像库[2]。
Docker Container:承载应用服务的主体,按指定应用服务容器镜像计算资源配额、网络参数、安全策略等生成相应的应用服务隔离进程。
容器化应用交由Kubernetes管理,目标是简单且高效的部署、规划、更新、维护,满足学生和教师不同教学模块。Hadoop集群本身也提供一定的系统高可用性。
三、实训平台架构设计
以《面向对象程序设计》和《Hadoop技术》两门课程为例,均需安装JDK、Eclipse、MySQL搭建教学和开发环境。虚拟化和容器技术透明化底层物理硬件,可充分利用老旧硬件。集群方式根据计算和性能需求动态添加。
将常用应用做成镜像存储在Docker Registry中,使用Dockerfile文件,拉取系统镜像,让镜像根据Dockerfile文件的内容自己编译安装,减少下载内容和人为干预,减少出错。Dockerfile文件机制:
1)下载基础系统镜像;
2)使用Dockerfile的内建指令下载安装软件;
3)使用Dockerfile内建指令加载对应的配置文件。
基于Docker的高可用云平台架构设计[4]。如下图:
高可用性:底层数据库采用基于Galera Cluster的双活多主MariaDB集群,实现多主架构、同步复制、紧密耦合、无需主从切换、热Standby、自动节点配置、对应用透明、无需进行读写分离。
数据存储:采用FastDFS,解决大容量存储和负载均衡。
集群应用服务器:采用Redis共享Session和Tomcat集群,实现动态添加节点。
四、结束语
本文提出的基于Docker的高可用性云平台架构是一种新型的、动态化的系统部署方式,为高校实训应用部署提供了一种有效途径参考。
参 考 文 献
[1] 赵乐乐,黄刚,马越. 基于Docker的Hadoop平台架构研究. 计算机技术与发展. 2016年9月.第26卷,第9期. 99-103
[2] 张建,谢天钧. 基于Docker的平台即服务架构研究. 信息技术与信息化. 2014年11月. 第10期. 131-134
[3] 孙宏亮.Docker源码分析(一):Docker 架构[EB/OL].[2014-09-25].http: / / www.infoq.com /cn/arti-cles /docker-source-code-analysis-part1.
[4] 张利修. 基于Docker的高可用性应用集群架构研究_张利修. 数字技术与应用. 2017年12月021. 39-40
【关键词】 Docker 高可用 架构
一、引言
本文将Docker与Hadoop技术应用于高校实训教学平台,结合高可用特性,满足高校实训平台模块化教学、按需组合、按需扩展和快速布署的需求。
二、应用技术研究
云计算是通过网络统一组织和灵活调用软件、运行平台、计算与存储等资源,实现大规模计算的信息处理方式。Hadoop大数据处理平台需要较高的读写速率。传统虚拟化技术无法达到真实物理主机的水平,难以灵活配置文件和自动化创建、部署机制[1]。Docker作为轻量级虚拟化容器技术,具有可移植、易使用、跨平台等优势[3],其使用Linux内核,能够达到接近物理主机的资源利用率,主要包括以下组件:
Docker Client:客户端与Docker Daemon守护进程通信,现实对Docker Container的管理[3]。
Docker Daemon:常驻Linux系统,启动Docker Server进程接受Docker Client的请求,Docker Server根据请求内容将其发到对应的Docker应用服务容器处理。
Docker Registry:存儲应用服务的容器镜像,支持创建、搜索、下载和上传镜像。官方Docker Hub可搭建私有镜像库[2]。
Docker Container:承载应用服务的主体,按指定应用服务容器镜像计算资源配额、网络参数、安全策略等生成相应的应用服务隔离进程。
容器化应用交由Kubernetes管理,目标是简单且高效的部署、规划、更新、维护,满足学生和教师不同教学模块。Hadoop集群本身也提供一定的系统高可用性。
三、实训平台架构设计
以《面向对象程序设计》和《Hadoop技术》两门课程为例,均需安装JDK、Eclipse、MySQL搭建教学和开发环境。虚拟化和容器技术透明化底层物理硬件,可充分利用老旧硬件。集群方式根据计算和性能需求动态添加。
将常用应用做成镜像存储在Docker Registry中,使用Dockerfile文件,拉取系统镜像,让镜像根据Dockerfile文件的内容自己编译安装,减少下载内容和人为干预,减少出错。Dockerfile文件机制:
1)下载基础系统镜像;
2)使用Dockerfile的内建指令下载安装软件;
3)使用Dockerfile内建指令加载对应的配置文件。
基于Docker的高可用云平台架构设计[4]。如下图:
高可用性:底层数据库采用基于Galera Cluster的双活多主MariaDB集群,实现多主架构、同步复制、紧密耦合、无需主从切换、热Standby、自动节点配置、对应用透明、无需进行读写分离。
数据存储:采用FastDFS,解决大容量存储和负载均衡。
集群应用服务器:采用Redis共享Session和Tomcat集群,实现动态添加节点。
四、结束语
本文提出的基于Docker的高可用性云平台架构是一种新型的、动态化的系统部署方式,为高校实训应用部署提供了一种有效途径参考。
参 考 文 献
[1] 赵乐乐,黄刚,马越. 基于Docker的Hadoop平台架构研究. 计算机技术与发展. 2016年9月.第26卷,第9期. 99-103
[2] 张建,谢天钧. 基于Docker的平台即服务架构研究. 信息技术与信息化. 2014年11月. 第10期. 131-134
[3] 孙宏亮.Docker源码分析(一):Docker 架构[EB/OL].[2014-09-25].http: / / www.infoq.com /cn/arti-cles /docker-source-code-analysis-part1.
[4] 张利修. 基于Docker的高可用性应用集群架构研究_张利修. 数字技术与应用. 2017年12月021. 39-40