3 Star 1 Fork 0

DataManagement / ResourceManagement

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

ResourceManagement

描述

数据驱动的高端制造大数据管理系统的工具:资源规划和调度工具

软件结构

├─docs
├─glusterfs
└─management
    ├─src
    │  ├─Controllers   Heapster,Node,NodeList,Pod,PVC,PVCList,Service,ServiceList,StatefulSet等对象处理
    │  ├─Domain        Heapster,Node,NodeList,Pod,PVC,PVCList,Service,ServiceList,StatefulSet等对象的pojo
    │  ├─Enum          对象枚举类
    │  ├─Factory       POD工厂类
    │  ├─Filters       编码与压缩过滤类
    │  ├─Interfaces    公共接口
    │  ├─Listeners
    │  ├─Services     
    │  ├─Units
    │  └─Utils         工具类
    └─WebContent
        ├─assets
        │  ├─css                   公共CSS,自定义CSS
        │  └─js                    公共JS
        │      ├─footable          footable2.0.1插件
        │      └─highcharts        highcharts插件
        ├─common
        │  └─public                顶栏,侧边栏                
        ├─doc                      项目组件说明
        ├─documents
        ├─fonts
        ├─img                      公共图标
        ├─js
        ├─META-INF
        ├─plugins
        │  ├─bootstrap             bootstrap插件
        │  └─footable              footable3.1.6插件
        ├─tables
        └─WEB-INF
        │   ├─lib
        │   └─template             前端json临时存储
        │                          html页面
        ├─ add_delete.html         组件添加与删除页面
        ├─ cluster_node.html       集群信息展示页面
        ├─ dynamic_scaling.html    动态伸缩页面
        ├─ jump.html               跳转页面
        ├─ pod_service.html        POD和SERVICE信息页面
        ├─ pvc.html                PVC展示页面
        ├─ resource_estimates.html 资源预估页面
        └─ resource_schedule_allocate.html 资源调度与规划页面

项目相关介绍

资源规划和调度工具(以下简称工具)是数据驱动的高端制造大数据管理系统的分系统之一,也是科技部面向高端制造业大数据管理系统(以下简称大数据管理系统或系统)重点研发计划的一部分。由于制造业大数据多模态的特性,大数据管理系统需要具备处理时序数据,图数据,结构化数据等多种数据的能力,同时系统需要能够对其中运行的异构数据处理引擎进行细粒度的资源分配与管理。基于以上两点需求开发了本工具,本工具是一套面向容器化数据分析处理引擎的资源管理工具,基于开源的容器编排工具Kubernetes开发,利用Kubernetes针对容器强大的管理能力,同时立足于对Kubernetes进行的二次开发,实现了以下特性:

  1. 本工具针对KubernetesScheduler模块进行二次开发,在原有调度算法的基础上结合本系统的应用场景,提出并实现了多种新的调度算法并集成到KubernetesScheduler中,使用户能够使用本工具进行高效的组件调度,达到集群的高效利用。

  2. 本工具采用LSTM等多种机器学习算法,时间序列算法及其他白盒模型算法实现了对集群异构资源以及负载执行时的异构资源消耗的中短期预测。用户能够据此更充分地利用集群资源,更高效地执行数据存取及分析任务。

  3. 本工具利用第三方开源及原生开发的资源管理模块实现了对集群异构资源的实时监控,用户可以使用本工具对在多种粒度上对集群的异构资源进行监控和控制。

  4. 本工具利用Linux底层的cgroup等工具实现了对容器化数据引擎所需异构资源的管理。用户能够使用本工具对各个数据引擎进行细粒度的资源分配与划分。

  5. 本工具利用分布式文件系统实现了异构数据引擎的计算与存储分离,且得益于集群节点间高速以太网实现了高速跨界点数据存取。

  6. 本工具针对分布式与集中式数据引擎实现了自动化水平伸缩与重调度功能。得益于异构数据引擎计算与存储分离的实现,本工具能够根据各个数据引擎在负载处理时的资源使用情况进行用户透明的自动化扩容缩容操作,同时也能够针对集群的资源使用情况进行节点级别的组件重调度操作,以达到集群各个节点资源使用的相对平衡。

  7. 本工具在前端界面上应用了很多H5新特性,大大增强了前端页面的交互性和信息呈现的多样性。用户可以直观地获取获取自己需要的信息并且简单快捷地使用本工具进行各种系统运维操作。

环境准备

  • 部署集群规模:最低3个节点。

  • 操作系统:ubuntu 16.04。

  • 内存:主节点(管理节点)至少32GB;从节点至少16GB。

  • 硬盘:每个节点至少需要有两块物理硬盘或虚拟硬盘且每块硬盘的剩余空间不少于100GB。

  • Java运行环境:JDK1.8及其以上。

  • Tomcat环境:Tomcat1.8.5及其以上。

  • Kubernetes环境:需要Kubernetes版本1.9.6以上。

快速安装

安装Kubernetes集群及其它组件

该步骤需要用户下载二次开发过(增加了调度算法)的Kubernetes编排工具并在集群上进行安装,随后安装docker,分布式文件系统glusterfs以及跨主机容器通讯网络flanneld。详细的安装教程详见:

  1. Kubernetes安装教程:Kubernetes-Installation-Report

  2. glusterfs安装教程:glusterfs安装教程

制作异构数据引擎镜像

该步骤主要针对系统管理的多种异构数据引擎进行容器化操作,具体的操作步骤详见数据引擎容器化教程:

  1. 图数据引擎集成:graph-module

  2. 时序数据引擎集成:iotdb-module

  3. 结构化数据引擎集成:kingbase-module

  4. KV数据引擎集成:kv-module

  5. 非结构数据引擎集成:unstruct-module

安装必要组件

安装heapster监控组件,制作并安装Rescheduler自动伸缩组件,详细的安装步骤详见:

  1. 安装heapster教程

  2. 安装docker私有仓库:docker-private-repo

更新配置文件并编译源代码

将本仓库clone或下载到本地同时更新/src/config.xml配置文件,将其中的Kubernetes服务地址,镜像私有仓库地址等条目更新为使用者真实的地址,然后可以在本地或服务端将源代码编译成war包或其他形式,编译完成后发布到集群的Tomcat服务器中。

确认安装

启动集群中的Tomcat服务器,然后根据Tomcat所在服务器的IP地址开放端口等情况访问该URLhttp://YourIP:YourPort/ResourceManagement查看工具运行是否正常。

其他

如果您在使用中有任何问题或者发现工具有任何Bug,欢迎您在本仓库的Issues模块留下您的意见或建议。

Comments ( 0 )

Sign in for post a comment

About

资源管理工具开源仓库 spread retract
Java
Apache-2.0
Cancel

Releases

No release

Gitee Metrics

Contributors

All

Activities

load more
can not load any more
Java
1
https://gitee.com/HITMassiveData/ResourceManagement.git
git@gitee.com:HITMassiveData/ResourceManagement.git
HITMassiveData
ResourceManagement
ResourceManagement
master

Search