报错:
Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session
解析:我的集群是5个节点的,hive在节点1上安装,而节点2的hdfs状态为active,其他节点hdfs状态为standby,节点状态为standby是没法访问到集群资源的,如下图:
所以节点1的状态为standby的时候,在跑job的时候是访问不到hdfs上的spark的jar包的,所有就会报错。
解决方法:
除了节点1的namenode不关闭,其它节点的namenode都手动关闭,那么自动故障转移节点1的hdfs就会变成active,就能访问到集群资源,当节点1的namenode为active的时候在手动开启其它节点的namenode。
关闭namenode:
hdfs --daemon stop namenode
开启namenode:
hdfs --daemon start namenode