我试图在 linux 服务器上运行 hive,但我不断收到以下错误:
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /home/usr/metastore_db
怎么了?我尝试这样做:
ps aux | grep spark-shell
ps aux | grep metastore
ps aux | grep derby
但没有显示任何进程。可能是什么原因?
最佳答案
我发现这种情况正在发生,因为有多个其他 Spark-Shell 实例已经在运行并且已经持有 derby DB,所以当我启动另一个 Spark Shell 并使用 RDD.toDF() 在其上创建数据帧时,它是抛出错误:
解决方法:
我运行 ps 命令来查找 Spark-Shell 的其他实例:
ps -ef | grep Spark 外壳
然后我使用 kill 命令将它们全部杀死:
kill -9 Spark-Shell-processID(例如:kill -9 4848)
在所有 SPark-Shell 实例都消失后,我启动了一个新的 SPark SHell 并重新运行我的 Data frame 函数,它运行得很好:)
关于java - Metastore db hive - 另一个实例已经在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41424399/