部署Qualitis
Qualitis是一个支持多种异构数据源的质量校验、通知、管理服务的数据质量管理平台,用于解决业务系统运行、数据中心建设及数据治理过程中的各种数据质量问题。
Qualitis基于Spring Boot,依赖于Linkis进行数据计算,提供数据质量模型构建,数据质量模型执行,数据质量任务管理,异常数据发现保存以及数据质量报表生成等功能。并提供了金融级数据质量模型资源隔离,资源管控,权限隔离等企业特性,具备高并发,高性能,高可用的大数据质量管理能力。
基础环境
Gradle (4.9)
MySQL (5.5+)
JDK (1.8.0_141)
Linkis(0.9.1), 必装
DataSphereStudio (0.7.0) 可选. 如果你想使用工作流,必装DataSphereStudio
1、安装Mysql(5.7)
#安装mysql安装源
rpm -ivh http://mirrors.ustc.edu.cn/mysql-repo/mysql57-community-release-el7.rpm
#安装mysql5.7版本
yum install mysql-community-server-5.7.25
#启动mysql
systemctl start mysqld
#查询mysql默认密码
grep 'temporary password' /var/log/mysqld.log
2020-02-11T09:49:32.224110Z 1 [Note] A temporary password is generated for root@localhost: E;ySHlql0!
#在这里我的密码是 E;ySHlql0!
#本机连接数据库,改下root密码和远程连接
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.25
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
#登录成功后,接着改下密码和远程连接
#这里因为mysql的新版本限制了密码复杂度,所以我们需要设置一个稍微复杂的密码
mysql> set password=password('这里输入你想改的密码');
Query OK, 0 rows affected, 1 warning (0.00 sec)
#开启远程连接
mysql> use mysql;
mysql> update user set Host = '%' where Host = 'localhost' and User='root';
mysql> flush privileges;
结束之后使用连接工具连接一下,如果无法连接的话查看一下防火墙是否开放了3306端口,或者你可以直接使用systemctl stop firewalld
命令停止防火墙先。
2、部署Jdk8环境
- 下载tar包
我已经将tar包放至我的云盘上了,点击前往下载(访问码:wo8d)
mkdir -p /DATA/Java/
cd /DATA/Java/
tar -zxvf jdk-8u161-linux-x64.tar
#配置java环境变量
vim /etc/profile
#java
#JAVA_HOME后面改成自己的解压路径
export JAVA_HOME=/DATA/Java/jdk1.8.0_251
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
3、部署Linkis(0.9.1)
#创建用户
sudo useradd hadoop
#修改配置
vi /etc/sudoers
#末尾增加一行
hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL
#修改安装用户的.bash_rc,这里使用hadoop为例
vim /home/hadoop/.bash_rc
#JDK
export JAVA_HOME=/DATA/Java/jdk1.8.0_251
##如果不使用Hive、Spark等引擎且不依赖Hadoop,则不需要修改以下环境变量,换句话来说就是你只用精简版的话则不需要下面的配置只需要配置一个jdk环境即可。
#HADOOP
export HADOOP_HOME=/appcom/Install/hadoop
export HADOOP_CONF_DIR=/appcom/config/hadoop-config
#Hive
export HIVE_HOME=/appcom/Install/hive
export HIVE_CONF_DIR=/appcom/config/hive-config
#Spark
export SPARK_HOME=/appcom/Install/spark
export SPARK_CONF_DIR=/appcom/config/spark-config/spark-submit
export PYSPARK_ALLOW_INSECURE_GATEWAY=1
# Pyspark必须加的参数
#下载安装包
wget https://github.com/WeBankFinTech/Linkis/releases/download/0.9.4/wedatasphere-linkis-0.9.4-dist.tar.gz
#解压包
tar -xvf wedatasphere-linkis-0.9.4-dist.tar.gz
- 不依赖HDFS的基础配置
vim conf/config.sh
#!/bin/sh
shellDir=`dirname $0`
workDir=`cd ${shellDir}/..;pwd`
#workDir=`cd /var/apps/linkis;pwd`
###
#SSH_PORT=22
### deploy user
deployUser=hadoop
### The install home path of Linkis
LINKIS_INSTALL_HOME=$workDir #Must provided
### Specifies the user workspace, which is used to store the user's script files and log files.
### Generally local directory
WORKSPACE_USER_ROOT_PATH=file:///tmp/linkis/ ##file:// required
### User's root hdfs path
#HDFS_USER_ROOT_PATH=hdfs:///tmp/linkis ##hdfs:// required
### Path to store job ResultSet:file or hdfs path
### Provide the DB information of Hive metadata database.
#HIVE_META_URL=
#HIVE_META_USER=
#HIVE_META_PASSWORD=
###HADOOP CONF DIR
###HIVE CONF DIR
###SPARK CONF DIR
################### The install Configuration of all Micro-Services #####################
#
# NOTICE:
# 1. If you just wanna try, the following micro-service configuration can be set without any settings.
# These services will be installed by default on this machine.
# 2. In order to get the most complete enterprise-level features, we strongly recommend that you install
# Linkis in a distributed manner and set the following microservice parameters
#
### EUREKA install information
### You can access it in your browser at the address below:http://${EUREKA_INSTALL_IP}:${EUREKA_PORT}
#EUREKA_INSTALL_IP=127.0.0.1 # Microservices Service Registration Discovery Center
EUREKA_PORT=20303
### Gateway install information
#GATEWAY_INSTALL_IP=127.0.0.1
GATEWAY_PORT=9001
### publicservice
#PUBLICSERVICE_INSTALL_IP=127.0.0.1
PUBLICSERVICE_PORT=9102
### Hive Metadata Query service, provide the metadata information of Hive databases.
#METADATA_INSTALL_IP=127.0.0.1
METADATA_PORT=9103
### ResourceManager
#RESOURCEMANAGER_INSTALL_IP=127.0.0.1
RESOURCEMANAGER_PORT=9104
### Spark
### This service is used to provide spark capability.
#SPARK_INSTALL_IP=127.0.0.1
SPARK_EM_PORT=9105
SPARK_ENTRANCE_PORT=9106
### Hive
### This service is used to provide hive capability.
#HIVE_INSTALL_IP=127.0.0.1
HIVE_EM_PORT=9107
HIVE_ENTRANCE_PORT=9108
### PYTHON
### This service is used to provide python capability.
#PYTHON_INSTALL_IP=127.0.0.1
PYTHON_EM_PORT=9109
PYTHON_ENTRANCE_PORT=9110
### JDBC
### This service is used to provide jdbc capability.
#JDBC_INSTALL_IP=127.0.0.1
JDBC_ENTRANCE_PORT=9111
### SHELL
### This service is used to provide shell capability.
#SHELL_INSTALL_IP=127.0.0.1
SHELL_EM_PORT=9114
SHELL_ENTRANCE_PORT=9115
### BML
### This service is used to provide BML capability.
#BML_INSTALL_IP=127.0.0.1
BML_PORT=9113
### cs
#CS_INSTALL_IP=127.0.0.1
CS_PORT=9116
### datasource management server
#DSM_INSTALL_IP=127.0.0.1
DSM_PORT=9117
### metadata management server
#MDM_INSTALL_IP=127.0.0.1
MDM_PORT=9118
########################################################################################
## LDAP is for enterprise authorization, if you just want to have a try, ignore it.
#LDAP_URL=ldap://localhost:1389/
#LDAP_BASEDN=dc=webank,dc=com
## java application default jvm memory
export SERVER_HEAP_SIZE="512M"
LINKIS_VERSION=0.9.4
- 依赖HDFS/Hive/Spark的基础配置
依赖HDFS/Hive/Spark这些环境的话,只需在默认配置上修改上你正确的地址即可。可以参考下面的Demo。
SSH_PORT=22 #指定SSH端口,如果单机版本安装可以不配置
deployUser=hadoop #指定部署用户
WORKSPACE_USER_ROOT_PATH=file:///tmp/hadoop # 指定用户根目录,一般用于存储用户的脚本文件和日志文件等,是用户的工作空间。
RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis # 结果集文件路径,用于存储Job的结果集文件
ENGINECONN_ROOT_PATH=/appcom/tmp #存放ECP的安装路径,需要部署用户有写权限的本地目录
ENTRANCE_CONFIG_LOG_PATH=hdfs:///tmp/linkis/ #ENTRANCE的日志路径
#因为1.0支持多Yarn集群,使用到Yarn队列资源的一定需要配置YARN_RESTFUL_URL
YARN_RESTFUL_URL=http://127.0.0.1:8088 #Yarn的ResourceManager的地址
# 如果您想配合Scriptis一起使用,CDH版的Hive,还需要配置如下参数(社区版Hive可忽略该配置)
HIVE_META_URL=jdbc://... # HiveMeta元数据库的URL
HIVE_META_USER= # HiveMeta元数据库的用户
HIVE_META_PASSWORD= # HiveMeta元数据库的密码
# 配置hadoop/hive/spark的配置目录
HADOOP_CONF_DIR=/appcom/config/hadoop-config #hadoop的conf目录
HIVE_CONF_DIR=/appcom/config/hive-config #hive的conf目录
SPARK_CONF_DIR=/appcom/config/spark-config #spark的conf目录
- 修改数据库配置
记得自己提前创建好一个库
vi db/db.sh
# 设置数据库的连接信息
# 包括IP地址、数据库名称、用户名、端口
# 主要用于存储用户的自定义变量、配置参数、UDF和小函数,以及提供JobHistory的底层存储
MYSQL_HOST=10.228.81.127
MYSQL_PORT=3306
MYSQL_DB=linkis
MYSQL_USER=root
MYSQL_PASSWORD=123456
- 安装linkis
sh bin/install.sh
install.sh脚本会询问您是否需要初始化数据库并导入元数据。因为担心用户重复执行install.sh脚本,把数据库中的用户数据清空,所以在install.sh执行时,会询问用户是否需要初始化数据库并导入元数据.第一次安装必须选是。
- 启动linkis
sh bin/linkis-start-all.sh> start.log 2>start_error.log
- 查看是否启动成功
访问「http://ip:20303/」网址看看是否正常访问
4、部署Gradle (4.9)
- 下载安装包
安装包已经放置我的网盘上了,有需要的可前去下载点击前往(访问码:btz6)
- 开始部署
mkdir -p /var/apps/gradle
unzip -d /var/apps/gradle gradle-4.9-all.zip
vim /etc/profile.d/gradle.sh
export PATH=$PATH:/var/apps/gradle/gradle-4.9/bin
exec bash
gradle -v
------------------------------------------------------------
Gradle 4.9
------------------------------------------------------------
Build time: 2018-07-16 08:14:03 UTC
Revision: efcf8c1cf533b03c70f394f270f46a174c738efc
Kotlin DSL: 0.18.4
Kotlin: 1.2.41
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 1.8.0_161 (Oracle Corporation 25.161-b12)
OS: Linux 3.10.0-1062.el7.x86_64 amd64
5、部署Qualitis单机版
#下载包
wget https://github.com/WeBankFinTech/Qualitis/releases/download/release-0.8.0/wedatasphere-qualitis-0.8.0.zip
mkdir -p /var/apps/qualitis
unzip -d /var/apps/qualitis wedatasphere-qualitis-0.8.0.zip
cd /var/apps/qualitis/qualitis-0.8.0/conf/database
#连接数据库,初始化数据
mysql -u root -p
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7200
Server version: 5.7.25 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
#这个qualitis库需要提前创建好的,我们切换到这个库
mysql> use qualitis;
#初始化这个库
mysql> source init.sql
#退出
mysql> exit;
#修改配置文件
vim /var/apps/qualitis/qualitis-0.8.0/conf/application-dev.yml
#修改这几个字段
spring:
datasource:
username: 你的数据库账号
password: 你的数据库密码
url: jdbc:mysql://数据库地址:端口/库名?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8
#task下面的数据库连接账号,密码,地址与上面是一致的。我已经填好了。大家做个参考。
task:
persistent:
type: jdbc
username: root
password: 123456
address: jdbc:mysql://10.228.81.127:3306/qualitis?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8
#启动系统
dos2unix bin/*
sh bin/start.sh
- 登陆验证
浏览器访问「ip:8090」,出现一下界面说明已正常启动
默认账号密码是admin,admin
6、各个服务部署参考链接
mysql
jdk1.8
linkis0.9.1
Gradle4.9
Qualitis官网地址
更多学习请关注「自在拉基」公众号。