課件獲取:關註公眾號 “數棧研習社”,後臺私信 “ChengYing” 獲得直播課件 視頻回放:點擊這裡 ChengYing 開源項目地址:github 丨 gitee 喜歡我們的項目給我們點個__ STAR!STAR!!STAR!!!(重要的事情說三遍)__ 技術交流釘釘 qun:30537511 ...
課件獲取:關註公眾號 “數棧研習社”,後臺私信 “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