WeDataSphere
WeDataSphere copied to clipboard
【有奖征文】DSS实践
技术选型
公司所处的是金融服务类的行业,需要给不同银行/公司实施一整套的项目。所以筛选了一圈发现DSS是跟公司场景最吻合的。
改造过程
(1)单点登录 因为公司的服务方向是基于业务会有很多系统一整套的输出,所以第一个改造过程就是让DSS接进公司的单点登录系统。 第一步就是把dss整套先都搭建起来,过程很酸爽 :-)但排除各种问题完整搭建起来后还是非常有成就感的。 在整合过程中顺便提了个issues:https://github.com/WeBankFinTech/Linkis/issues/489
(2)脚本加密 因为公司规划里不想让客户知道具体执行了什么脚本,所以对所有的存储文件、脚本都做了加密,只有在界面跟底层引擎执行时才能看到具体真正的执行逻辑。
(3)适配Oracle、pg 默认DSS jdbc和visualis对 Oracle/pg的适配有些bug,因为后续的输出公司很多都会有极大可能用到Oracle,所以针对这个改动了一些
(4)界面适配 根据公司系统的风格,重新设计了首页,并且给workspace增加了删除的功能
(5)引入Schedulis 默认的DSS全家桶安装包里只有standalone的azkaban,不符合输出的要求,而且发现Schedulis也开源了,Schedulis还是添加了很多实用功能的,比如web节点的高可用,支持用户管理/exec的用户分配管理等等,所以用Schedulis替换了原先 standalone 的 azkaban。过程发现 Schedulis 对 azkaban 的改动还是蛮大的(webank牛逼)
(6)优化一键部署脚本 原先的一键部署脚本因为这里引入了Schedulis,并且去掉了qualitis,所以有稍稍优化一下,也优化了一些再分布式部署时的一些小问题
(7)所有数据文件接入HDFS 因为生产高可用的场景下DSS的脚本文件放在本地物理机上的话可能会造成脚本文件的丢失,所以修改点前端代码将脚本文件允许保存到hdfs ...
后续改造方案
(1)优化一键部署脚本,使得能够一键部署分布式、高可用的DSS (2)尝试改造 linkis-gateway 成无状态的服务 (2)合并服务,现在DSS整套搭建起来服务还是很多的,维护起来不是很方便(社区1.0版本好像有这个方案) (3)适配华为大数据平台:在实施过程中因为很多公司都是基于华为大数据平台的,目前在适配过程中发现了很多问题导致用不了hive、spark engine,被迫转向用jdbc entrance去连Oracle 呜呜呜 (4)整合公司的API服务网关 (5)整合Exchangis数据交换平台