Dolphinscheduler3.1.8兼容Hive2.1.1-cdh6.3.2

前言

dolphinscheduler安裝版本:3.1.8
hive版本:2.1.1-cdh6.3.2

發(fā)現(xiàn)問題&分析問題

  1. 添加數(shù)據(jù)源報錯
[ERROR] 2021-01-08 10:55:40.553 org.apache.dolphinscheduler.api.service.DataSourceService:
[433] - Could not establish connection to jdbc:hive2://10.0.4.78:10000/vfs_dw: Required field 'client_protocol' is unset! 
Struct:TOpenSessionReq(client_protocol:null, configuration:{use:database=vfs_dw})
java.sql.SQLException: Could not establish connection to jdbc:hive2://10.0.4.78:10000/vfs_dw: 
Required field 'client_protocol' is unset! 
Struct:TOpenSessionReq(client_protocol:null, configuration:{use:database=vfs_dw})

2.運行任務報錯
1.Dolphinscheduler任務啟動報錯,協(xié)議錯誤
2.Dolphinscheduler任務全部啟動異常,所有實例都變成提交成功,但是沒有日志,也不會提交

解決辦法

解決1:將hive-jdbc-2.1.1-cdh6.3.2-standalone.jar 放到api和work的lib目錄,刪除多余hive jar包
發(fā)現(xiàn)Hive數(shù)據(jù)可以配置成功,但是ds所有工作流啟動不了了,啟動就變成提交成功,沒有日志。

解決2:將cdh所有hive-*.jar都放到api和work的lib目錄,刪除多余hive jar包
發(fā)現(xiàn)work啟動異常,日志出現(xiàn)hive-jdbc-2.1.1-cdh6.3.2-standalone相關(guān)報錯

Exception in thread "Worker-Server" java.lang.IllegalArgumentException: 
LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. 
Either remove Logback or the competing implementation 
(class org.apache.logging.slf4j.Log4jLoggerFactory loaded from file:/opt/software/dolphinscheduler-3.1.8/worker-server/libs/hive-jdbc-2.1.1-cdh6.3.2-standalone.jar). 
If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.apache.logging.slf4j.Log4jLoggerFactory

解決3:將cdh hive包選擇性替換到api和work的lib目錄
成功解決

#api-server 
#備份libs
cp -ar /opt/software/dolphinscheduler-3.1.8/api-server/libs/ /opt/software/dolphinscheduler-3.1.8/api-server/libs-bac
#復制到api-server 
cp /opt/cloudera/parcels/CDH/jars/hive-jdbc-2.1.1-cdh6.3.2-standalone.jar /opt/software/dolphinscheduler-3.1.8/api-server/libs/
#權(quán)限改為dolphinscheduler 
chown dolphinscheduler:dolphinscheduler /opt/software/dolphinscheduler-3.1.8/api-server/libs/hive-*.jar
#刪除ds自帶的所有hive錯誤版本相關(guān)驅(qū)動依賴
rm -rf /opt/software/dolphinscheduler-3.1.8/api-server/libs/hive-*2.3.9.jar
#check 
ll /opt/software/dolphinscheduler-3.1.8/api-server/libs/|grep hive

#備份libs
cp -ar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/ /opt/software/dolphinscheduler-3.1.8/worker-server/libs-bac

#worker-server
#刪除ds自帶的所有hive錯誤版本相關(guān)驅(qū)動依賴 
rm -rf /opt/software/dolphinscheduler-3.1.8/worker-server/libs/hive-*.jar

#復制到worker-server
cp -n /opt/cloudera/parcels/CDH/jars/hive-common*.jar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/
cp -n /opt/cloudera/parcels/CDH/jars/hive-jdbc-2.1.1-cdh6.3.2.jar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/
cp -n /opt/cloudera/parcels/CDH/jars/hive-metastore*.jar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/
cp -n /opt/cloudera/parcels/CDH/jars/hive-serde*.jar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/
cp -n /opt/cloudera/parcels/CDH/jars/hive-service*.jar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/
cp -n /opt/cloudera/parcels/CDH/jars/hive-service-rpc*.jar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/
cp -n /opt/cloudera/parcels/CDH/jars/hive-storage-api*.jar /opt/software/dolphinscheduler-3.1.8/worker-server/libs/

#權(quán)限改為dolphinscheduler
chown dolphinscheduler:dolphinscheduler /opt/software/dolphinscheduler-3.1.8/worker-server/libs/hive-*.jar
#check 
ll /opt/software/dolphinscheduler-3.1.8/worker-server/libs/|grep hive
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容