部署Qualitis

摘要:
Quality是一个数据质量管理平台,支持多个异构数据源的质量验证、通知和管理服务,用于解决业务系统运行、数据中心建设和数据治理过程中的各种数据质量问题。质量基于SpringBoot,并依赖Linkis进行数据计算。它提供了数据质量模型构建、数据质量模型执行、数据质量任务管理、异常数据发现和保存以及数据质量报告生成等功能。基本环境Gradle(4.9)MySQL JDKLinkis必须安装DataSphere Studio(可选)。如果要使用工作流,必须安装DataSphere Studio1,安装MySQL(5.7)#安装MySQL安装源rpm-ivhhttp://mirrors.ustc.edu.cn/mysql-repo/mysql57-community-release-el7.rpm#安装mysql5.7版本yumeinstallmysql-community-server-5.7.225#启动mysqlsystemctlstartmysqld#查询mysql默认密码grep'temporarypassword'/var/log/mysqld.log2020-02-11T09:49:32.224110Z1[注意]Atemporarypasswordisgeneratedforroot@localhost:E;是啊!

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命令停止防火墙先。

部署Qualitis第1张

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/」网址看看是否正常访问

部署Qualitis第2张

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」,出现一下界面说明已正常启动

部署Qualitis第3张

默认账号密码是admin,admin

部署Qualitis第4张

6、各个服务部署参考链接

mysql
jdk1.8
linkis0.9.1
Gradle4.9
Qualitis官网地址

更多学习请关注「自在拉基」公众号。

免责声明:文章转载自《部署Qualitis》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇并发编程学习笔记(十二、AQS同步器源码解析1,AQS独占锁)简单入手 vuex--状态管理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

spark安装配置

准备:1. 规划3个集群节点:hosts主机都已经配置好映射,映射主机名分别为master,slave1,slave2,且已经进行ssh免密配置,确保端口互通,防火墙关闭 2. 先安装好scala(参考:https://www.cnblogs.com/sea520/p/13518158.html) 一. 下载spark安装包下载地址:https://ar...

Oracle 11g 数据类型

  Oracle 11g Datatypes VARCHAR2(size [BYTE | CHAR]) 可变长度的字符串的最大长度有大小字节或字符。最大尺寸是4000字节或字符,最低为1个字节或1个字符。您必须指定VARCHAR2大小。 字节表示该列将有字节长度语义。 CHAR列表示将字符语义。 NVARCHAR2(size) 可变长度的Unicode字符...

MySQL集群常见高可用方案(转)

1. 概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。 用作备份、只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保持一致。 当业务发生数据库切换时,切换前后的数据库内容应当一致,不会因为数据缺...

error connecting: Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置

【参考】Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置 【参考】【数据库-MySql】 MySqlConnection error connecting: Timeout expired. 【参考】查看mysql数据库连接数、并发数相关信息的命令 解决方案: 1、如果是操作同一个数据库,建议只创建一次...

MySQL高级知识(八)——ORDER BY优化

前言:在使用order by时,经常出现Using filesort,因此对于此类sql语句需尽力优化,使其尽量使用Using index。 0.准备 #1.创建test表。 drop table if exists test; create table test( id int primary key auto_increment, c1 var...

Mysql:语法:自增列

属性:自增列不必是:唯一的、primary、正数、bigint 属性:auto_increment 是mysql在表列定义中的一个可选属性,和默认值属性冲突。 属性:必须定义在该列上的索引! 属性:应用于number类型的列:包括各种整数、浮点数、定点数 属性:自增列可以和普通的数字类型属性(unsigned、zerofill的)、约束(null、not...