IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 2021-09-29 -> 正文阅读

[大数据]2021-09-29

2021SC@SDUSC

DolphinScheduler项目综述个人分工与环境搭建

日期:9-30(此为初稿,或许日后进行校验)

本人目前负责

dolphinscheduler-rpc 日志查看。提供日志实时查看rpc功能
dolphinscheduler-dist 与编译、分发相关的模块。

一.项目介绍:

DolphinScheduler项目是一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中

其主要功能如下:

1.以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态
2.支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等
3.支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill任务等操作
4.支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败
5.支持工作流全局参数及节点自定义参数设置
6.支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑
7.支持任务日志在线查看及滚动、在线下载日志等
8.实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化
9.支持对Master/Worker cpu load,memory,cpu在线查看
10.支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计

二.项目具体情况

项目架构:

在这里插入图片描述

前端:

1.1、环境:

后端:

JDK(1.8.0.1)
Maven(3.3)
本地解压一个hadoop并配上环境变量

前端:

node(Node包下载  https://nodejs.org/download/release/v8.9.4/)
本地环境变量的配置

源码下载:

1.git branch -a #查看分支
2.git checkout dev-db #切换到dev-db分支
3.git pull #同步分支

因为前端的日志模块,用gRPC调用后端,所以先进行编译。

编译项目:

(1.2之后的版本)mvn -U clean package -Prelease -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
(1.2之前的版本)mvn -U clean package assembly:assembly -Dmaven.test.skip=true )
 </font>

2、搭建后端 :

2.1、修改 pom.xml 文件 [采用 mysql 数据库 ]

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql.connector.version}</version>
    <!--<scope>test</scope>-->
</dependency>

2.2、修改配置

1、dolphinscheduler-common的hadoop.properties主要修改的配置项有:

	fs.defaultFS=hdfs://xxxx
	yarn.resourcemanager.ha.rm.ids=192.168.0.244,192.168.0.245

2、dolphinscheduler-common的common.properties主要修改的配置项为

	res.upload.startup.type=HDFS

3、dolphinscheduler-common的quartz.properties:ds1.2数据库默认使用postgresql,所以如果使用mysql,需要修改mysql的配置

	org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
	org.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver

4、dolphinscheduler-common的zookeeper.properties:配置连接及路径

5、dolphinscheduler-dao的application-dao.properties修改spring.datasource的相关配置

2.3、数据库初始化

    创建ds数据库CREATE DATABASE dolphinscheduler
    创建表和初始化数据: 修改dao模块resource目录下application.properties文件中的数据库配置信息,然后执行org.apache.dolphinscheduler.dao.upgrade.shell.CreateDolphinScheduler的类,运行完,刷新数据库,表和数据都有了。

2.4、运行前的配置修改

2.4.1、启动MasterServer

org.apache.dolphinscheduler.server.master.MasterServer类main函数增加如下代码:

System.setProperty("spring.profiles.active","master");

修改server模块resources目录下master_logback.xml文件,增加以下代码:

然后执行MasterServer即可。

2.4.2、启动WorkerServer

org.apache.dolphinscheduler.server.worker.WorkerServer类main函数增加如下代码:

System.setProperty("spring.profiles.active","worker");

修改server模块resources目录下worker_logback.xml文件,增加以下代码:

<root level="INFO">
	 <appender-ref ref="TASKLOGFILE"/>
	 <appender-ref ref="WORKERLOGFILE"/>
	 <!-- 增加日志到控制台-->
	 <appender-ref ref="STDOUT"/>
</root>

然后执行WorkerServer即可。

2.4.3、启动CombinedApplicationServer的mian函数下增

System.setProperty("spring.profiles.active","combined");

2.4.4、错误收集:

1、如果报找不到/etc/passwd文件的错误,则定位到指定位置OSUtils.java,从服务器上下载一个passwd文件到本地,修改路径
2、如果无法获取fs文件系统,是因为之前common模块下的hadoop.properties中是配置的
fs.defaultFS=hdfs://xxxx 命名空间,会显示无法解析xxxx,所以将core-site.xml和hdfs-site.xml拷贝到common的resource模块下。

3、搭建前端

3.1、编译

cd apache-dolphinscheduler-1.2.1-src/dolphinscheduler-ui
npm install node-sass --unsafe-perm

3.2、修改配置

/workspace/apache-dolphinscheduler-1.2.1-src/dolphinscheduler-ui/.env下的
API_BASE = http://127.0.0.1:12345
DEV_HOST = 127.0.0.1

3.3启动

npm run dev

项目部分展示:

1.执行项目情况统计图在这里插入图片描述

2.日志查看与分析在这里插入图片描述

3.编译过程和流程介绍在这里插入图片描述
参考链接:
https://gitee.com/dolphinscheduler/DolphinScheduler?utm_source=alading&utm_campaign=repo

https://blog.csdn.net/zhaxiaodong/article/details/105288206?ops_request_misc=&request_id=&biz_id=102&utm_term=dophinscheduler%E6%BA%90%E4%BB%A3%E7%A0%81&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-105288206.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 16:56:57  更:2021-10-01 17:00:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:06:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码