DSS与Schedulis的集成安装教程(单机)

DSS与Schedulis的集成安装教程(单机)

Schedulis是微众银行大数据平台室开源的工作流调度系统,通过在DSS中安装配置AppConn插件,可以实现DSS开发的工作流发布到Schedulis定时调度执行。

1. 安装前准备

    1. 首先需要安装DSS,通过一键安装部署脚本或单独安装,可以参考DSS安装文档。
    2. 安装完DSS后,可以实现基本的DSS交互式分析和工作流执行任务,如果需要DSS工作流发布到Schedulis调度执行,首先需要安装并运行Schedulis

步骤:

一)、使用前置

  1. 请基于 Linux 操作系统操作(建议 CentOS)

  2. 创建新用户 hadoop, 并为该用户赋予 root 权限,用于部署schedulis

    # 创建用户hadoop
    adduser hadoop
    # 设置hadoop用户的密码
    passwd hadoop123
    # 赋予hadoop用户最高的权限
    hadoop  ALL=(ALL)       NOPASSWD: NOPASSWD: ALL
    
  3. 准备好 MySQL(版本5.5+) 的客户端和服务端

  4. 请确保已安装并且正确配置 JDK(版本1.8+)

  5. 配置集群各节点之间的免密码登录

  6. 请准备一台已经正确安装和配置 Maven(版本3.3+) 和 Git 的机器,用来编译代码

    二)、获取项目文件并编译打包

    1. 使用 Git 下载 Schedulis 项目文件 git clone https://github.com/WeBankFinTech/Schedulis.git

      我下载的是zip包,下载地址:

      https://github.com/WeBankFinTech/Schedulis/tree/release-0.6.1

      [root@server19 code]# unzip -n Schedulis-release-0.6.1.zip 
      
    2. 下载jobtype插件的依赖和配置,链接:https://pan.baidu.com/s/1FuSBdgdTAHL1PxUXnfbLBw 提取码:0cpo;

      [root@server19 code]# ll
      total 130212
      drwxr-xr-x. 13 root root      4096 Sep 19 23:17 jobtypes
      -rw-r--r--.  1 root root 124301322 Nov 16 06:50 jobtypes-0.6.1.zip
      drwxr-xr-x. 18 root root      4096 Dec 25  2020 schedulis-0.6.1
      -rw-r--r--.  1 root root   9022869 Nov 16 15:07 Schedulis-release-0.6.1.zip
      
    3. 进入项目文件的根目录下,将第二步中下载的jobtypes文件解压后,将整个jobtypes文件夹放入项目module(azkaban-jobtyope)的根目录,

      [root@server19 azkaban-jobtype]# cp -r /home/code/jobtypes  /home/code/schedulis-0.6.1/azkaban-jobtype/
      [root@server19 azkaban-jobtype]# ll
      total 24
      -rw-r--r--.  1 root root   309 Dec 25  2020 assembly.xml
      drwxr-xr-x. 13 root root  4096 Nov 16 15:24 jobtypes
      -rw-r--r--.  1 root root 14233 Dec 25  2020 pom.xml
      drwxr-xr-x.  5 root root    46 Dec 25  2020 src
      

      然后使用 Maven 来编译打包整个项目

      mvn clean install -Dmaven.test.skip=true
      待整个项目编译打包成功后,用户可以在这两个服务(azkaban-web-server 和 azkaban-exec-server)各自的 target 目录下找到相应的 .ZIP 安装包(schedulis_web.zip 和 schedulis_exec.zip)。

      [root@server19 target]# ll
      total 87800
      drwxr-xr-x. 4 root root     4096 Nov 16 15:52 apidocs
      drwxr-xr-x. 3 root root       45 Nov 16 15:52 archive-tmp
      -rw-r--r--. 1 root root   427901 Nov 16 15:52 azkaban-web-server-0.6.0.jar
      -rw-r--r--. 1 root root   446427 Nov 16 15:52 azkaban-web-server-0.6.0-javadoc.jar
      -rw-r--r--. 1 root root   294414 Nov 16 15:52 azkaban-web-server-0.6.0-sources.jar
      drwxr-xr-x. 3 root root       65 Nov 16 15:52 bin
      drwxr-xr-x. 4 root root       32 Nov 16 15:51 classes
      drwxr-xr-x. 2 root root       99 Nov 16 15:52 conf
      drwxr-xr-x. 3 root root       25 Nov 16 15:51 generated-sources
      drwxr-xr-x. 2 root root       71 Nov 16 15:52 javadoc-bundle-options
      drwxr-xr-x. 2 root root     8192 Nov 16 15:52 lib
      drwxr-xr-x. 2 root root       28 Nov 16 15:52 maven-archiver
      drwxr-xr-x. 3 root root       35 Nov 16 15:51 maven-status
      -rw-r--r--. 1 root root 88716409 Nov 16 15:52 schedulis_0.6.0_web.zip
      drwxr-xr-x. 3 root root      242 Nov 16 15:52 test-classes
      drwxr-xr-x. 6 root root       73 Nov 16 15:52 web
      
      
      
      
      
      [root@server19 target]# pwd
      /home/code/schedulis-0.6.1/azkaban-exec-server/target
      [root@server19 target]# ll
      total 207652
      drwxr-xr-x. 4 root root      4096 Nov 16 15:53 apidocs
      drwxr-xr-x. 3 root root        44 Nov 16 15:53 archive-tmp
      -rw-r--r--. 1 root root    209523 Nov 16 15:53 azkaban-exec-server-0.6.0.jar
      -rw-r--r--. 1 root root    319010 Nov 16 15:53 azkaban-exec-server-0.6.0-javadoc.jar
      -rw-r--r--. 1 root root    133299 Nov 16 15:53 azkaban-exec-server-0.6.0-sources.jar
      drwxr-xr-x. 3 root root        67 Nov 16 15:53 bin
      drwxr-xr-x. 4 root root        32 Nov 16 15:53 classes
      drwxr-xr-x. 2 root root       133 Nov 16 15:53 conf
      drwxr-xr-x. 3 root root        25 Nov 16 15:53 generated-sources
      drwxr-xr-x. 2 root root        71 Nov 16 15:53 javadoc-bundle-options
      drwxr-xr-x. 2 root root      8192 Nov 16 15:53 lib
      drwxr-xr-x. 2 root root        28 Nov 16 15:53 maven-archiver
      drwxr-xr-x. 3 root root        35 Nov 16 15:53 maven-status
      drwxr-xr-x. 4 root root        37 Nov 16 15:53 plugins
      -rw-r--r--. 1 root root 211950622 Nov 16 15:53 schedulis_0.6.0_exec.zip
      drwxr-xr-x. 2 root root        73 Nov 16 15:53 test-classes
      
      

      注意:打包完成后一定要确认安装包内是否有plugins目录,如发现安装包没有plugins,或者plugins为空,则分别进入 WebServer 和 ExecServer 目录,为它们单独再次编译即可,如果没有打包进来则无法使用插件。

      # 发现仅仅在schedulis_0.6.0_web.zip下面没有plugins目录
      # 需要再次编译
      [root@server19 azkaban-web-server]# pwd
      /home/code/schedulis-0.6.1/azkaban-web-server
      [root@server19 azkaban-web-server]# mvn clean install -Dmaven.test.skip=true
      
      

在这里插入图片描述

  1. 将以下文件复制到需要部署的 Executor 或者 WebServer 服务器:

    • Executor 或者 WebServer 安装包

    • 项目文件根目录下的 bin/construct 目录中的数据库初始化脚本 hdp_wtss_deploy_script.sql

    • 项目文件根目录下的 bin 目录中的环境检测脚本 checkEnv.sh

      [root@server19 schedulis-0.6.1]# pwd
      /home/programs/schedulis-0.6.1
      
      # 创建两个文件夹,分别把编译好的zip包上传
      [root@server19 schedulis-0.6.1]# mkdir Executor
      [root@server19 schedulis-0.6.1]# mkdir WebServer
      [root@server19 schedulis-0.6.1]# ll
      total 0
      drwxr-xr-x. 2 root root 6 Nov 16 16:27 Executor
      drwxr-xr-x. 2 root root 6 Nov 16 16:27 WebServer
      
      [root@server19 WebServer]# ll
      total 86864
      -rw-r--r--. 1 root root     1097 Dec 25  2020 checkEnv.sh
      -rw-r--r--. 1 root root    35927 Dec 25  2020 hdp_wtss_deploy_script.sql
      -rw-r--r--. 1 root root 88903918 Nov 16 16:00 schedulis_0.6.0_web.zip
      [root@server19 Executor]# ll
      total 207024
      -rw-r--r--. 1 root root      1097 Dec 25  2020 checkEnv.sh
      -rw-r--r--. 1 root root     35927 Dec 25  2020 hdp_wtss_deploy_script.sql
      -rw-r--r--. 1 root root 211950622 Nov 16 15:53 schedulis_0.6.0_exec.zip
      
  2. 将安装包解压到合适的安装目录下,譬如:/appcom/Install/AzkabanInstall, 并将安装的根目录 /appcom 以及其下子目录的属主转换为 hadoop 用户, 且赋予 775 权限(/appcom/Install/AzkabnaInstall/ 为默认安装目录,建议创建该路径并将其作为安装路径,可避免一些路径的修改)

    [root@server19 WebServer]# ll
    total 86864
    -rw-r--r--. 1 root root     1097 Dec 25  2020 checkEnv.sh
    -rw-r--r--. 1 root root    35927 Dec 25  2020 hdp_wtss_deploy_script.sql
    drwxrwxrwx. 7 root root       66 Nov 16 16:00 schedulis_0.6.0_web
    -rw-r--r--. 1 root root 88903918 Nov 16 16:00 schedulis_0.6.0_web.zip
    
    [root@server19 Executor]# ll
    total 207024
    -rw-r--r--. 1 root root      1097 Dec 25  2020 checkEnv.sh
    -rw-r--r--. 1 root root     35927 Dec 25  2020 hdp_wtss_deploy_script.sql
    drwxrwxrwx. 6 root root        55 Nov 16 15:53 schedulis_0.6.0_exec
    -rw-r--r--. 1 root root 211950622 Nov 16 15:53 schedulis_0.6.0_exec.zip
    
    
    # 修改
    [root@server19 programs]# chown hadoop -R schedulis-0.6.1
    # 修改权限
    [root@server19 programs]# chmod 775 -R schedulis-0.6.1
    
  3. 在开始下一步操作之前,为需要部署的机器运行 bin 目录下的环境检测脚本 checkEnv.sh,确认基础环境已经准备完成。若是报错,请用户参考"使用前置"章节为部署节点准备好基础环境

    # 在执行checkEnv.sh脚本的时候,出错
    [root@server19 bin]# sh checkEnv.sh 
    checkEnv.sh: line 17: syntax error near unexpected token `$'{\r''
    'heckEnv.sh: line 17: `say() {
    
    # 打开,发现每行后面都多了“^M”这个玩意!!!
    vim -b checkEnv.sh
    几百行的代码,如果手动处理要处理到什么时候?要天荒地老了吧。这里我们来进行快速处理!
    sed -i 's/\r//g' checkEnv.sh
    # 再次执行
    [root@server19 bin]# sh checkEnv.sh 
    <-----start to check used cmd---->
    <-----end to check used cmd---->
    
  4. 如果自行编译schedulis,那么编译出的linkis插件是不可用的,需要自行编译linkis1.0或者直接使用第二步中已经编译好的插件包(jobtypes)放入安装目录的plugins目录下,使用release包没有此问题

三)、修改配置

1. 修改 host.properties 文件

此配置文件存放的路径请参考或者修改 ExecServer 安装包下的 bin/internal/internal-start-executor.sh 文件中的 KEY 值 hostConf

[root@server19 internal]# pwd
/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/bin/internal

# hostConf=/appcom/config/wtss-config/host.properties
hostConf=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/config/wtss-config/host.properties

# logFile=/appcom/logs/azkaban/executorServerLog__`date +%F+%T`.out
logFile=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/logs/azkaban/executorServerLog__`date +%F+%T`.out

该文件记录的是 Executor 端的所有执行节点 Hostname 和 ServerId, 需保持每台执行机器上的该文件内容一致

示例:

vim /home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/config/wtss-config/host.properties

文件内容如下:

executor1_hostname=1
executor2_hostname=2
executor3_hostname=3

# 添加文件内容
server19=1

其中executor1_hostname,executor2_hostname,executor3_hostname 为Executor节点所在机器的真实主机名。

2. 初始化数据库

在 MySQL 中相应的 database 中(也可新建一个),将前面复制过来的数据库初始化脚本导入数据库

#连接 MySQL 服务端
#eg: mysql -uroot -p12345,其中,username : root, password: 12345

mysql -uUserName -pPassword -hIP --default-character-set=utf8
#创建一个 Database(按需执行)

mysql> create database schedulis;
mysql> use schedulis; 
# 初始化 Database
#eg: source hdp_wtss_deploy_script.sql

mysql> source 脚本存放目录/hdp_wtss_deploy_script.sql

3. Executor Server 配置修改

(1) 执行包修改

项目文件根目录下的 bin/construct 目录中任务执行依赖的包 execute-as-user ,复制到azkaban-exec-server的lib下,并且更新权限

[root@server19 construct]# pwd
/home/code/schedulis-0.6.1/bin/construct
[root@server19 construct]# cp ./execute-as-user /home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/lib/


chown root execute-as-user
chmod 6050 execute-as-user
(2) plugins/jobtypes/commonprivate.properties

此配置文件存放于 ExecServer 安装包下的 plugins/jobtypes 目录下
此配置文件主要设置程序启动所需要加载的一些 lib 和 classpath

#以下四项配置指向对应组件的安装目录,请将它们修改成相应的组件安装目录
hadoop.home=/home/programs/hadoop-2.7.2
hadoop.conf.dir=/home/programs/hadoop-2.7.2/etc/hadoop
hive.home=/home/programs/hive-2.3.3
spark.home=/home/programs/spark-2.4.3

#azkaban.native.lib 请修改成ExecServer 安装目录下 lib 的所在绝对路径
execute.as.user=true
# azkaban.native.lib=/home/code/schedulis-0.6.1/bin/config/wtss-exec/lib
azkaban.native.lib=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/lib



# 本机配置
# hadoop
# hadoop.home=/appcom/Install/hadoop
# hadoop.conf.dir=/appcom/config/hadoop-config
# hive.home=/appcom/Install/hive
# spark.home=/appcom/Install/spark
# wtss.home=/appcom/Install/AzkabanInstall/wtss-exec/
wtss.home=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec

#以下四项配置指向对应组件的安装目录,请将它们修改成相应的组件安装目录
hadoop.home=/home/programs/hadoop-2.7.2
hadoop.conf.dir=/home/programs/hadoop-2.7.2/etc/hadoop
hive.home=/home/programs/hive-2.3.3
spark.home=/home/programs/spark-2.4.3

#azkaban.native.lib 请修改成ExecServer 安装目录下 lib 的所在绝对路径
execute.as.user=true
azkaban.native.lib=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/lib


jobtypes.home=${wtss.home}/plugins/jobtypes
# configs for jobtype security settings
# execute.as.user=true
# azkaban.native.lib=/appcom/Install/AzkabanInstall/wtss-exec/lib
# bdp.client.conf.file=/appcom/Install/AzkabanInstall/wtss-exec/conf/bdp-job-client.properties
bdp.client.conf.file=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/conf/bdp-job-client.properties

注: 按照官方文档配置的时候,发现报错
2021-11-17 10:28:19.541 [WARN] (19238) HADOOP_HOME is not set. Hadoop job types will not run properly.
find: ‘/share/hadoop/common/’: No such file or directory
find: ‘/share/hadoop/yarn/’: No such file or directory
find: ‘/share/hadoop/hdfs/’: No such file or directory

因此,在 /home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/bin/internal/internal-start-executor.sh中直接添加
HADOOP_HOME=/home/programs/hadoop-2.7.2
HIVE_HOME=/home/programs/hive-2.3.3
SPARK_HOME=/home/programs/spark-2.4.3
同理,在/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/bin/internal/internal-start-web.sh中直接添加
HADOOP_HOME=/home/programs/hadoop-2.7.2
HIVE_HOME=/home/programs/hive-2.3.3
SPARK_HOME=/home/programs/spark-2.4.3
(3) plugins/jobtypes/common.properties

此配置文件存放于 ExecServer 安装包下的 plugins/jobtypes 目录下
此配置文件主要是设置 DataChecker 和 EventChecker 插件的数据库地址,如不需要这两个插件可不用配置

#配置集群 Hive 的元数据库(密码用 base64 加密)
job.datachecker.jdo.option.name="job"
job.datachecker.jdo.option.url=jdbc:mysql://host:3306/db_name?useUnicode=true&amp;characterEncoding=UTF-8
job.datachecker.jdo.option.username=username
job.datachecker.jdo.option.password=password

#配置 Schedulis 的数据库地址(密码用 base64 加密)
msg.eventchecker.jdo.option.name="msg"
msg.eventchecker.jdo.option.url=jdbc:mysql://host:3306/db_name?useUnicode=true&characterEncoding=UTF-8
msg.eventchecker.jdo.option.username=username
msg.eventchecker.jdo.option.password=password


#此部分依赖于第三方脱敏服务mask,暂未开源,将配置写为和job类型一样即可(密码用 base64 加密) 

bdp.datachecker.jdo.option.name="bdp"
bdp.datachecker.jdo.option.url=jdbc:mysql://host:3306/db_name?useUnicode=true&amp;characterEncoding=UTF-8
bdp.datachecker.jdo.option.username=username
bdp.datachecker.jdo.option.password=password


[root@server19 jobtypes]# pwd
/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/plugins/jobtypes




# 本机配置
hadoop.home=/home/programs/hadoop-2.7.2
hive.home=/home/programs/hive-2.3.3
spark.home=/home/programs/spark-2.4.3

#配置集群 Hive 的元数据库(密码用 base64 加密)
job.datachecker.jdo.option.name="job"
job.datachecker.jdo.option.url=jdbc:mysql://192.168.100.10:3306/hive?useUnicode=true&amp;characterEncoding=UTF-8
job.datachecker.jdo.option.username=hive
job.datachecker.jdo.option.password=aGl2ZQ==

#配置 Schedulis 的数据库地址(密码用 base64 加密)
msg.eventchecker.jdo.option.name="msg"
msg.eventchecker.jdo.option.url=jdbc:mysql://192.168.100.10:3306/schedulis?useUnicode=true&characterEncoding=UTF-8
msg.eventchecker.jdo.option.username=zd3
msg.eventchecker.jdo.option.password=emQzMTIz


#此部分依赖于第三方脱敏服务mask,暂未开源,将配置写为和job类型一样即可(密码用 base64 加密) 

bdp.datachecker.jdo.option.name="bdp"
bdp.datachecker.jdo.option.url=jdbc:mysql://192.168.100.10:3306/hive?useUnicode=true&amp;characterEncoding=UTF-8
bdp.datachecker.jdo.option.username=hive
bdp.datachecker.jdo.option.password=aGl2ZQ==
(4) conf/azkaban.properties

此配置文件是 ExecServer 的核心配置文件, 该配置文件存放在 ExecServer 安装包下的 conf 目录下

[root@server19 conf]# pwd
/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/conf

#项目 MySQL 服务端地址(密码用 base64 加密)
mysql.port=3306
mysql.host=192.168.100.10
mysql.database=schedulis
mysql.user=zd3
mysql.password=emQzMTIz
mysql.numconnections=100

#Executor 线程相关配置
executor.maxThreads=60
executor.port=12321
executor.flow.threads=30
jetty.headerBufferSize=65536
flow.num.job.threads=30
#此 server id 请参考1的 host.properties,改配置会在服务启动的时候自动从host.properties中拉取
executor.server.id=1
checkers.num.threads=200

#Web Sever url相关配置, eg: http://localhost:8081
azkaban.webserver.url=http://192.168.100.19:8081
(5) plugins/alerter/WeBankIMS/conf/plugin.properties

此配置文件存放在 ExecServer 安装包下的 plugins/alerter/WeBankIMS/conf 目录下
该配置文件主要是设置 Executor 告警插件地址, 请用户基于自己公司的告警系统来设置
此部分依赖于第三方告警服务,如不需要可跳过配置

# webank alerter settings
alert.type=WeBankAlerter
alarm.server=ims_ip
alarm.port=10812
alarm.subSystemID=5003
alarm.alertTitle=WTSS Aleter Message
alarm.alerterWay=1,2,3
alarm.reciver=root
alarm.toEcc=0

# 本部分没有进行设置
(6) conf/global.properties

该配置文件存放在 ExecServer 安装包下的 conf 目录下,该配置文件主要存放一些 Executor 的全局属性

#azkaban.native.lib,执行项目的 lib 目录,请修改成本机解压后的 ExecServer 安装包下 lib 的所在路径
execute.as.user=true
azkaban.native.lib=/appcom/Install/AzkabanInstall/wtss-exec/lib


#  本机设置
#azkaban.native.lib,执行项目的 lib 目录,请修改成本机解压后的 ExecServer 安装包下 lib 的所在路径
execute.as.user=true
azkaban.native.lib=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/lib
(7) plugins/jobtypes/linkis/private.properties

该配置文件存放在 ExecServer 安装包下的 plugins/jobtypes/linkis 目录下,主要是设置 jobtype 所需的 lib 所在位置

#将该值修改为 ExecServer 安装包目录下的 /plugins/jobtypes/linkis/extlib
jobtype.lib.dir=/appcom/Install/AzkabanInstall/wtss-exec/plugins/jobtypes/linkis/extlib


#本机设置
jobtype.lib.dir=/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec/plugins/jobtypes/linkis/lib
(8) plugins/jobtypes/linkis/plugin.properties (按需修改)

若用户安装了 Linkis,则修改此配置文件来对接 Linkis,该配置文件存放在 ExecServer 安装包下的 plugins/jobtypes/linkis 目录下

#将该值修改为 Linkis 的gateway地址
wds.linkis.gateway.url=

# 本机安装了linkis
wds.linkis.gateway.url=http://192.168.100.19:9001

4. Web Server 配置文件

conf/azkaban.properties

此配置文件是 WebServer 的核心配置文件, 该配置文件存放在 WebServer 安装包下的 conf 目录下

#项目 MySQL 配置(密码用 base64 加密)
database.type=mysql
mysql.port=3306
mysql.host=192.168.100.10
mysql.database=schedulis
mysql.user=zd3
mysql.password=emQzMTIz
mysql.numconnections=100

#Azkaban jetty server properties
jetty.port=8081

#Executor 选择策略配置
azkaban.use.multiple.executors=true
azkaban.executorselector.filters=StaticRemainingFlowSize
azkaban.queueprocessing.enabled=true
azkaban.webserver.queue.size=100000
azkaban.activeexecutor.refresh.milisecinterval=50000
azkaban.activeexecutor.refresh.flowinterval=5
azkaban.executorinfo.refresh.maxThreads=5
azkaban.executorselector.comparator.Memory=3
#azkaban.executorselector.comparator.CpuUsage=2
azkaban.executorselector.comparator.LastDispatched=1
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1

# LDAP 地址配置 注意:没有配置
ladp.ip=ldap_ip
ladp.port=ldap_port

5. 修改日志存放目录(按需修改)

Schedulis 项目的日志默认存放路径为 /appcom/logs/azkaban, 目录下存放的就是 Executor 和 Web 两个服务相关的日志
若选择使用默认存放路径,则需要按要求将所需路径提前创建出来, 并将文件属主转换为 hadoop,赋予 775 权限;

# 本机采用默认的配置:
/home/programs/schedulis-0.6.1/Executor/schedulis_0.6.0_exec
[root@server19 schedulis_0.6.0_exec]# mkdir logs

若要使用自定义的日志存放路径,则需要创建好自定义路径,并修改 ExecServer 和 WebServer 安装包的以下文件:

  1. Executor 下的 bin/internal/internal-start-executor.sh 和 Web 下的 bin/internal/internal-start-web.sh 文件中的 KEY 值 logFile, 设为自定义日志存放路径, 以及在两个文件中关于 “Set the log4j configuration file” 中的 -Dlog4j.log.dir 也修改为自定义的日志路径
  2. 两个服务中的 bin/internal/util.sh 文件中的 KEY 值 shutdownFile,改为自定义日志路径

6、启动

对数据库进行初始化完毕,以及修改完以上的配置文件后,就可以启动了

  1. 进入 ExecutorServer 安装包路径,注意不要进到 bin 目录下
./bin/start-exec.sh
  1. 进入 WebServer 安装包路径,注意不要进到 bin 目录下
./bin/start-web.sh

此时若得到提示信息说启动成功,则可以进入验证环节了;若是出错,请查看日志文件,并按需先查看 QA 章节

7、测试

  1. 若是单 WebServer 部署模式,则在浏览器中输入 http://webserver_ip:webserver_port

    http://192.168.100.19:8081

    username : superadmin
    pwd : Abcd1234

在这里插入图片描述

  1. 若是多 WebServer 部署模式,则在浏览器中输入 http://nginx_ip:nginx_port

  2. 在跳出的登陆界面输入默认的用户名和密码
    username : superadmin
    pwd : Abcd1234

  3. 成功登陆后,请参考用户使用手册,自己创建一个项目并上传测试运行

  4. 运行成功,恭喜 Schedulis 成功安装了

8、QA 环节

  1. 如何查看自己本机 Hostname ?
    命令行输入 hostname

  2. 为什么先启动了 Webserver 再启动 Executorserver,没有报错,但在浏览器连接时却提示无法连接?
    可以使用 Jps 命令确认 Webserver 进程是否启动了。一般情况下,建议先启动 ExecutorServer,再 WebServer。否则有可能 WebServer 先启动又被关掉。

  3. 两个服务关于 MySQL 的配置中密码已经使用了 base64 加密,日志中还是无法提示连接 MySQL?
    请注意区分 Linux 下的 base64 加密与 Java base64 加密,我们使用的是后者。

  4. 两个服务使用相应的 shutdown 脚本总是提示找不到相应的 Pid?
    若要关闭两个服务的话,请手动 Kill 掉相应的进程,并删除相应的 currentpid 文件。

  5. 怎么重启服务?
    请参考4,将服务关闭再将服务开启。

  6. 为什么 ExecutorServer 显示 Connection Failed,而修改配置后再启动,却提示 Already Started?
    此处请先将相应的 currentpid 文件删除,再重新启动。

  7. 为什么报错了,相应的日志文件没有更新?
    请先确认配置的日志文件路径是否正确,再将日志文件属主修改为 hadoop 用户,并赋予 775 权限。

  8. 上传项目文件后,系统报错?
    请确认 WebServer 安装包路径的 lib 目录下是否存在 common-lang3.jar,若没有请手动添加。

  9. 为什么报错了,却找不到相应的日志文件?
    请确认已经正确配置日志文件路径。详情请参考参数配置中的修改日志存放路径。

  10. 为什么在 Maven 编译的时候会出现 systemPath 不是绝对路径?
    首先确认是否已经设置了 MAVEN_HOME 的环境变量,并且确认是否已经刷新环境变量文件
    若是上面步骤都已完成,可以在编译的时候传入参数
    mvn install -Denv.MAVEN_HOME=dir of local repository set in settings.xml

  11. 编译时出现错误 “Could not find artifactor xxx”?
    请确保 Maven下 conf/settigs.xml 或者用户的 settings.xml 是否有正确配置镜像地址和远程仓库地址

  12. 项目文件路劲和安装包路径有什么区别?
    项目文件路径是 Git 下载下来后项目文件存放的地址;安装包路径是使用 Maven 编译后将安装包解压后存放的地址;数据库初始化脚本存于项目文件路径下;其他的参数配置文件都在安装包路径下

  13. 为什么使用 Executor 启动脚本启动 Executor 时,先是提示启动成功,后面又一直出现更新数据库失败的提示?
    请耐心等待,直到确认已经全部失败后,再查看日志确认具体报错原因。

  14. azkaban.utils.StdOutErrRedirect - Loading class com.mysql.jdbc.Driver’. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’.

    修改源码azkaban-db下 MySQLDataSource setDriverClassName(“com.mysql.cj.jdbc.Driver”)和azkaban-common 下MySQLBasicDataSource setDriverClassName(“com.mysql.cj.jdbc.Driver”);

    或者把lib目录下的jar包版本降低,默认的版本是8.0版本。

  15. 为什么在启动 Executor 的时候,先是提示启动成功,后面就一直卡在更新数据库失败的提示很久,失败次数也没有更新?
    对于这种情况,很大原因是数据库连接时出现了问题,请停止启动进程,并查看日志确认错误原因。按需查看 QA 章节。

  16. 所有配置文件找不到的

    都使用绝对路径配置

  17. web页面能访问后,不能登录

    原因是web的目录下缺少opendj的两个包,将两个包复制到lib目录下

    [root@server19 schedulis_0.6.0_web]# pwd
    /home/programs/schedulis-0.6.1/WebServer/schedulis_0.6.0_web
    [root@server19 schedulis_0.6.0_web]# cp /home/code/schedulis-0.6.1/azkaban-common/extlib/opendj-grizzly-3.0.0.jar ./
    
    [root@server19 schedulis_0.6.0_web]# cp /home/code/schedulis-0.6.1/azkaban-common/extlib/opendj-core-3.0.0.jar ./
    

2. 单独编译AppConn插件包(安装好DSS后,无需编译)

    在执行DSS编译打包部署后,同时会编译相关AppConn包,如果想单独编译Schedulis AppConn,需参照以下步骤:

cd {DSS_SOURCE_CODE_PROJECT}/dss-appconn/appconns/dss-schedulis-appconn
mvn clean install

3. 安装Schedulis AppConn

    在DSS的安装目录下,appconns目录中已经有对接到DSS的第三方应用工具的AppConn jar包,包括本文档中介绍的Schedulis AppConn的jar包。

[root@server19 dss-appconns]# pwd
/home/programs/dss/dss/dss-appconns

[root@server19 dss-appconns]# ll
total 106868
drwxr-xr-x. 4 hadoop hadoop       82 Nov 15 15:56 datachecker
-rw-r--r--. 1 root   root   10890631 Nov 15 15:56 datachecker.zip
drwxr-xr-x. 4 hadoop hadoop       56 Nov 15 15:56 eventchecker
-rw-r--r--. 1 root   root   10078198 Nov 15 15:56 eventchecker.zip
-rw-rw-r--. 1 hadoop hadoop 43135214 Aug 31 21:57 linkis-engineplugin-appconn.zip
drwxr-xr-x. 4 hadoop hadoop       82 Nov 15 15:56 orchestrator-framework
-rw-r--r--. 1 root   root    3394976 Nov 15 15:56 orchestrator-framework.zip
drwxr-xr-x. 5 hadoop hadoop       65 Aug 31 21:54 schedulis
drwxr-xr-x. 3 hadoop hadoop       44 Nov 15 15:56 sendemail
-rw-r--r--. 1 root   root   41896976 Nov 15 15:56 sendemail.zip
drwxr-xr-x. 5 hadoop hadoop       39 Aug 31 19:09 visualis
drwxr-xr-x. 4 hadoop hadoop       82 Nov 15 15:56 workflow
-rw-r--r--. 1 root   root      26792 Nov 15 15:56 workflow.zip

    安装Schedulis时,通过执行以下脚本,只需简单的输入Schedulis部署机器的IP,和服务Port。就能配置完成对应的AppConn插件的安装,在执行脚本时,会执行对应AppConn下init.sql脚本,把对应的数据库信息插入到DSS表中。

[root@server19 bin]# pwd
/home/programs/dss/dss/bin
[root@server19 bin]# ll
total 24
-rw-r--r--. 1 hadoop hadoop  3099 Nov 15 15:53 appconn-install.sh
-rw-r--r--. 1 hadoop hadoop  1021 Nov 15 15:53 checkEnv.sh
-rw-r--r--. 1 hadoop hadoop  3772 Nov 15 15:53 excecuteSQL.sh
-rw-r--r--. 1 hadoop hadoop 10721 Nov 15 15:53 install.sh
[root@server19 bin]# sh ./appconn-install.sh

# 1、输入需要集成的组件
step1:Initialize installation settings
Please select the type of installation component?
 1: schedulis
 2: visualis
 3: Your AppConn Name
 4: exit
Please input the choice:1
# 2、输入ip
If this machine(127.0.0.1) is installed, enter 1
For others, you need to enter a complete IP address.
Please enter the ip of appconn: 127.0.0.1
You input ip is 127.0.0.1
# 3、输入端口号
Please enter the port of appconn:8089
You input ip is 8089

4. Schedulis使用方式

    Schedulis服务部署完成,Schedulis AppConn安装完成后,即可在DSS中使用Schedulis。可以在应用商店中,点击Schedulis进入Schedulis,在工作流开发时,可以一键发布DSS工作流到Schedulis进行调度执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PCI DSS和ISO 27001都是信息安全领域的国际标准。PCI DSS主要是为了保护持卡人数据,而ISO 27001则是一个更加综合的信息安全管理标准。 PCI DSS(Payment Card Industry Data Security Standard)是由PCI安全标准委员会制定的,旨在确保所有接受信用卡付款的机构保护持卡人数据的安全性。这个标准包含了12个主要的安全要求和很多子要求,涵盖了从网络安全、物理安全、访问控制、安全策略等方面的内容。如果一个机构接受信用卡付款,就需要遵守这个标准,否则可能会被罚款或者被禁止接受信用卡付款。 ISO 27001是由国际标准化组织(ISO)制定的信息安全管理体系(ISMS)标准。它提供了一套通用的框架,帮助组织建立、实施、监测和改进信息安全管理体系。这个标准不仅包含了保护数据的要求,还包含了保护其他类型信息和资产的要求。ISO 27001也包含了一系列的安全措施,包括物理、技术和行政措施。 它们之间的联系是:PCI DSS中的许多措施也在ISO 27001中被涵盖,而ISO 27001提供了一个更加全面的框架来管理信息安全。企业在实施PCI DSS时可以参考ISO 27001,以便更好地管理信息安全。 它们之间的区别是:PCI DSS主要针对保护持卡人数据,而ISO 27001是更加综合的信息安全管理体系标准。此外,PCI DSS是行业标准,必须遵守,而ISO 27001是可选的,企业可以自行选择是否实施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值