网站后台上传图片步骤,公司网站荣誉墙怎么做,做网站一般图片多大,彩票走势图网站是用什么程序做的Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系#xff0c;使调度系统在数据处理流程中开箱即用。 主要特性
易于部署#xff0c;提供四种部署方式#xff0c;包括Standalone、Cluster、Docker和…Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系使调度系统在数据处理流程中开箱即用。 主要特性
易于部署提供四种部署方式包括Standalone、Cluster、Docker和Kubernetes易于使用可以通过四种方式创建和管理工作流包括Web UI、Python SDK和Open API高可靠高可用多主多从的去中心化架构原生支持横向扩展高性能性能比其他编排平台快N倍每天可支持千万级任务Cloud NativeDolphinScheduler支持编排多云/数据中心工作流支持自定义任务类型对工作流和工作流实例包括任务进行版本控制工作流和任务的多种状态控制支持随时暂停/停止/恢复它们多租户支持其他如补数支持Web UI 原生包括项目和数据源的权限控制
单节点部署
安装包下载
JDK下载JDK (1.8)安装并配置 JAVA_HOME 环境变量并将其下的 bin 目录追加到 PATH 环境变量中。如果你的环境中已存在可以跳过这步。二进制包在下载页面下载 DolphinScheduler 二进制包
解压并启动 DolphinScheduler
二进制压缩包中有 Standalone 启动的脚本解压后即可快速启动。
切换到有sudo权限的用户运行脚本:
# 解压并运行 Standalone Server
tar -xvzf apache-dolphinscheduler-*-bin.tar.gz
cd apache-dolphinscheduler-*-bin
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
登录 DolphinScheduler
浏览器访问地址 http://localhost:12345/dolphinscheduler/ui 即可登录系统UI。 默认的用户名和密码是 admin/dolphinscheduler123 启停服务
脚本 ./bin/dolphinscheduler-daemon.sh 除了可以快捷启动 standalone 外还能停止服务运行全部命令如下
# 启动 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
配置数据库
Standalone server 使用 H2 数据库作为其元数据存储数据这是为了上手简单用户在启动服务器之前不需要启动数据库。
但是如果用户想将元数据库存储在 MySQL 或 PostgreSQL 等其他数据库中他们必须更改一些配置。
请参考 数据源配置 Standalone 切换元数据库 创建并初始化数据库
伪集群部署
安装包下载
伪分布式部署 Apache DolphinScheduler 需要有外部软件的支持
JDK下载JDK (1.8)安装并配置 JAVA_HOME 环境变量并将其下的 bin 目录追加到 PATH 环境变量中。如果你的环境中已存在可以跳过这步。二进制包在下载页面下载 DolphinScheduler 二进制包数据库PostgreSQL (8.2.15) 或者 MySQL (5.7)两者任选其一即可如 MySQL 则需要 JDBC Driver 8.0.16注册中心ZooKeeper (3.4.6)下载地址进程树分析 macOS安装pstreeFedora/Red/Hat/CentOS/Ubuntu/Debian安装psmisc 注意:\ DolphinScheduler 本身不依赖 Hadoop、Hive、Spark但如果你运行的任务需要依赖他们就需要有对应的环境支持 配置用户免密及权限
创建部署用户并且一定要配置 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
启动zookeeper
进入 zookeeper 的安装目录将 zoo_sample.cfg 配置文件复制到 conf/zoo.cfg并将 conf/zoo.cfg 中 dataDir 中的值改成 dataDir./tmp/zookeeper
# 启动 zookeeper
./bin/zkServer.sh start
修改 install_env.sh 文件
文件 install_env.sh 描述了哪些机器将被安装 DolphinScheduler 以及每台机器对应安装哪些服务。
您可以在路径 bin/env/install_env.sh 中找到此文件可通过以下方式更改env变量,export 配置详情如下。
# ---------------------------------------------------------
# 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
修改 dolphinscheduler_env.sh 文件
文件 ./bin/env/dolphinscheduler_env.sh 描述了下列配置
DolphinScheduler 的数据库配置详细配置方法见初始化数据库一些任务类型外部依赖路径或库文件如 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_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_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 元数据存储在关系型数据库中目前支持 PostgreSQL 和 MySQL。
下面分别介绍如何使用 MySQL 和 PostgresQL 初始化数据库。 如果使用 MySQL 需要手动下载 mysql-connector-java 驱动 (8.0.16) 并移动到 DolphinScheduler 的每个模块的 libs 目录下其中包括 api-server/libs 和 alert-server/libs 和 master-server/libs 和 worker-server/libs。 对于MySQL 5.6 / 5.7
mysql -uroot -pmysql 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 -pmysql 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/dolphinscheduler_env.sh将username和password改成你在上一步中设置的用户名{user}和密码{password}
对于 MySQL
# for mysql
export DATABASE${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE${DATABASE}
export SPRING_DATASOURCE_URLjdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8useSSLfalse
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_URLjdbc: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
启动 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
启停服务
# 一键停止集群所有服务
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
Docker 部署
使用 standalone-server 镜像
使用 Standalone-server 镜像启动一个 DolphinScheduler standalone-server 容器应该是最快体验 DolphinScheduler 的方法。
通过这个方式 你可以最快速的体验到 DolphinScheduler 的大部分功能了解主要和概念和内容。
DOLPHINSCHEDULER_VERSION3.1.5
docker run --name dolphinscheduler-standalone-server -p 12345:12345 -p 25333:25333 -d apache/dolphinscheduler-standalone-server:${DOLPHINSCHEDULER_VERSION} 注意请不要将 apache/dolphinscheduler-standalone-server 镜像作为生产镜像应该仅仅作为快速体验 DolphinScheduler 的功能的途径。 除了因为他将全部服务运行在一个进程中外还因为其使用内存数据库 H2 储存其元数据当服务停止时内存数据库中的数据将会被清空。 另外 apache/dolphinscheduler-standalone-server 仅包含 DolphinScheduler 核心服务部分任务组件如 Spark 和 Flink 等 告警组件如 Telegram 和 Dingtalk 等需要外部的组件或对应的配置后 使用 docker-compose 启动服务
使用 docker-compose启动服务相比 standalone-server 的优点是 DolphinScheduler 的各个是独立的容器和进程相互影响降到最小且能够在服务重启的时候保留元数据如需要挂载到本地路径需要做指定。
更健壮能保证用户体验更加完整的 DolphinScheduler 服务。
这种方式需要先安装 docker-compose链接适用于 MacLinuxWindows。
安装完成 docker-compose 后我们需要修改部分配置以便能更好体验 DolphinScheduler 服务我们需要配置不少于 4GB 的空闲内存
Mac点击 Docker Desktop - Preferences - Resources - Memory 调整内存大小Windows Docker Desktop Hyper-V 模式点击 Docker Desktop - Settings - Resources - Memory 调整内存大小WSL 2 模式 模式参考 WSL 2 utility VM 调整内存大小
配置完成后我们需要获取 docker-compose.yaml 文件通过下载页面下载对应版本源码包可能是最快的方法源码包对应的值为 Total Source Code。
当下载完源码后就可以运行命令进行部署了。
DOLPHINSCHEDULER_VERSION3.1.5
tar -zxf apache-dolphinscheduler-${DOLPHINSCHEDULER_VERSION}-src.tar.gz
# Mac Linux 用户
cd apache-dolphinscheduler-${DOLPHINSCHEDULER_VERSION}-src/deploy/docker
# Windows 用户, cd apache-dolphinscheduler-${DOLPHINSCHEDULER_VERSION}-src\deploy\docker# 如果需要初始化或者升级数据库结构需要指定profile为schema
docker-compose --profile schema up -d# 启动dolphinscheduler所有服务指定profile为all
docker-compose --profile all up -d 提醒通过 docker-compose 启动服务时除了会启动 DolphinScheduler 对应的服务外还会启动必要依赖服务如数据库 PostgreSQL(用户 root, 密码 root, 数据库 dolphinscheduler) 和 服务发现 ZooKeeper。 沿用已有的 PostgreSQL 和 ZooKeeper 服务
使用 docker-compose 启动服务会新启动数据库以及 ZooKeeper 服务。
如果你已经有在运行中的数据库或者 ZooKeeper 且不想启动新的服务可以使用这个方式分别启动 DolphinScheduler 容器。
DOLPHINSCHEDULER_VERSION3.1.5
# 初始化数据库其确保数据库 DATABASE 已经存在
docker run -d --name dolphinscheduler-tools \-e DATABASEpostgresql \-e SPRING_DATASOURCE_URLjdbc:postgresql://localhost:5432/DATABASE \-e SPRING_DATASOURCE_USERNAMEUSER \-e SPRING_DATASOURCE_PASSWORDPASSWORD \--net host \apache/dolphinscheduler-tools:${DOLPHINSCHEDULER_VERSION} tools/bin/upgrade-schema.sh
# 启动 DolphinScheduler 对应的服务
docker run -d --name dolphinscheduler-master \-e DATABASEpostgresql \-e SPRING_DATASOURCE_URLjdbc:postgresql://localhost:5432/dolphinscheduler \-e SPRING_DATASOURCE_USERNAMEUSER \-e SPRING_DATASOURCE_PASSWORDPASSWORD \-e REGISTRY_ZOOKEEPER_CONNECT_STRINGlocalhost:2181 \--net host \-d apache/dolphinscheduler-master:${DOLPHINSCHEDULER_VERSION}
docker run -d --name dolphinscheduler-worker \-e DATABASEpostgresql \-e SPRING_DATASOURCE_URLjdbc:postgresql://localhost:5432/dolphinscheduler \-e SPRING_DATASOURCE_USERNAMEUSER \-e SPRING_DATASOURCE_PASSWORDPASSWORD \-e REGISTRY_ZOOKEEPER_CONNECT_STRINGlocalhost:2181 \--net host \-d apache/dolphinscheduler-worker:${DOLPHINSCHEDULER_VERSION}
docker run -d --name dolphinscheduler-api \-e DATABASEpostgresql \-e SPRING_DATASOURCE_URLjdbc:postgresql://localhost:5432/dolphinscheduler \-e SPRING_DATASOURCE_USERNAMEUSER \-e SPRING_DATASOURCE_PASSWORDPASSWORD \-e REGISTRY_ZOOKEEPER_CONNECT_STRINGlocalhost:2181 \--net host \-d apache/dolphinscheduler-api:${DOLPHINSCHEDULER_VERSION}
docker run -d --name dolphinscheduler-alert-server \-e DATABASEpostgresql \-e SPRING_DATASOURCE_URLjdbc:postgresql://localhost:5432/dolphinscheduler \-e SPRING_DATASOURCE_USERNAMEUSER \-e SPRING_DATASOURCE_PASSWORDPASSWORD \-e REGISTRY_ZOOKEEPER_CONNECT_STRINGlocalhost:2181 \--net host \-d apache/dolphinscheduler-alert-server:${DOLPHINSCHEDULER_VERSION} 注意如果你本地还没有对应的数据库和 ZooKeeper 服务但是想要尝试这个启动方式可以先安装并启动 PostgreSQL(8.2.15) 以及 ZooKeeper(3.8.0) 本文完 本文由 白鲸开源科技 提供发布支持