我正在使用 Spark 查询 Hive,然后进行转换。我的 Scala 应用程序创建了多个 Spark 应用程序。只有在关闭前一个 Spark App 的 SparkSession 和 Spark Context 后,才会创建一个新的 Spark 应用。
但是,在停止 sc 和 spark 时,以某种方式与 Hive Metastore (Mysql) 的连接没有被正确破坏。对于每一个 Spark 应用程序,我都可以看到大约 5 个 Mysql 连接正在创建(旧连接仍然处于活动状态!)。最终,Mysql 在打开 150 个连接后开始拒绝新连接。如何强制 spark 关闭与 Mysql 的 Hive Metastore 连接(在 spark.stop() 和 sc.stop() 之后)?
注意:我使用的是 Spark 2.1.1。我正在使用 Spark 的 Thriftserver 而不是 HiveServer。所以,我认为我没有使用过 Hive Metastore 服务。