【问题标题】:How to cleanup the derby instance running Hive metastore如何清理运行 Hive Metastore 的 derby 实例
【发布时间】:2016-08-12 00:31:48
【问题描述】:

我在 SO 上经历了多个线程,其中谈到了将 hive Metastore 迁移到 mysql 以防多个用户想要访问它。这种情况不同。

我正在尝试运行一个配置单元程序以在数据集上执行 SQL,然后对其进行清理(关闭上下文)以在另一个数据集上运行另一个 SQL。但我看到错误说:

错误 XSDB6:另一个 Derby 实例可能已经启动了数据库

我的问题是 - 有没有办法可以清理运行 hive 元存储的 derby 实例,以便我的下一个上下文初始化看不到前一个实例?我觉得这种情况类似于运行多个单元测试,应该有办法清理。

【问题讨论】:

    标签: apache-spark hive derby apache-spark-sql


    【解决方案1】:

    我在 Spark Shell 上创建数据框时遇到了同样的错误:

    原因:ERROR XSDB6:另一个 Derby 实例可能已经启动了数据库 /metastore_db。

    原因:

    我发现这种情况正在发生,因为有多个其他 Spark-Shell 实例已经在运行并持有 derby DB,所以当我启动另一个 Spark Shell 并使用 RDD.toDF() 在其上创建数据框时,它是抛出错误:

    解决方案:

    我运行 ps 命令来查找 Spark-Shell 的其他实例:

    ps -ef | grep spark-shell
    

    然后我用 kill 命令杀死了他们:

    kill -9 Spark-Shell-processID ( example: kill -9 4848)
    

    在所有 SPark-Shell 实例消失后,我启动了一个新的 SPark SHell 并重新运行了我的 Data frame 函数,它运行得很好:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-15
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 2018-09-23
      相关资源
      最近更新 更多