HiveOnSpark報錯:Client 'xxx' timed out waiting for connection from the Remote Spark Driver

今天羣內看到一個hive on spark報錯案例:

FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session adecc1e7-9763-4d33-bf4d-7a1a8105af61_0: java.util.concurrent.TimeoutException: Client 'adecc1e7-9763-4d33-bf4d-7a1a8105af61_0' timed out waiting for connection from the Remote Spark Driver

並且這個連接超時是偶發的,即有時是可以執行成功的。詳細報錯情況如下圖

經確認,hive確實已把默認計算引擎改爲spark了,如下圖:

 

內存設置雖不大,但數據量也不大哦,如下圖:

經查,官網對Remote Spark Driver有三個參數:

 關於此三個參數,中文說明見:https://www.iteblog.com/archives/1541.html,但設置時發現:
hive.spark.client.connect.timeout和hive.spark.client.server.connect.timeout這兩個參數(單位毫秒)不能動態修改 ,也就是若在腳本里面去修改這兩個參數會報錯。故只能在腳本里面修改  set hive.spark.client.future.timeout=200;(單位秒)
另外,hive  on  spark官網介紹:需把這個spark-assembly.jar 拷貝到hive 的lib下,但在spark2.x 的lib 下並無此jar。而此jar在spark1.6中確實存在。

由於此文的環境爲cdh6.3.0和cdh6.3.1,若是cdh5.1x.x中spark1.6環境下,則報錯情況應爲:Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: Timed out waiting for client connection.詳情見:https://blog.csdn.net/hua_ed/article/details/79577229


小記:此文爲羣內討論的內容所總結出來的,僅用於備查。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章