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

2022-11-09 19:08:20 浏览数 (1)

课件获取:关注公众号 “数栈研习社”,后台私信 “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

开源项目库地址:https://github.com/DTStack/Taier

0 人点赞