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