Dolphin Scheduler 调研日记(二):搭建单机版的 Dolphin Scheduler

1、搭建Dolphin Scheduler 的Server端

大致过程如下:

1.1、解压缩

1.2、创建一个部署的用户

创建 dolphinscheduler 用户,将 Scheduler 解压后目录的 owner 赋给前面 dolphinscheduler 用户

对 dolphinscheduler 用户设置 sudo 免密(必须)

sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers

用户需要进行 ssh 免密设置(必须)

su dolphinscheduler;

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

注意:这里需要 /home/dolphinscheduler 目录存在,

1.3、初始化数据库

这里用的是MySQL的数据库,默认配置的是 portgre  数据库,因此需要在 application-dao.properties 文件中设置 MySQL 的连接参数并去掉注释,同时,注释掉 portgre 的连接参数

初始化数据的脚本执行之前,需要注意两件事:

1、在 MySQL 数据库中创建一个叫 dolphinscheduler 的数据库,并且设置该数据库的访问账号和密码

2、在/etc/profile下配置 JAVA_HOME 及 PATH 变量,否则会报错

3、设置Java的软连接(如果报 "/bin/java: No such file or directory" 错误的话)

4、引入 mysql-connector-java-5.1.47.jar 包(如果用的是mysql的数据库)

1.4 修改运行参数

按需配置,但是JAVA_HOME 和 PATH 是必须要配置的

如果找不到.dolphinscheduler_env.sh, 就运行 ls -all

需要设置Java的软连接,如: 

sudo ln -s /opt/soft/java/bin/java /usr/bin/java

1.5 修改 install.sh 脚本的配置项

这里是非常重要的环节,而且配置项比较多,重点注意的几个地方:

1.5.1、配置项中设置的目录设置

都需要将 owner 设置为 dolphinscheduler(Dolphin Scheduler 的部署用户

 # hdfsPath  (HDFS 根目录,根路径的 owner 必须是部署用户)

 # installPath(# dolphinscheduler 集群安装目录,不能与之前的dolphinscheduler 路径相同)

 # Program root path   (程序路径)

 # zk root directory 是否是zookeeper的安装目录?

这里将以上几个目录都放在 /dolphinscheduler 目录下

programPath="/dolphinscheduler/program"

hdfsPath="/dolphinscheduler/hdfs"

zkRoot="/dolphinscheduler/zk"

/dolphinscheduler 目录的 owner 必须是 dolphinscheduler 用户


业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为HDFS,因为HDFS支持本地文件系统;

如果不需要资源上传功能请选择NONE。

强调一点:使用本地文件系统不需要部署hadoop 

1.5.2 如果使用资源中心的话,需要以下两个命令:

sudo mkdir /data/dolphinscheduler

sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler

1.5.3 S3、企业微信等配置没有用到,直接注释掉

1.5.4 执行一键安装的脚本文件

sh install.sh

注意:

1、install.sh 脚本可能需要执行两次

2、Dolphin Schedule 的 Server端启动默认端口8888,注意端口冲突

1.5.5 JPS命令查看运行结果

MasterServer ----- master服务

WorkerServer ----- worker服务

LoggerServer ----- logger服务

ApiApplicationServer ----- api服务

AlertServer ----- alert服务

 

2.搭建 Dolphin Scheduler的UI端

2.1 解压,执行 install-dolphinscheduler-ui.sh 脚本文件

因为用的是 Ubuntu 操作系统,该脚本文件中有一段脚本代码是这样的:

ubuntu(){
    # update source
    apt-get update

    # install nginx
    apt-get install -y nginx

    # config nginx
    dolphinschedulerConf $1 $2

    # startup nginx
    /etc/init.d/nginx start
    sleep 1
    if [ $? -ne 0 ];then
        /etc/init.d/nginx start
    fi
    nginx -s reload
}

其中, apt-get install -y nginx 是 Ubuntu 安装 Nginx 的命令,需要用到 Python 2.X的版本,因此,需要操作系统中有 pytho2.x的版本来支持这个命令的运行。

如果当前用户对应的 Python 版本不是 2.x 或者  Python2.X 版本的环境被弄坏了,那么,是无法安装 nginx 的

2.2 访问UI

访问地址 : http://[IP_Address]:[Set_Port] 

系统自带的一个默认账号密码为:

admin/dolphinscheduler123


踩到的坑:

1、 创建 Linux 用户 dolphinscheduler 的时候,没有 /home/dolphinscheduler 目录,导致对 dolphinscheduler 进行 SSH 免密设置的时候报错:

Could not create directory '/home/dolphinscheduler/.ssh': No such file or directory
Saving key "/home/dolphinscheduler/.ssh/id_rsa" failed: No such file or directory

2、install.sh 配置中的目录未正确将 owner 设置为 dolphinscheduler 用户,导致一键安装未成功

3、python 2.x的版本被弄坏了,导致一键安装未成功,报错如下:

Could not find platform independent libraries 
Consider setting $PYTHONHOME to [:]
ImportError: No module named site
dpkg: 处理软件包 python-dateutil (--configure)时出错:
 子进程 已安装 post-installation 脚本 返回错误状态 1

收货:

1、~/ 指的是 /home/【当前用户名】所在的目录,如果该目录存在的话

2、 ls -l 命令可以与 grep 命令结合起来用

ls -l | grep python

3、几个常见的 Ubuntu 命令:

# 安装指定的工具,如 nginx
apt-get install nginx
# 检查 /etc/apt/sources.list 文件中的工具列表并更新
apt-get update
# 检查并更新本机已安装的工具的版本
sudo apt-get upgrade

注意: 这些工具的最新版本是由 Ubuntu 官网来定义的,最新的版本不一定是最好的,也可能是不适用的

4、Linux系统初始化的时候,root 用户是没有设置密码的,需要手动对 root 用户设置密码

$passwd root;
新密码:
再次输入新密码:

5、linux下查看文件编码及修改编码:
在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式

:set fileencoding=utf-8

6、在Linux系统中使用UNIX标准的编码格式

比如,某个文件可能是从 windows 上传过来的,那么文件的编码格式可能会无法被 Linux识别,这个时候需要统一编码格式

a、安装 dos2unix
b、执行 dos2unix [fileName]
这样就可以将编码格式统一为 utf-8

https://blog.csdn.net/u010445297/article/details/61668582

7、sh install.sh 报错解决

a、检查 install.sh 脚本的编码格式:确定是 utf-8,没有问题

b、install.sh 脚本文件是从 DolphinScheduelr 官方获取的文件,报错的位置没有被修改过,所以该脚本文件本身的代码也不应该有问题

c、由于操作系统是刚装好的,因此,怀疑 sh 的命令可能有问题,这里查看了 /bin/sh 的软连接,指向了 dash ,而非 bash 。

因此,需要将 dash 改为 bash :

sudo dpkg-reconfigure dash

出现的界面中选择 NO, 之后就可以正常用 sh 命令执行 .sh 脚本文件了。

参考文章:

https://www.cnblogs.com/xudong-bupt/p/7883040.html

你可能感兴趣的:(任务调度)