【Ambari Plus】17.DolphinScheduler 安装 3.4.2
DolphinScheduler 安装DolphinScheduler 是工作流调度和任务编排入口。前面已经装好 HDFS、YARN、Hive、Spark、Flink、Livy、Zeppelin这时再装 DolphinScheduler后续就可以把 Shell、Spark、Flink、Hive SQL 等任务串成工作流。这套环境已经启用了 Kerberos也已经完成 LDAP 和 Ranger 的接入。安装 DolphinScheduler 时我会重点看三件事元数据库能不能连通、Worker 是否分布到执行节点、Web/API 入口是否能打开。本次角色分配如下主机DolphinScheduler 角色hadoop1.test.comDOLPHIN_MASTER、DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERThadoop2.test.comDOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERThadoop3.test.comDOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT这里是演示环境所以 API、Worker、Alert 都放到三台主机上。生产环境可以把 API 和 Alert 收敛到固定入口节点把 Worker 放到真正执行任务的机器上。1. 准备 DolphinScheduler 元数据库DolphinScheduler 会把项目、工作流定义、任务实例、告警配置等元数据写入关系型数据库。本篇继续使用hadoop1.test.com上的 MySQL / MariaDB。在数据库节点执行CREATEDATABASEIFNOTEXISTSdolphinschedulerDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;本篇为了演示方便数据库账号使用root / root。生产环境建议单独创建dolphinscheduler账号并只授予dolphinscheduler库的权限。2. 选择 Dolphin Scheduler 服务进入服务与组件点击新增服务在增强组件列表里勾选Dolphin Scheduler。页面会显示 DolphinScheduler 依赖ZooKeeper和HDFS。这两个服务必须先运行起来否则后面 Master / Worker 注册、资源中心上传和 Kerberos 凭据分发都会容易出问题。本次只勾选 DolphinScheduler 一个服务不和后面的 Doris、Superset、Atlas 这类组件混在一起装。单组件安装更容易判断问题到底卡在哪一步。3. 分配 DS MasterMaster 分配页里只有一个 Master 组件DOLPHIN_MASTER。本次把它放在hadoop1.test.com组件主机说明DOLPHIN_MASTERhadoop1.test.com负责任务调度、命令分发和工作流状态流转。Master 是调度核心小集群放到主节点比较直观。后续如果调度量很大再考虑多个 Master 和独立节点。4. 分配 DS API、Worker 和 AlertSlave 分配页里会出现三个组件DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT。本次保持三台主机都安装组件主机说明DOLPHIN_API三台主机提供 Web/API 入口默认端口12345。DOLPHIN_WORKER三台主机执行具体任务例如 Shell、Spark、Flink、Hive SQL。DOLPHIN_ALERT三台主机处理告警通知默认端口50052/50053。这套服务没有 Client 组件Client 区域会提示自动跳过。5. 补齐数据库必填项进入自定义配置页后先看顶部提示。本次刚进入页面时待填写项集中在数据库配置里。数据库配置按下面填写配置项本次示例值说明dolphin.database.typeMySQL使用 MySQL / MariaDB。dolphin.database.dbnamedolphinscheduler前面创建的元数据库。dolphin.database.hosthadoop1.test.com数据库所在节点。dolphin.database.port3306MariaDB 端口。dolphin.database.usernameroot演示环境使用 root。dolphin.database.passwordroot演示密码生产环境请替换。填写完成后页面里的待填写项会变成0。然后点击测试数据库连接。看到连接测试通过后再继续。::: warning数据库测试会在后台任务日志里记录 JDBC 连接信息。写教程截图时我只保留页面上的连接测试通过不要把任务日志里的明文参数截进文章。:::6. 检查资源存储配置DolphinScheduler 的资源中心可以把脚本、依赖包、任务资源放到 HDFS。本篇保持默认 HDFS 存储。这里重点看四个值配置项本次示例值说明resource.storage.typeHDFS资源中心使用 HDFS。resource.storage.upload.base.path/apps/dolphinscheduler/resources上传资源的 HDFS 目录。resource.hdfs.root.userhdfs创建资源目录时使用的 HDFS 管理用户。resource.hdfs.fs.defaultFS{{namenode_address}}安装时由 Ambari 根据 HDFS 配置渲染。如果你的集群开启了 Kerberos后续还要保证 DolphinScheduler 使用的 keytab 能访问这个 HDFS 路径。第一次安装先保持默认值让组件完整启动。7. 确认安装清单确认页会把本次新增服务、Master 分配、Slave 分配和配置校验结果列出来。本次确认结果如下检查项本次结果新增服务DOLPHINSCHEDULERMaster 分配DOLPHIN_MASTER - hadoop1.test.comSlave 分配DOLPHIN_ALERT、DOLPHIN_API、DOLPHIN_WORKER分配到三台主机Client 分配无配置校验必填项已填写确认无误后点击开始安装。8. 提交 Kerberos 授权并等待启动开启 Kerberos 的集群中新增 DolphinScheduler 会要求提交 KDC 管理员凭据。这里填写的是 KDC 管理员 Principal 和密码用于生成并分发 DolphinScheduler 相关 principal / keytab。提交成功后进度页会先安装软件包再分发 Kerberos 凭据最后启动各组件。这个阶段主要看阶段期望结果安装软件包三台主机的DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT安装完成DOLPHIN_MASTER在主节点安装完成。Kerberos新增服务凭据生成并分发完成。启动服务Master、API、Worker、Alert 都启动完成。如果启动失败优先看/var/log/dolphinscheduler下的日志其次再检查数据库连通性、HDFS 资源目录权限和 Kerberos keytab。9. 安装完成安装完成页会显示本次成功安装的服务。点击返回服务列表可以看到 DolphinScheduler 出现在接入工作台分类下。页面里可以看到组件数量状态DS Master1运行中DS Api3运行中DS Worker3运行中DS Alert3运行中在服务所在主机上也可以确认端口监听ss-lntp|egrep:(12345|5678|1234|50052|50053)\b正常能看到12345、5678、1234、50052、50053对应的 Java 进程。10. 打开 DolphinScheduler Web 页面浏览器访问http://hadoop1.test.com:12345/dolphinscheduler/第一次打开会进入 DolphinScheduler 登录页。默认管理账号如下项目示例值用户名admin密码dolphinscheduler123登录后可以看到首页统计包括任务实例状态、工作流实例状态和工作流定义统计。到这里DolphinScheduler 的基础安装完成。后面可以继续安装 Doris把明细查询、宽表分析和调度任务衔接起来。