本文正在参与“拥开源 — Apache DolphinScheduler 有奖征稿活动”
Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用
M1 因为架构的原因,目前还存在比较多的问题,但是开发者都在积极适配。目前全网还没有搜索到任何在 M1 下搭建 DolphinScheduler 开发调试环境的资料,所以就有了这篇博客,希望能给大家提供思路
环境情况
- macOS Big Sur 11.3
- OpenJDK 64-Bit Server VM (Zulu 8.52.0.23-CA-macos-aarch64)
- IntelliJ IDEA Version: 2021.1
- Docker version 20.10.6
- Node v14.17.0
M1 部署时遇到的问题
1. 数据库及其驱动
使用 Docker 安装 mysql-server,简化安装流程,需要配套使用 8.0 的驱动连接
2. Zookeeper
使用 Docker 部署,简化安装流程
3. Node
推荐使用 Node v14.17.0
v16.2.0 安装依赖时会提示:“node-sass: Command failed ” 的错误
按照官网指导,使用下面的命令单独安装 node-sass 依赖还是会有问题
npm install node-sass --unsafe-perm # 单独安装node-sass依赖
4. ARM 架构导致的问题
启动 MasterServer 和 WorkerServer 后会提示错误:
2021-06-04 10:03:13.410 ERROR 2097 --- [tBeatExecutor_1] o.a.d.server.registry.HeartBeatTask : error write heartbeat info
java.lang.NoClassDefFoundError: Could not initialize class oshi.jna.platform.mac.SystemB$XswUsage
at oshi.hardware.platform.mac.MacGlobalMemory.<init>(MacGlobalMemory.java:46) ~[oshi-core-3.9.1.jar:3.9.1]
at oshi.hardware.platform.mac.MacHardwareAbstractionLayer.getMemory(MacHardwareAbstractionLayer.java:65) ~[oshi-core-3.9.1.jar:3.9.1]
at org.apache.dolphinscheduler.common.utils