1. 編譯項目
git clone linkis.git
cd linkis-x.x.x
mvn -N install
mvn clean install
編譯完成后完整包在工程目錄 linkis-x.x.x/linkis-dist/target/out
社區默認只有物理部署,這個安裝包是帶自動化安裝腳本的,下面的鏡像制作也是基于這個編譯目錄
2. 制作鏡像
linkis容器化和其他后端項目容器化的差異在于他和大數據底座依賴嚴重
linkis大部分服務都可以用公共的base鏡像,鏡像比較簡單,就是把linkis編譯的包制作成鏡像(后期可以優化)
linkis-base.Dockerfile如下
# 基礎的centos鏡像
FROM harbor.ctyuncdn.cn/ga-bdmp/bdmp-docker-base:v1.0.0
WORKDIR /opt/linkis/linkis-package
# 啟動用戶用的是hdfs,所以新建了一個hdfs用戶,并多workdir做了個調整權限調整
RUN useradd --create-home --no-log-init --shell /bin/bash hdfs -G root
RUN usermod -aG wheel hdfs
#減小分層,壓縮鏡像體積
COPY --chown=hdfs:hdfs ./ /opt/
另外一塊是設計任務提交的服務,和大數據底座交互比較密切,單獨做了一個鏡像
3. 微服務節點及掛載的要求(后續計劃去hdfs依賴,這樣只有linkis-cg-ecm涉及大數據節點要求)
linkis-mg-eureka
linkis-mg-gateway
變更內容:1-2,2-1
linkis-cg-linkismanager
linkis-ps-cs
linkis-ps-metadataquery
linkis-ps-data-source
變更內容:1-1 ,2-1
linkis-cg-engineplugin
linkis-ps-publicservice
linkis-cg-entrance
變更內容:1-2 ,2-2,2-3,2-4,2-1
linkis-cg-ecm
變更內容:1-2 ,2-2,2-3,2-4, 2-5, 2-6,2-1
1-1 Node 調度: 所有節點
1-2 指定node. 客戶端節點(測試環境為192.168.6.9)
2-1 掛載config-map:名稱linkis-conf; 權限644; config map name:linkis-conf;mount:/opt/linkis/linkis-package/conf
2-2 hadoop。/usr/local/hadoop3 /usr/local/hadoop3
2-3 krb5 /etc/krb5.conf /etc/krb5.conf
2-4 keytabs。/etc/security/keytabs /etc/security/keytabs
2-5 spark。/usr/local/spark3 /usr/local/spark3
2-6 hive。/usr/local/hive /usr/local/hive