在DolphinScheduler执行Python问题小记

在DolphinScheduler执行Python代码时,报了Permission denied的错误,搜了下说是没配置python环境。
于是我在服务器上装了miniconda,在DS上配置了python环境

export PYTHON_LAUNCHER=/home/docker/miniconda3/envs/python3118/bin/python	

在这里插入图片描述

执行又报/home/docker/miniconda3/envs/python3118/bin/python没权限,于是我把整个miniconda都赋予了租户权限(也可以改执行的租户=Linux用户),问题解决。
但没想到新pip安装几个模块后,在服务器执行没问题,在DS上执行报没那个函数,在网上找了半天也没发现同类问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

吃了个饭后,突然想到是不是因为新安装的模块没权限,于是马上赋予权限,果然好了

### 如何在DolphinScheduler中配置和运行Python脚本 #### 准备工作 为了确保能够在 DolphinScheduler 中顺利执行 Python 脚本,需先确认已正确安装并配置好 DolphinScheduler 环境[^2]。这包括但不限于完成集群部署、设置 MySQL 数据库作为元数据存储以及适当的安全性和资源管理。 #### 创建 Conda 环境 对于特定需求的任务来说,建议通过 `conda` 来创建独立的工作环境来隔离依赖项。可以利用如下命令快速建立一个新的 conda 环境: ```bash conda create --name ds_env python=3.8 conda activate ds_env ``` 此操作有助于避免不同版本间的冲突,并简化后续维护过程[^3]。 #### 编写 PyDolphinScheduler 脚本 借助于 PyDolphinScheduler 库的支持,在编写 Python 工作流定义时变得更加直观便捷。下面是一个简单的例子展示如何构建一个包含单个 PythonTask 的 DAG (有向无环图): ```python from pydolphinscheduler.core.process_definition import ProcessDefinition from pydolphinscheduler.tasks.python import Python with ProcessDefinition(name="example_python_task", tenant="tenant_name") as pd: task_code = """ print('Hello, world!') """ hello_world = Python( name="hello-world", code=task_code, environment='ds_env' # 使用之前创建好的 conda env 名字 ) pd.submit() ``` 这段代码展示了怎样在一个新的流程定义里加入名为 “hello-world”的 Python Task 并提交给 DolphinScheduler 执行引擎处理[^1]。 #### 设置 Worker 启动参数 为了让 worker 正确加载所需的 Python 解释器及其路径,可能还需要调整 `/etc/profile` 文件中的相应变量,比如添加 `export PATH=/path/to/your/python:$PATH` 这样的语句以指向正确的 Python执行文件位置。另外需要注意的是,如果是以非 root 用户身份启动服务,则应保证该用户拥有足够的权限去访问这些资源;可以通过修改 sudoers 文件内的条目实现这一点,即允许目标用户无需密码即可调用必要的指令。 #### 提交任务至 DolphinScheduler UI 或 API 最后一步就是把准备完毕后的 Python Script 发送到 DolphinScheduler 上面去了。有两种途径可以选择:一种是在 Web 控制台界面上手动上传 .py 文件并指定其为某个节点下的子任务;另一种则是直接采用 RESTful APIs 接口自动化整个发布流程。无论哪种方式都能达到相同的效果——让系统按照预定计划周期性地触发所关联的 Python script 实例化作业实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光于前裕于后

您的打赏将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值