dolphinscheduler 租户不存在问题 记录
ds
1、 创建租户(在数据库中) test-20240522 , 此时 linux 服务上并未 创建目录和用户 test-20240522
2、 在配置好工作流,真正执行的时候 ,在创建linux /home 文件夹下创建相应 用户目录和和登录用户 test-20240522
case1:
1、如果删除服务器上 userdel -r test-20240522
删除 test-20240522 这个租户
2、在用户管理admin =》选择租户 test-20240522 =》
3、任务流定义选择 default 租户,这时候会发现 linux 服务器上 test-20240522 目录和用户又有了!!!
-- 得出结论 ,如果都是任务流定义过程中 都是用 default组,default租户 的话,会使用当前用户绑定的租户,即 test-20240522
case2:
1、在用户管理admin =》选择租户 test
2、任务流定义选择 test-20240522 租户,这时候会发现 linux 服务器上 test-20240522 目录和用户又有了!!!
-- 得出结论 ,如果都是任务流定义过程中 选择某个租户 test-20240522 的话,work工作时 会使用配置中选中租户,即 test-20240522
实际报错
INF0] 2024-05-2214:15:23.153
-End initialize task
+0800 org.apache.dolphinscheduler.common.utils.0SUtils:[33] [workflowInstance
[workflowInstance-12][TaskInstance-13]- create linux os user: zdy
zdy
Set task status to Taske
-12]lTaskInstance-13] execute cmd; sudo useradd -g admin
ERFDR) 2824-5-2 14:15:23.235 -000 r,pache.lphinschedler.comontis.0s:327) fwnstance- 2aknstance3) - ryr t m t te "s/
org.apache.dolphinscheduler.common.shellAbstractShellsExitodeExceptin: Sorry, user admin is not allowed to execute /sbin/useradd g adain zdy' as rmot on nodem
分析
默认ds 使用 admin用户的,
而在多租户使用过程中,ds是需要去linux服务器上创建某个用户的,但是 admin 这个用户在linux 中并没有 创建用户的权限 ,所以对他进行了权限调整
默认权限
cat /etc/sudoers
这样修改后,ds在执行的时候 会使用 sudo useradd -g admin 用户名
创建租户 这时候就会成功了