草庐IT

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

数栈DTinsight 2023-03-28 原文

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

有关三分钟带你了解一站式大数据平台运维管家ChengYing产品包制作的更多相关文章

  1. ruby - 了解在 Ruby 中与 lambda 一起使用的 inject 行为 - 2

    我经常将预配置的lambda插入可枚举的方法中,例如“map”、“select”等。但是“注入(inject)”的行为似乎有所不同。例如与mult4=lambda{|item|item*4}然后(5..10).map&mult4给我[20,24,28,32,36,40]但是,如果我制作一个2参数lambda用于像这样的注入(inject),multL=lambda{|product,n|product*n}我想说(5..10).inject(2)&multL因为“inject”有一个可选的单个初始值参数,但这给了我......irb(main):027:0>(5..10).inject

  2. ruby-on-rails - 如何测试自己对 Ruby/ROR 的了解? - 2

    是否有self验证的问题列表。看着那个,我可以确定我知道。我应该复习一下。在学习的过程中,我列了一个这样的list,但它只包含我在某处听说过的项目。我需要一段时间才能找到新的东西。 最佳答案 以下是针对ruby​​和Rails的一些测试列表。证书名称:RubyonRails谁提供:oDeskIncorporation认证费用:免费网站:https://www.odesk.com/tests/985?pos=0证书名称:RubyonRails提供者:Techgig.com(TimesBusinessSolutionsLimited(T

  3. ruby-on-rails - 了解 "attribute_will_change!"方法 - 2

    我想覆盖store_accessor的getter。可以查到here.代码在这里:#Fileactiverecord/lib/active_record/store.rb,line74defstore_accessor(store_attribute,*keys)keys=keys.flatten_store_accessors_module.module_evaldokeys.eachdo|key|define_method("#{key}=")do|value|write_store_attribute(store_attribute,key,value)enddefine_met

  4. ruby - 我怎样才能更好地了解/了解更多关于 Ruby 的知识? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?

  5. 三分钟集成 TapTap 防沉迷 SDK(Unity 版) - 2

    三分钟集成Tap防沉迷SDK(Unity版)一、SDK介绍基于国家对上线所有游戏必须增加防沉迷功能的政策下,TapTap推出防沉迷SDK,供游戏开发者进行接入;允许未成年用户在周五、六、日以及法定节假日晚上8:00-9:00进行游戏,防沉谜时间段进入游戏会弹窗进行提示!开发环境要求:Unity2019.4或更高版本iOS10或更高版本Android5.0(APIlevel21)或更高版本🔗Unity集成Demo参考链接🔗UnityTapSDK功能体验APK下载链接二、集成前准备1.创建应用进入开发者后台,按照提示开始创建应用;2.开通服务在使用TDS实名认证和防沉迷服务之前,需要在上面创建的应

  6. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  7. ruby-on-rails - 正确了解 Rails 框架的最佳方式是什么? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我一直在Rails上做两个项目,它们运行良好,但在这个过程中重新发明了轮子,自来水(和热水)和止痛药,正如我随后了解到的那样,这些已经存在于框架中。那么基本上,正确了解框架中所有智能部分的最佳方法是什么,这将节省时间而不是自己构建已经实现的功能?从第1页开始阅读文档?是否有公开所有内容的特定示例应用程序?一个特定的开源项目?所有的rails交通?还是完全

  8. ruby - 了解 Ruby Enumerable#map(具有更复杂的 block ) - 2

    假设我有一个函数defodd_or_evennifn%2==0return:evenelsereturn:oddendend我有一个简单的可枚举数组simple=[1,2,3,4,5]然后我用我的函数在map中运行它,使用一个do-endblock:simple.mapdo|n|odd_or_even(n)end#=>[:odd,:even,:odd,:even,:odd]如果不首先定义函数,我怎么能做到这一点?例如,#doesnotworksimple.mapdo|n|ifn%2==0return:evenelsereturn:oddendend#Desiredresult:#=>[

  9. ruby-on-rails - 应用程序显示错误的小时和分钟 - 2

    起初:那不是错误区域的问题。在irb和数据库中,一切都很好。当我想在我的View中显示日期(created_at、updated_at和所有由我自己在每个模型中定义的日期)时,就会出现问题。我试图在application.rb中设置时区并从初始化程序中删除时间格式,但这并没有解决我的问题。Annotategem生成的架构信息:#created_at:datetime#updated_at:datetime#publish_at:datetime来自irb:1.9.2-p290:004>Time.zone=>(GMT+00:00)UTC1.9.2-p290:005>Time.zone.n

  10. ruby - 了解 Ruby 中赋值和逻辑运算符的优先级 - 2

    在以下示例中,我无法理解Ruby运算符的优先级:x=1&&y=2由于&&的优先级高于=,我的理解是类似于+和*运算符:1+2*3+4解析为1+(2*3)+4它应该等于:x=(1&&y)=2但是,所有Ruby源代码(包括内部语法解析器Ripper)都将其解析为x=(1&&(y=2))为什么?编辑[08.01.2016]让我们关注一个子表达式:1&&y=2根据优先规则,我们应该尝试将其解析为:(1&&y)=2这没有意义,因为=需要特定的LHS(变量、常量、[]数组项等)。但是既然(1&&y)是一个正确的表达式,那么解析器应该如何处理呢?我试过咨询Ruby的parse.y,但它太像意大利面条

随机推荐