博客 三分钟带你了解一站式大数据平台运维管家ChengYing产品包制作

三分钟带你了解一站式大数据平台运维管家ChengYing产品包制作

   数栈君   发表于 2022-11-09 19:10  102  0

产品包的构成

01 产品包制作前置条件

在制作产品包之前,我们首先要完成以下 3 个步骤:

ChengYing 已部署完成,ChengYing 的部署内容可以参考【ChengYing 安装原理】。

组件原料准备完成(组件原料主要是指已经编译完成的二进制包)。

当以上两个步骤完成之后,我们就可以开始产品包的制作。

02 产品包构成

产品包主要由 schema.yml 及各服务目录组成。Schema 主要主要描述产品的组成,是一个编排文件,服务目录类似于工作目录,也有可能是静态组件,我们以下面两个产品包介绍为例:

● 基础服务包

上层应用所依赖的服务、例如 mysql、zookeeper 等服务,其目录结构如下:

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/a5eb8a99870a7d2242fea0603587e333..png

● Java 应用包

Java 应用层产品包、包含的组件,前端,后端,sql 组件、其目录结构如下:

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/1029fbfe3f0e47f0355595cb3adab6d7..png

Schema 解析 & 产品包制作

接下来我们来重点了解下 Schema 相关的内容。

01 Schema 解析

Schema.yml 是整个产品包的核心文件,其内容主要描述了产品包里所有组件信息以及配置变量。

  • 产品所属父级名称 (parent_product_name)

  • 产品名称 (product_name)

  • 产品版本(product_version)

  • 服务名(service)

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/3dd4ab1eea264fd91782b2511babd5a3..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/58e2eda6b9e162c37555c9fad1b6acab..png

配置文件(application.properties)

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/787237d6a8fdae5018962cd7b5d78bee..png

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

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群