DolphinScheDuler配置

这篇具有很好参考价值的文章主要介绍了DolphinScheDuler配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、配置前置准备工作
JDK:下载JDK (1.8+),安装并配置
二进制包:在下载页面下载 DolphinScheduler 二进制包
数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
注册中心:ZooKeeper (3.4.6+)
二、创建配置用户免密登录以及权限

创建用户需使用 root 登录

useradd dolphinscheduler

添加密码

echo “dolphinscheduler” | passwd --stdin dolphinscheduler

配置 sudo 免密

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

修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限

也可对dolphinscheduler整个目录给予操作权限

chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
tips:
任务执行服务是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的
如果发现 /etc/sudoers 文件中有 “Defaults requirett” 这行,注释掉
配置机器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
在配置结束之后,通过 ssh localhost 判断是否成功,如果不需要输入密码就能ssh登陆则证明成功
三、启动Zookper集群
四、配置文件修改
配置文件可以在目录 bin/env 中找到,他们分别是 并命名为
install_env.sh 和 dolphinscheduler_env.sh
修改 install_env.sh 文件
文件 install_env.sh 描述了哪些机器将被安装 DolphinScheduler 以及每台机器对应安装哪些服务。您可以在路径
bin/env/install_env.sh 中找到此文件

---------------------------------------------------------

INSTALL MACHINE

---------------------------------------------------------

Due to the master, worker, and API server being deployed on a single node, the IP of the server is the machine IP or localhost

ips=“localhost”
sshPort=“22”
masters=“localhost”
workers=“localhost:default”
alertServer=“localhost”
apiServers=“localhost”

DolphinScheduler installation path, it will auto-create if not exists

installPath=~/dolphinscheduler

Deploy user, use the user you create in section Configure machine SSH password-free login

deployUser=“dolphinscheduler”
修改 dolphinscheduler_env.sh 文件
文件 ./bin/env/dolphinscheduler_env.sh 描述了下列配置:
DolphinScheduler 的数据库配置
DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 MySQL。下面分别介绍如何使用 MySQL 和 PostgresQL 初始化数据库。
如果使用 MySQL 需要手动下载 mysql-connector-java 驱动 (8.0.16) 并移动到 DolphinScheduler 的每个模块的 libs 目录下,其中包括 api-server/libs和 alert-server/libs和 master-server/lobs和 worker-server/libs。
对于mysql 5.6 / 5.7:

mysql -uroot -p

mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

修改 {user} 和 {password} 为你希望的用户名和密码

mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';

mysql> flush privileges;
对于mysql 8:
mysql -uroot -p

mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

修改 {user} 和 {password} 为你希望的用户名和密码

mysql> CREATE USER '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%';
mysql> CREATE USER '{user}'@'localhost' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost';
mysql> FLUSH PRIVILEGES;

对于 PostgreSQL:

采用命令行工具登陆 PostgreSQL

psql

创建数据库

postgres=# CREATE DATABASE dolphinscheduler;

修改 {user} 和 {password} 为你希望的用户名和密码

postgres=# CREATE USER {user} PASSWORD {password};
postgres=# ALTER DATABASE dolphinscheduler OWNER TO {user};

退出 PostgreSQL

postgres=#\q

在终端执行如下命令,向配置文件新增登陆权限,并重载 PostgreSQL 配置,替换 {ip} 为对应的 DS 集群服务器 IP 地址段

echo "host    dolphinscheduler   {user}    {ip}     md5" >> $PGDATA/pg_hba.conf
pg_ctl reload

然后修改./bin/env/dolphinescheduler_env.sh,将username和password改成你在上一步中设置的用户名{user}和密码{password}

对于 MySQL:

for mysql

export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
export SPRING_DATASOURCE_USERNAME={user}
export SPRING_DATASOURCE_PASSWORD={password}

对于 PostgreSQL:

for postgresql

export DATABASE=${DATABASE:-postgresql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:postgresql://127.0.0.1:5432/dolphinscheduler"
export SPRING_DATASOURCE_USERNAME={user}
export SPRING_DATASOURCE_PASSWORD={password}

完成上述步骤后,您已经为 DolphinScheduler 创建一个新数据库,现在你可以通过快速的 Shell 脚本来初始化数据库
bash tools/bin/upgrade-schema.sh
数据源中心
数据源中心支持MySQL、POSTGRESQL、HIVE/IMPALA、SPARK、CLICKHOUSE、ORACLE、SQLSERVER等数据源。
点击"数据源中心->创建数据源",根据需求创建不同类型的数据源
点击"测试连接",测试数据源是否可以连接成功(只有当数据源通过连接性测试后才能保存数据源)。
使用不兼容 Apache LICENSE V2 许可的数据库
数据源中心里,DolphinScheduler 对部分数据源有原生的支持,但是部分数据源需要用户下载对应的 JDBC 驱动包并放置到正确的位置才能正常使用。 这对用户会增加用户的使用成本,但是我们不得不这么做,因为这部分数据源的 JDBC 驱动和 Apache LICENSE V2 不兼容,所以我们无法在 DolphinScheduler 分发的二进制包中包含他们。这部分数据源主要包括 MySQL,Oracle,SQL Server 等,幸运的是我们为这部分数据源的支持给出了解决方案。
样例
我们以 MySQL 为例,如果你想要使用 MySQL 数据源,你需要先在 mysql maven 仓库 中下载对应版本的 JDBC 驱动,将其移入 api-server/libs以及worker-server/libs文件夹中,最后重启api-server/libs和worker-server/libs服务,即可使用 MySQL 数据源。如果你使用容器启动 DolphinScheduler,同样也是将 JDBC 驱动挂载放到以上两个服务的对应路径下后,重启驱动即可。
注意:如果你只是想要在数据源中心使用 MySQL,则对 MySQL JDBC 驱动的版本没有要求,如果你想要将 MySQL 作为 DolphinScheduler 的元数据库, 则仅支持 8.0.16 及以上的版本。
一些任务类型外部依赖路径或库文件,如 JAVA_HOME 和 SPARK_HOME都是在这里定义的
注册中心
zookeeper
服务端相关配置,比如缓存,时区设置等
如果您不使用某些任务类型,您可以忽略任务外部依赖项,但您必须根据您的环境更改 JAVA_HOME、注册中心和数据库相关配置。

JAVA_HOME, will use it to start DolphinScheduler server

export JAVA_HOME=${JAVA_HOME:-/opt/soft/java}

Database related configuration, set database type, username and password

export DATABASE=${DATABASE:-postgresql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:5432/dolphinscheduler"
export SPRING_DATASOURCE_USERNAME={user}
export SPRING_DATASOURCE_PASSWORD={password}

DolphinScheduler server related configuration

export SPRING_CACHE_TYPE=${SPRING_CACHE_TYPE:-none}
export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-UTC}
export MASTER_FETCH_COMMAND_NUM=${MASTER_FETCH_COMMAND_NUM:-10}

Registry center configuration, determines the type and link of the registry center

export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181}

Tasks related configurations, need to change the configuration if you use the related tasks.

export HADOOP_HOME=${HADOOP_HOME:-/opt/soft/hadoop}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/opt/soft/hadoop/etc/hadoop}
export SPARK_HOME1=${SPARK_HOME1:-/opt/soft/spark1}
export SPARK_HOME2=${SPARK_HOME2:-/opt/soft/spark2}
export PYTHON_HOME=${PYTHON_HOME:-/opt/soft/python}
export HIVE_HOME=${HIVE_HOME:-/opt/soft/hive}
export FLINK_HOME=${FLINK_HOME:-/opt/soft/flink}
export DATAX_HOME=${DATAX_HOME:-/opt/soft/datax}
export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:$PATH

启动 DolphinScheduler
使用上面创建的部署用户运行以下命令完成部署,部署后的运行日志将存放在 logs 文件夹内
bash ./bin/install.sh

注意: 第一次部署的话,可能出现 5 次sh: bin/dolphinscheduler-daemon.sh: No such file or directory相关信息,此为非重要信息直接忽略即可
登录 DolphinScheduler
浏览器访问地址 http://localhost:12345/dolphinscheduler/ui 即可登录系统UI。默认的用户名和密码是 admin/dolphinscheduler123
能够访问到前端页面即伪集群部署成功,通过scp方式将资源文件分发至不同的节点
scp传输
通过scp的方式将所有的文件传输到不同的服务器上,然后修改install_env.sh
配置文件在路径在bin/env/install_env.sh
仅需修改INSTALL MACHINE,DolphinScheduler ENV、Database、Registry Server与伪集群部署保持一致

---------------------------------------------------------

INSTALL MACHINE

---------------------------------------------------------

需要配置master、worker、API server,所在服务器的IP均为机器IP或者localhost

如果是配置hostname的话,需要保证机器间可以通过hostname相互链接

如下图所示,部署 DolphinScheduler 机器的 hostname 为 ds1,ds2,ds3,ds4,ds5,其中 ds1,ds2 安装 master 服务,ds3,ds4,ds5安装 worker 服务,alert server安装在ds4中,api server 安装在ds5中

ips="ds1,ds2,ds3,ds4,ds5"
masters="ds1,ds2"
workers="ds3:default,ds4:default,ds5:default"
alertServer="ds4"
apiServers="ds5"

启停服务

一键停止集群所有服务

bash ./bin/stop-all.sh

一键开启集群所有服务

bash ./bin/start-all.sh

启停 Master

bash ./bin/dolphinscheduler-daemon.sh stop master-server
bash ./bin/dolphinscheduler-daemon.sh start master-server

启停 Worker

bash ./bin/dolphinscheduler-daemon.sh start worker-server
bash ./bin/dolphinscheduler-daemon.sh stop worker-server

启停 Api

bash ./bin/dolphinscheduler-daemon.sh start api-server
bash ./bin/dolphinscheduler-daemon.sh stop api-server

启停 Alert

bash ./bin/dolphinscheduler-daemon.sh start alert-server
bash ./bin/dolphinscheduler-daemon.sh stop alert-server

注意:每个服务在路径 /conf/dolphinscheduler_env.sh 中都有 dolphinscheduler_env.sh 文件,这是可以为微 服务需求提供便利。意味着您可以基于不同的环境变量来启动各个服务,只需要在对应服务中配置 /conf/dolphinscheduler_env.sh 然后通过 /bin/start.sh 命令启动即可。但是如果您使用命令 /bin/dolphinscheduler-daemon.sh start 启动服务器,它将会用文件 bin/env/dolphinscheduler_env.sh 覆盖 /conf/dolphinscheduler_env.sh 然后启动服务,目的是为了减少用户修改配置的成本.
海豚调度器单机版本可以运行Sql Server,但是在集群版中,不能够去运行的解决方案
com.microsoft.sqlserver.sqljdbc4,jdk环境1.8 171及以上会报错,jdk1.8 131 没有问题;
网上大多说是SqlServer驱动问题,如果使用jdk1.8稍高版本的话有可能是jdk版本问题,在https://www.java.com/en/configure_crypto.html有介绍,根据上面说的内容大概意思就是增加了3DES,然后我把3DES加密配置删除后可以正常连接到SqlServer数据库。

DolphinScheDuler配置
java.security文件路径:jre中的地址jre1.8.0_171\lib\security jdk中的地址 jdk1.8.0_171\jre\lib\security 把3DES_EDE_CBC去掉即可
DolphinScheDuler配置

问题即可得到解决文章来源地址https://www.toymoban.com/news/detail-481134.html

到了这里,关于DolphinScheDuler配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包