首页>>互联网>>大数据->基于云服务MRS构建DolphinScheduler2调度系统

基于云服务MRS构建DolphinScheduler2调度系统

时间:2023-11-29 本站 点击:0

本文分享自华为云社区《基于云服务MRS构建DolphinScheduler2调度系统》,作者: 啊喔YeYe 。

一、为什么写这篇文章?

1.网上关于DolphinScheduler的介绍很多但是都缺少了与实际大数据平台结合的案例指导。

2.DolphinScheduler1.x版本,2.x重构了内核实现,性能提升20倍!但是因为重构导致2.x与1.x部署过程存在差异,按照1.x部署2.x版本存在不少坑。

3.选择轻量化、免运维、低成本的大数据云服务是业界趋势,如果搭建DolphinScheduler再同步自建一套Hadoop生态成本太高!因此我们通过结合华为云MRS服务构建数据中台。

二、环境准备

dolphinscheduler2.0.3安装包

MRS 3.1.0普通集群

Mysql安装包 5.7.35

ECS centos7.6

三、安装MRS 客户端

MRS客户端提供java、python开发环境,也提供开通集群中各组件的环境变量:Hadoop、hive、hbase、flink等。

参见登录ECS安装集群外客户端

四、安装MySQL服务

1. 创建ECS用户

为了方便数据库管理,对于安装的MySQL数据库,生产上建立了一个mysql用户和mysql用户组:

# 添加mysql用户组

groupadd mysql# 添加mysql用户useradd -g mysql mysql -d /home/mysql# 修改mysql用户的登陆密码passwd ****

2.解压安装包

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```

赋予用户读写权限

chown -R mysql:mysql mysql/

3. 配置文件初始化

① 创建配置文件my.cnf

```vim /etc/my.cnf[client]port = 3306socket = /tmp/mysql.sock[mysqld]character_set_server=utf8init_connect='SET NAMES utf8'basedir=/usr/local/mysqldatadir=/usr/local/mysql/datasocket=/tmp/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid#不区分大小写lower_case_table_names = 1sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONmax_connections=5000default-time_zone = '+8:00'```

② 初始化log文件,防止没有权限

```#手动编辑一下日志文件,什么也不用写,直接保存退出cd /var/log/vim mysqld.log:wq 退出保存chmod 777 mysqld.logchown mysql:mysql mysqld.log```

③ 初始化pid文件,防止没有权限

```cd /var/run/mkdir mysqldcd mysqldvi mysqld.pid:wq保存退出# 赋权cd ..chmod 777 mysqldchown -R mysql:mysql /mysqld```

④ 初始化数据库

初始化数据库,并指定启动mysql的用户,否则就会在启动MySQL时出现权限不足的问题

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

初始化完成后,在my.cnf中配置的datadir目录(/var/log/mysqld.log)下生成一个error.log文件,里面记录了root用户的随机密码。

cat /var/log/mysqld.log

执行后记录最后一行:root@localhost: xxxxx 。 这里的xxxxx就是初始密码。后面登入数据库要用到。

4. 启动数据库

#源目录启动:/usr/local/mysql/support-files/mysql.server start

设置开机自启动服务

# 复制启动脚本到资源目录cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld# 增加mysqld服务控制脚本执行权限chmod +x /etc/rc.d/init.d/mysqld# 将mysqld服务加入到系统服务chkconfig --add mysqld# 检查mysqld服务是否已经生效chkconfig --list mysqld# 切换至mysql用户,启动mysql,或者稍后下一步再启动。service mysqld start# 从此就可以使用service mysqld命令启动/停止服务su mysqlservice mysqld startservice mysqld stopservice mysqld restart

5.登陆,修改密码,预置dolphinscheduler的用户

① 修改密码

```# 系统默认会查找/usr/bin下的命令;建立一个链接文件。ln -s /usr/local/mysql/bin/mysql /usr/bin# 登陆mysql的root用户mysql -uroot -p# 输入上面的默认初始密码(root@localhost: xxxxx)# 修改root用户密码为XXXXXXset password for root@localhost=password("XXXXXX");```

② 预置dolphinscheduler的用户

```mysql -uroot -pmysql>CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;# 修改 {user} 和 {password} 为你希望的用户名和密码,192.168.56.201是我的主机IDmysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'192.168.56.201' IDENTIFIED BY 'dolphinscheduler';#刷新权限mysql> flush privileges;#检查是否创建用户成功mysql> show databases;#出现dolphinscheduler,查看创建的用户mysql> use mysql;mysql> select User,authentication_string,Host from user;```

五、安装dolphinscheduler服务

1. 建立本机id免密

在任意文件夹下进行这一步均可,为防止误会,我在dolphinscheduler203进行这一步,创建用户dolphinscheduler,后面所有操作都是再这个用户下做的。设置root免密登录该用户:

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```0

2. 修改配置参数

① 修改install-config.conf文件

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```1

zk地址获取方式  

登录manager,访问zookeeper服务,copy管理ip即可(前提ECS与MRS集群网络已打通):

 

② 修改 conf/env 目录下的 dolphinscheduler_env.sh

以相关用到的软件都安装在/opt/Bigdata/client下为例:

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```2

说明

这一步非常重要,例如 JAVA_HOME 和 PATH 是必须要配置的,没有用到的可以忽略或者注释掉

环境变量查找方式说明:假设MRS客户端安装在/opt/Bigdata/client

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```3

3. 将mysql 驱动包放入lib下

 

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```4

 

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```5

4.创建元数据库数据表

执行sh script/create-dolphinscheduler.sh

5. 服务安装、启停

每次启停都可以重新部署一次:sh install.sh

启停命令

```cd /usr/local/tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz# 改名为mysqlmv mysql-5.7.13-linux-glibc2.5-x86_64 mysql```6

6. 登录系统

访问前端页面地址:http://xxx:12345/dolphinscheduler  

用户名密码:admin/dolphinscheduler123

 

六、提交MRS任务

1.登录进入dolphinscheduler webui

 

2. 配置MRS-hive连接

登录mrs manager查看hiveserver ip:

 

创建Hive数据连接,普通集群没有权限可以使用默认用户hive,如有需要可以使用在MRS里面已经创建的用户:

 

3. 创建任务

① 创建项目  

 

② 创建工作流  

 

③在工作流编辑任务  

 

④ 任务上线

 

⑤ 启动任务流之后可以查询工作流实例和任务实例  

 

 

⑥ 登录Manager页面,选择“集群 > 服务 > Yarn > 概览”

⑦ 单击“ResourceManager WebUI”后面对应的链接,进入Yarn的WebUI页面,查看Spark任务是否运行

 

点击关注,第一时间了解华为云新鲜技术~

原文:https://juejin.cn/post/7102614062587969549


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/BigData/1323.html