Apache DolphinScheduler的资源中心开启HDFS功能

1. 资源中心介绍

资源中心通常用于上传文件、UDF函数。 可以选择上传到Hadoop集群

2. 开启背景

DolphinScheduler的资源中心默认是不能往HDFS上传文件的,需要我们配置进行开启

3. 修改配置文件conf/common.properties

resource.storage.type=HDFS

# 在HDFS根目录能创建目录的用户
hdfs.root.user=root

# 如果是高可用HA HDFS,需要将core-site.xml和hdfs-site.xml复制到dolphinscheduler-2.0.5-install/conf目录下
fs.defaultFS=hdfs://bigdata001:9000

注意:如果Hadoop集群的NameNode配置了HA的话,需要将Hadoop集群下的core-site.xml和hdfs-site.xml复制到dolphinscheduler/conf目录下

4. 重启

重启DolphinScheduler所有服务

5. 上传文件到HDFS

需要先创建租户,如下所示

创建租户

创建文件夹
创建文件夹
这里会报【租户不存在】的错误。原因是admin用户的租户ID默认是0,和新创建的租户root没有关联上,需要将admin用户的租户ID修改成租户root的ID。在mysql数据库的操作如下

mysql> select * from t_ds_tenant limit 3;
+----+-------------+-----------------------------------------+----------+---------------------+---------------------+
| id | tenant_code | description                             | queue_id | create_time         | update_time         |
+----+-------------+-----------------------------------------+----------+---------------------+---------------------+
| 16 | root        | Centos服务器上的操作系统用户            |        1 | 2022-06-07 16:46:39 | 2022-06-07 16:46:39 |
+----+-------------+-----------------------------------------+----------+---------------------+---------------------+
1 row in set (0.00 sec)

mysql> select * from t_ds_user limit 3;
+----+-----------+----------------------------------+-----------+------------+-------+-----------+---------------------+---------------------+-------+-------+
| id | user_name | user_password                    | user_type | email      | phone | tenant_id | create_time         | update_time         | queue | state |
+----+-----------+----------------------------------+-----------+------------+-------+-----------+---------------------+---------------------+-------+-------+
|  1 | admin     | 7ad2410b2f4c074479a8937a28a22b8f |         0 | xxx@qq.com |       |         0 | 2018-03-27 15:48:50 | 2018-10-24 17:40:22 | NULL  |     1 |
+----+-----------+----------------------------------+-----------+------------+-------+-----------+---------------------+---------------------+-------+-------+
1 row in set (0.00 sec)

mysql> update t_ds_user set tenant_id = 16 where id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> 

再次创建文件夹就成功了

Dolphinscheduler是一个开源的任务调度系统,用于管理各种任务流并提供统一的API接口供上层应用使用。当用户在Dolphinscheduler中尝试上传文件HDFS(Hadoop分布式文件系统),并且遇到“HDFS操作错误”的情况,通常表明在进行文件上传的过程中发生了某个异常。这种错误可能是由多种原因引起的: ### 错误原因分析: 1. **权限问题**:可能是因为当前登录用户的HDFS权限不足,无法将文件上传至指定目录。 2. **网络连接问题**:网络不稳定或是防火墙设置导致的连接失败。 3. **配置错误**:Dolphinscheduler服务端或客户端的配置可能存在错误,比如HDFS的地址、端口、用户名等信息配置不正确。 4. **HDFS资源不足**:目标目录的空间已满或其他资源限制导致的失败。 5. **程序错误**:Dolphinscheduler的内部逻辑存在错误,如异常处理机制未能正确捕获和响应错误。 6. **临时故障**:暂时性的系统负载过高、服务器故障等情况也可能导致此类问题。 ### 解决步骤: 1. **检查权限**:确认上传用户是否拥有足够的权限访问HDFS的指定路径,并检查用户的身份认证机制是否正常工作。 2. **验证配置**:检查Dolphinscheduler的服务端和客户端配置文件HDFS的相关配置,包括地址、端口、用户名等,确保它们与实际使用的环境匹配。 3. **调试日志**:查看Dolphinscheduler的日志文件,特别是与HDFS交互相关的日志条目,以获取更详细的错误信息和上下文,这有助于定位具体的问题点。 4. **网络诊断**:如果怀疑是网络问题,可以测试从本地主机到HDFS服务器的网络连通性和数据传输能力。 5. **资源监控**:检查HDFS服务器的资源使用状况,如空间容量、CPU和内存使用率,确保有足够的资源用于文件上传。 6. **重启服务**:有时候简单的重启Dolphinscheduler服务或相关组件可以帮助解决由于缓存或临时状态错误引起的问题。 7. **求助社区**:如果上述步骤都无法解决问题,可以考虑在技术论坛或GitHub仓库提交问题报告,寻求其他开发者或专家的帮助。 通过以上步骤逐步排查和解决Dolphinscheduler上传文件HDFS时的“HDFS操作错误”,通常能够有效定位并解决该类问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值