Ambari集成的Hive,通过一个外置的Spark以on Yarn的模式连接Hive,使用SparkSQL执行语句,查询时一直很正常,但是执行插入语句时,一直报错说连不到元数据服务,然后一直重试
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
这个问题可能是由于Spark on Yarn无法连接到Hive元数据服务造成的。在Spark on Yarn模式下,Spark使用Hive Metastore来获取Hive表的元数据信息。如果Spark无法连接到Hive Metastore,就会出现无法插入数据的问题。
以下是一些可能的解决方案:
确认Hive Metastore服务是否正常运行。您可以使用以下命令检查:
$ ps -ef | grep metastore
您还可以查看Hive Metastore的日志,以查看是否有任何异常。
确认Spark on Yarn的配置是否正确。您应该检查Spark配置文件中的以下配置项:
spark.sql.catalogImplementation=hive
spark.hadoop.hive.metastore.uris=thrift://<metastore_host>:9083
这些配置项应该指向正确的Hive Metastore服务地址。
确认Spark on Yarn是否具有足够的权限来访问Hive Metastore。您可能需要为Spark on Yarn分配适当的权限,以便它可以连接到Hive Metastore。
确认Hive Metastore是否允许外部访问。如果Hive Metastore只允许本地访问,那么Spark on Yarn将无法连接到它。您可以查看Hive Metastore的配置文件,以查看是否允许外部访问。
如果以上解决方案无法解决您的问题,您可以查看Spark on Yarn和Hive Metastore的日志,以查找更多错误信息。您还可以尝试使用Spark on Standalone模式或Spark on Mesos模式进行插入操作,以确定问题是否与Spark on Yarn有关。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢