1. 程式人生 > >cloudera cdh 5.11 編譯 啟動spark thrift server spark sql

cloudera cdh 5.11 編譯 啟動spark thrift server spark sql

cloudera cdh 是閹割版的spark,沒有spark sql和thrift server,沒有辦法啟動thrift server做JDBC/ODBC查詢。那麼是否有辦法自己重新編譯spark,來獲得這種能力呢?

本人嘗試修改spark的hadoop和hive依賴(pom.xml中改成1.1.0-cdh5.11.2),重新打包編譯,

mvn -Pyarn -Phive -Phive-thriftserver -Pflume-provided -Phadoop-provided -Phbase-provided -Phive-provided -Pparquet-provided -Dhadoop.version=2.6.0-cdh5.11.2 -DskipTests clean package

結果在編譯thrift server一步報錯,由於spark使用的是hive1.2.0版本,這個結果也可想而知。

那麼在不改hive版本的情況下是否能成功執行呢?

把成功打包好的spark jar包放到spark jar路徑下,新增start-thriftserver.sh並做一系列必要的修改後發現仍然啟動不了,日誌報錯大概意思就是client版本有問題,有些類不存在。

那麼能不能再進一步,重新編譯打包hive呢?

本人使用了hive-1.2.2和hive-2.1.1和hive-2.3.2進行編譯,結果均告失敗,由於cdh版本的hadoop和hive的原始碼不相容導致。

所以目前的結論就是使用cloudera cdh 5.x 在沒有官方支援的情況下暫時還沒有辦法使用spark thrift server。

那麼本文的意義其實就是告訴打算嘗試的人別費勁了。

當然如果有嘗試成功的,歡迎告知