三分钟带你了解一站式大数据平台运维管家ChengYing产品包制作
课件获取:关注公众号 “数栈研习社”,后台私信 “ChengYing” 获得直播课件
视频回放:点击这里
ChengYing 开源项目地址:github 丨 gitee 喜欢我们的项目给我们点个__ STAR!STAR!!STAR!!!(重要的事情说三遍)__
技术交流钉钉 qun:30537511
产品包的构成
01 产品包制作前置条件
在制作产品包之前,我们首先要完成以下3个步骤:
ChengYing已部署完成,ChengYing的部署内容可以参考【ChengYing安装原理】。
组件原料准备完成(组件原料主要是指已经编译完成的二进制包)。
当以上两个步骤完成之后,我们就可以开始产品包的制作。
02 产品包构成
产品包主要由schema.yml及各服务目录组成。Schema主要主要描述产品的组成,是一个编排文件,服务目录类似于工作目录,也有可能是静态组件,我们以下面两个产品包介绍为例:
● 基础服务包
上层应用所依赖的服务、例如mysql、zookeeper等服务,其目录结构如下:
● Java应用包
Java应用层产品包、包含的组件,前端,后端,sql组件、其目录结构如下:
Schema解析&产品包制作
接下来我们来重点了解下Schema相关的内容。
01 Schema解析
Schema.yml是整个产品包的核心文件,其内容主要描述了产品包里所有组件信息以及配置变量。
-
产品所属父级名称(parent_product_name)
-
产品名称(product_name)
-
产品版本(product_version)
-
服务名(service)
配置文件(application.properties)
schem语法参考:
https://dtstack.github.io/chengying-web/docs/chengyingDocs/introduction/schema
02 部署流程
部署流程在上述的Schema解析中都有体现,主要是以下流程:
● 安装(install)
从ChengYing服务端下载组件,并执行post_deploy.sh脚本,成功则进行下一步。
● 启动(running)
执行Schema文件中所定义的启动脚本,执行失败,脚本返回“1”则表示run failed ,反之则表示启动成功。
● 健康检查(healthy-check)
定时执行健康检查脚本(health.sh)。
案例分享
接下来为大家分享两个ChengYing产品包制作的案例
01 Base包制作
以Base产品包为例,其中主要包含zookeeper,mysql,mysql_slaves等组件。
1.官网下载二进制安装包
2.脚本编写(启动脚本,监控脚本,部署脚本)
3.提取参数,编写Schema
4.使用Mero工具制作产品包
产品包地址:
curl http://172.0.0.1:8864/api/v2/product/upload -F 'package=@DTBase_2.1.19.tar'
注意:IP为ChengYying所在服务的节点ip,产品包则是执行mero命令后所生成的文件
02 Taier产品包制作
Taier属于Java应用,前后端分离部署的架构模式。
1.下载前端代码,进行编译获取编译后的js文件
2.下载后端代码,进行编译后获取编译后jar包
3.按模块划分目录
4.提取参数,编写schema
5.使用mero工具制作产品包
产品包地址:
curl http://172.0.0.1:8864/api/v2/product/upload -F 'package=@Taier_4.2.1_rel.tar'
注意:IP为ChengYying所在服务的节点ip,产品包则是执行mero命令后所生成的文件
03 附录
● 关于Base产品包
Mysql二进制包:
https://downloads.mysql.com/archives/community/
Zookeeper二进制包下载:
https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/
● 关于Taier产品包
Taier源码下载:https://github.com/DTStack/Taier
前端编译命令:npm run build
后端编译命令:mvn clean package -DskipTests -T 1C -pl taier-data-develop,taier-common,taier-worker/taier plugins -am –amd
● Mero下载地址
https://dtstack-opensource.oss-cn-hangzhou.aliyuncs.com/chengying/mero
袋鼠云开源框架钉钉技术交流qun(30537511),欢迎对大数据开源项目有兴趣的同学加入交流最新技术信息,开源项目库地址:https://github.com/DTStack/Taier