Reply
Highlighted
Explorer
Posts: 17
Registered: ‎03-28-2017

Another instance of Derby may have already booted the database /home/cloudera/metastore_db

I am trying to load data into Hive table using Spark. Below are the first two lines I wrote.

val warehouseLocation = "file:${system:user.dir}/spark-warehouse"
val spark = SparkSession
   .builder()
   .appName("SparkSessionZipsExample")
   .config("spark.sql.warehouse.dir", warehouseLocation)
   .enableHiveSupport()
   .getOrCreate()

But the second line is giving me the below error.

Caused by: ERROR XJ040: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@1cf369f7, see the next exception for details.
    at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
    at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
    ... 155 more
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /home/cloudera/metastore_db.

 This is the ConnectionURL parameter from my Hive-Site.xml

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://127.0.0.1/metastore?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>

I copied the hive-site.xml to the '/usr/lib/spark/conf' But still the error exists. I am using Spark version: 2.1.1. Could anyone tell me what are the changes I need to do in Hive-site.xml ?

Announcements