DSS与Schedulis的集成安装教程(单机)
Schedulis是微众银行大数据平台室开源的工作流调度系统,通过在DSS中安装配置AppConn插件,可以实现DSS开发的工作流发布到Schedulis定时调度执行。
1. 安装前准备
1. 首先需要安装DSS,通过一键安装部署脚本或单独安装,可以参考DSS安装文档。
2. 安装完DSS后,可以实现基本的DSS交互式分析和工作流执行任务,如果需要DSS工作流发布到Schedulis调度执行,首先需要安装并运行Schedulis。
步骤:
一)、使用前置
-
请基于 Linux 操作系统操作(建议 CentOS)
-
创建新用户 hadoop, 并为该用户赋予 root 权限,用于部署schedulis
# 创建用户hadoop adduser hadoop # 设置hadoop用户的密码 passwd hadoop123 # 赋予hadoop用户最高的权限 hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL
-
准备好 MySQL(版本5.5+) 的客户端和服务端
-
请确保已安装并且正确配置 JDK(版本1.8+)
-
配置集群各节点之间的免密码登录
-
请准备一台已经正确安装和配置 Maven(版本3.3+) 和 Git 的机器,用来编译代码
二)、获取项目文件并编译打包
-
使用 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
-
下载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
-
进入项目文件的根目录下,将第二步中下载的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
-
-
将以下文件复制到需要部署的 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
-
-
将安装包解压到合适的安装目录下,譬如:/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
-
在开始下一步操作之前,为需要部署的机器运行 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---->
-
如果自行编译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&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&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&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&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 安装包的以下文件:
- Executor 下的 bin/internal/internal-start-executor.sh 和 Web 下的 bin/internal/internal-start-web.sh 文件中的 KEY 值 logFile, 设为自定义日志存放路径, 以及在两个文件中关于 “Set the log4j configuration file” 中的 -Dlog4j.log.dir 也修改为自定义的日志路径
- 两个服务中的 bin/internal/util.sh 文件中的 KEY 值 shutdownFile,改为自定义日志路径
6、启动
对数据库进行初始化完毕,以及修改完以上的配置文件后,就可以启动了
- 进入 ExecutorServer 安装包路径,注意不要进到 bin 目录下
./bin/start-exec.sh
- 进入 WebServer 安装包路径,注意不要进到 bin 目录下
./bin/start-web.sh
此时若得到提示信息说启动成功,则可以进入验证环节了;若是出错,请查看日志文件,并按需先查看 QA 章节
7、测试
-
若是单 WebServer 部署模式,则在浏览器中输入 http://webserver_ip:webserver_port
http://192.168.100.19:8081
username : superadmin
pwd : Abcd1234
-
若是多 WebServer 部署模式,则在浏览器中输入 http://nginx_ip:nginx_port
-
在跳出的登陆界面输入默认的用户名和密码
username : superadmin
pwd : Abcd1234 -
成功登陆后,请参考用户使用手册,自己创建一个项目并上传测试运行
-
运行成功,恭喜 Schedulis 成功安装了
8、QA 环节
-
如何查看自己本机 Hostname ?
命令行输入hostname
-
为什么先启动了 Webserver 再启动 Executorserver,没有报错,但在浏览器连接时却提示无法连接?
可以使用 Jps 命令确认 Webserver 进程是否启动了。一般情况下,建议先启动 ExecutorServer,再 WebServer。否则有可能 WebServer 先启动又被关掉。 -
两个服务关于 MySQL 的配置中密码已经使用了 base64 加密,日志中还是无法提示连接 MySQL?
请注意区分 Linux 下的 base64 加密与 Java base64 加密,我们使用的是后者。 -
两个服务使用相应的 shutdown 脚本总是提示找不到相应的 Pid?
若要关闭两个服务的话,请手动 Kill 掉相应的进程,并删除相应的 currentpid 文件。 -
怎么重启服务?
请参考4,将服务关闭再将服务开启。 -
为什么 ExecutorServer 显示 Connection Failed,而修改配置后再启动,却提示 Already Started?
此处请先将相应的 currentpid 文件删除,再重新启动。 -
为什么报错了,相应的日志文件没有更新?
请先确认配置的日志文件路径是否正确,再将日志文件属主修改为 hadoop 用户,并赋予 775 权限。 -
上传项目文件后,系统报错?
请确认 WebServer 安装包路径的 lib 目录下是否存在 common-lang3.jar,若没有请手动添加。 -
为什么报错了,却找不到相应的日志文件?
请确认已经正确配置日志文件路径。详情请参考参数配置中的修改日志存放路径。 -
为什么在 Maven 编译的时候会出现 systemPath 不是绝对路径?
首先确认是否已经设置了 MAVEN_HOME 的环境变量,并且确认是否已经刷新环境变量文件
若是上面步骤都已完成,可以在编译的时候传入参数
mvn install -Denv.MAVEN_HOME=dir of local repository set in settings.xml
-
编译时出现错误 “Could not find artifactor xxx”?
请确保 Maven下 conf/settigs.xml 或者用户的 settings.xml 是否有正确配置镜像地址和远程仓库地址 -
项目文件路劲和安装包路径有什么区别?
项目文件路径是 Git 下载下来后项目文件存放的地址;安装包路径是使用 Maven 编译后将安装包解压后存放的地址;数据库初始化脚本存于项目文件路径下;其他的参数配置文件都在安装包路径下 -
为什么使用 Executor 启动脚本启动 Executor 时,先是提示启动成功,后面又一直出现更新数据库失败的提示?
请耐心等待,直到确认已经全部失败后,再查看日志确认具体报错原因。 -
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版本。
-
为什么在启动 Executor 的时候,先是提示启动成功,后面就一直卡在更新数据库失败的提示很久,失败次数也没有更新?
对于这种情况,很大原因是数据库连接时出现了问题,请停止启动进程,并查看日志确认错误原因。按需查看 QA 章节。 -
所有配置文件找不到的
都使用绝对路径配置
-
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进行调度执行。