网站前端开发培训西安,最好科技上海网站建设,建站服务器多少钱,wordpress发不了邮件Dolphinscheduler-3.2.0(离线)伪集群模式
一、依赖(前置准备工作)
1.JDK#xff1a;版本要求 JDK(1.8),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到PATH 环境变量中; 2.数据库#xff1a;PostgreSQL(8.2.15) 或者MySQL(5.7),两者任选其一即可,如 MySQL 则需要…Dolphinscheduler-3.2.0(离线)伪集群模式
一、依赖(前置准备工作)
1.JDK版本要求 JDK(1.8),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到PATH 环境变量中; 2.数据库PostgreSQL(8.2.15) 或者MySQL(5.7),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16; 3.注册中心ZooKeeper(3.8.0); 4.进程树分析: (1).macOS 安装 pstree; (2).Fedora/Red/Hat/CentOS/Ubuntu 安装psmisc; 注意:Dolphinscheduler 本身并不依赖 Hadoop、Hive、Spark 等,但若运行的任务需要依赖,就需要有对应的环境支持. 5.下载需要安装的二进制包(对应版本)
二、准备 DolphinScheduler 启动环境(官网教程解读)
1.配置用户免密及权限
创建部署用户,且一定要配置 sudo 免密。以创建 dolphinscheduler 用户为例
# 创建用户需使用 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 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
chmod -R 755 apache-dolphinscheduler-*-bin注意: (1).因为任务执行服务是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多用户运行作业,所以部署用户需要有 sudo 权限,而且是免密的。初学者弱不理解,可暂时忽略这一点; (2).若发现 /etc/sudoers 文件中有 “Defaults requirett” 这行,也请注释掉(##)
2.配置机器 SSH 免密登录
由于安装的时候需要向不同机器发送资源,so 要求各台机器间能实现 SSH 免密登录;配置步骤:
# 先切到 dolphinscheduler 用户
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 登录则证明成功;
3.启动 zookeeper
进入 zookeeper 的安装目录,将 zoo_sample.cfg 配置文件复制到 conf/zoo.cfg,并将 conf/zoo.cfg 中 dataDir 中的值改成 dataDir./tmp/zookeeper
# 启动 zookeeper (root启)
./bin/zkServer.sh start4.修改相关配置
完成基础环境的准备后,需要根据你的机器环境修改配置文件。配置文件可在目录 bin/env/ 中找到,他们分别是 install_env.sh 和 dolphinscheduler_dnv.sh。
(1).修改 install_env.sh 文件
文件 install_env.sh 描述了那些机器将被安装 DolphinScheduler 以及每台机器对应安装哪些服务。您可以在文件 bin/env/install_env.sh 中找到对应参数。使用 ‘vi bin/env/install_env.sh’ 或者 ‘vim 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
ipslocalhost
sshPort22
masterslocalhost
workerslocalhost:default
alertServerlocalhost
apiServerslocalhost
# 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**
deployUserdolphinscheduler(2).修改 dolphinscheduler_env.sh 文件
文件 ./bin/env/dolphinscheduler_env.sh 描述了下列配置: – DolphinScheduler 的数据库配置,详情见[初始化数据库] – 一些任务类型外部依赖路径或库文件,如 JAVA_HOME 和 SPARK_HOME 都是在这里定义的 若您不适用某些任务类型,可忽略任务外部依赖项,但您必须根据您的环境更改 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_URLjdbc:postgresql://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_HOME${SPARK_HOME:-/opt/soft/spark}
export PYTHON_LAUNCHER${PYTHON_LAUNCHER:-/opt/soft/python}
export HIVE_HOME${HIVE_HOME:-/opt/soft/hive}
export FLINK_HOME${FLINK_HOME:-/opt/soft/flink}
export DATAX_LAUNCHER${DATAX_LAUNCHER:-/opt/soft/datax/bin/python3}
export PATH$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_LAUNCHER:$PATH5.初始化数据库
请参考[数据源配置]伪分布式/分布式安装初始化数据库 创建并初始化数据库
提示:
初始化数据库简单来说于此处就是在 mysql 数据库的 dolphinscheduler 数据库中建一些存放元数据的表(tools中mysql下后缀为ddl.sql的那个sql脚本),其次就是插入一下基础数据比如登录验证用的 admin用户的数据等等(tools中mysql下后缀为dml.sql的那个sql脚本) 这里可以自己在mysql中创建 dolphinscheduler 用户,建 dolphinscheduler 库,然后调用对应的两个脚本(初始化后有88个表,记得检查下别缺失了)
6.启动 DolphinScheduler
使用上面创建的部署用户(dolphinscheduler)运行以下命令完成部署,部署后的运行日志将存放在 logs 文件夹内(各个server 服务节点下都有 logs 文件夹,大家可以到其中找到对应的 server 报错日志文件,例如实时查看 alert-server的 logs 文件命令行:’tail -400f dolphinscheduler/alert-server/logs/alert-server-pt23amlupz5x.out’)
bash ./bin/install.sh注意: 第一次部署的话,可能出现 5 次 sh: bin/dolphinscheduler-daemon.sh: No such file or directory 相关信息,此为非重要信息直接忽略即可
6.启停服务
# 一键停止集群所有服务
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-server7.登录 DolphinScheduler
浏览器访问地址 ‘http://localhost:12345/dolphinscheduler/ui’ 即可登录系统 UI。默认的用户名和密码是 ’admin/dolphinscheduler123’
注意:
这是本地部署伪集群模式,若远程在服务器上部署则此处地址中的 ’localhost’ 需要换成服务器的 ip,需保证连接的畅通,例如服务器 ip 是12.34.56.78 ,本地 cmd 命令行到服务器 12345 端口号连通检查命令行’telnet 12.34.56.78 12345’(执行此命令前提: 12345 端口号处于被监听状态)
8.快速配置文件启动
(1).每个服务在路径 /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 然后启动服务,目的是为了减少用户修改配置的成本. (2).服务用途请具体参见 系统架构 小节。Python gateway service 默认与 api-server 一起启动,若您不想启动 Python gateway service 请通过更改 api-server 配置文件 api-server/conf/application.yaml 中的 python-gateway.enabled : false 来禁用它。
三、配置参数
1.外部依赖路径(./bin/env/dolphinscheduler_env.sh)
略(由于网上有不少,就不做赘述了,有疑问可以放评论区大家一起讨论)
2.(bin/env/install_env.sh)
略(由于网上有不少,就不做赘述了,有疑问可以放评论区大家一起讨论)
四、问题点及解决方案:
1.Q:初始化数据库失败!?
A:
复制对应的sql 脚本路径,直接登录 mysql 调用脚本建表,和插入admin的相关数据(文件路径一般在:tools/sql 下面,我们用的mysql数据库,所以就直接找mysql的数据库就好)
2.Q:初始化成功后一直启动失败!?
A:
经过找日志看日志分析日志上网查等等一系列动作搞下来发现:版本兼容有要求!!即: 安装最新版的dolphinscheduler-3.2.0 需要配套最新版本的zookeeper-3.8.0 所以重装 zookeeper !
3.Q:路径、IP 和端口等参数怎么确保不出错?
A:
最简单管用的方式就是打开对应的依赖配置文件(如果怕记错的话),对照着填,其实也不多,就几个端口:zookeeper:2181、mysql:3306…(具体看配置)
4.Q:网络遇到过什么比较典型的问题吗?
A:
请确保网络通畅!!! 若是非本地部署,远程部署,可能需要开网策,确保源 IP 到 ’服务器:端口’畅通 检查端口号(telnet命令ss -lnt’命令)
5.Q:一个是工作流上线运行后没有实例的问题?
A:
经过看官网视频教程,加上询问大拿,才得知 3.2.0 版本并不成熟且不建议投产,目前最成熟的是 3.1.9 版本,故而需要重装 3.1.9 版本.
6.Q:没有找到日志信息并且在bin中也没看见log相关的server请问是版本变动吗
A:
因为 3.2.0 版本此时尚不成熟,所以只能重装 3.1.9 版本.
7.Q:重装 DolphinScheduler-3.1.9 有什么需要注意的吗?
A:
简单来说还是那几个点: 1.数据库的初始化大概率需要创建 mysql 的 dolphinscheduler 用户 和 dolphinscheduler 库后登录 mysql 数据库,直接用 source path/to/sql.sql 命令执行 sql 脚本进行数据库初始化; 2.在执行 bin/install.sh 后,还需到安装路径中分别更改各个 server 中的配置文件(例如: alert-server/conf/application.yaml),比较暴力的方式是将所有数据库驱动和数据库 ip 端口 都改成自己对应的参数.(比如我是mysql,就把mysql和postgretsql的驱动,ip端口之类的参数全部换成mysql的参数) 3.mysql的jar包需要复制到各个服务下的 libs 文件夹中 4.待续…