【Python】如何讓DolphinSceduler里的python腳本如願跑起來。


單位有台機器安裝了DolphinSceduler(以下簡稱DS),需要用它做任務調度,對此其實我其實是抵觸的,linux里有crontab,springboot里有scheduler,還要這勞什子干什么?但任務就是任務.....。DS里面提供一堆子節點,我覺得python的最實用,但是Python版本是缺省安裝的2.73,這個是沒法裝上必要的DB訪問whl的,不能訪問DB的2.73程序必須拋棄,因此必須安裝上新的anaconda3.8.8版本python,這也是能弄到的最高版本。

首先我用root用戶登錄,切換到安裝DS的用戶名為dce上,開始安裝anaconda,安裝過程記錄在:https://www.cnblogs.com/pyhy/p/15898009.html

安裝完,我執行一個測試python程序,運行正常,我以為沒問題了,於是啟動節點里的python腳本,結果運行中止,日志里顯示 sudo:/usr/bin/python 找不到命令。

為什么控制台里的python可以運行但DS里不行呢?我在網上搜索一陣,結果發現有篇文章提到修改DS目錄下的conf/env文件,就是這篇 https://www.cnblogs.com/zzz01/p/15655196.html

里面說有個dolphinscheduler_env.sh文件,其中有如下字樣:

export HADOOP_HOME=/usr/hdp/3.1.4.0-315/hadoop/
export HADOOP_CONF_DIR=/usr/hdp/3.1.4.0-315/hadoop/etc/hadoop
#export SPARK_HOME1=/opt/soft/spark1
export SPARK_HOME2=/usr/hdp/3.1.4.0-315/spark2
#export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/usr/local/jdk1.8.0_112
export HIVE_HOME=/usr/hdp/3.1.4.0-315/hive
#export FLINK_HOME=
export DATAX_HOME=/u01/isi/application/bigsoft/datax

我一看,好家伙export都出來了,肯定是該這里無疑。我剛安裝的python可執行程序在 /home/dce/anaconda3/bin/python,用它替換掉上面一段應該就差不離了。

接下來我首先用命令 find / -name dolphin* 列出所有帶dolphin的目標,然后連猜帶試找到了DS目錄所在,再往下找dolphinscheduler_env.sh文件:

/home/dce/01-workhome/09-dev/dolphinesceduler/dolphinescheduler/conf/env/dolphinscheduler_env.sh

然后用VI將PYTHON_HOME一句改為改為 export PYTHON_HOME=/home/dce/anaconda3/bin/python。

修改完也沒用重啟什么的,直接就執行了節點里的腳本,然后腳本就正常運行了,和控制台里運行一樣。

現在往回看,安裝新版python后,就應該直接去改DC下conf/env目錄里的dolphinscheduler_env.sh文件,這是關鍵一步。

END

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM