web-dev-qa-db-ja.com

Spark-Shell起動エラー

spark-Shellを使用してspark-1.6.0-bin-hadoop2.6を起動するとエラーが表示されます。これは新しい動作です。

以下のログメッセージに表示される失敗の結果は、sqlContextが使用できないことです(scは使用可能です)。

リリースできるダービーロックの種類はありますか? Another instance of Derby may have already booted the database /root/spark-1.6.0-bin-hadoop2.6/bin/metastore_db.

<console>:16: error: not found: value sqlContext
         import sqlContext.implicits._
                ^
<console>:16: error: not found: value sqlContext
         import sqlContext.sql

16/05/25 11:00:00 ERROR Schema: Failed initialising database.
Failed to start database 'metastore_db' with class loader org.Apache.spark.sql.Hive.client.IsolatedClientLoader$$anon$1@c2191a8, see the next exception for details.
org.datanucleus.exceptions.NucleusDataStoreException: Failed to start database 'metastore_db' with class loader org.Apache.spark.sql.Hive.client.IsolatedClientLoader$$anon$1@c2191a8, see the next exception for details.


16/05/25 11:06:02 WARN Hive: Failed to access metastore. This class should not accessed in runtime.
org.Apache.hadoop.Hive.ql.metadata.HiveException: Java.lang.RuntimeException: Unable to instantiate org.Apache.hadoop.Hive.ql.metadata.SessionHiveMetaStoreClient


16/05/25 11:06:02 ERROR Schema: Failed initialising database.
Failed to start database 'metastore_db' with class loader org.Apache.spark.sql.Hive.client.IsolatedClientLoader$$anon$1@372e972d, see the next exception for details.
org.datanucleus.exceptions.NucleusDataStoreException: Failed to start database 'metastore_db' with class loader org.Apache.spark.sql.Hive.client.IsolatedClientLoader$$anon$1@372e972d, see the next exception for details.

Caused by: Java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.Apache.spark.sql.Hive.client.IsolatedClientLoader$$anon$1@c2191a8, see the next exception for details.
        at org.Apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
        at org.Apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
        ... 134 more
Caused by: Java.sql.SQLException: Another instance of Derby may have already booted the database /root/spark-1.6.0-bin-hadoop2.6/bin/metastore_db.
        at org.Apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
        at org.Apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
        at org.Apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
        at org.Apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
        ... 131 more
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /root/spark-1.6.0-bin-hadoop2.6/bin/metastore_db.
15
slachterman

Spark 2.0.0シェルでDataFrameを作成しようとしたときに、metastore_db/dbex.lckを削除するだけで同様の問題が発生し、問題は修正されました。

30
bachr

アンディの答えに似ています。私はWindowsでも同じ問題を抱えていましたが、ここに解決策があります:

  1. Windowsで管理者としてcmdを実行します
  2. spark=ホームディレクトリに移動します
  3. スパークシェルを開く

    c:\ park\bin> spark-Shell

2
Wael Almadhoun

問題を解決する最良の方法は、最初にシステムを再起動してから、sparkホームディレクトリに移動し、そこからSudoユーザーでspark-Shellを実行してみることです。

Sudo bin/spark-Shell

または、pysparkインスタンスを使用する場合は、タイプ

Sudo bin/pyspark

この問題は主に、mertstore_dbの権限が不十分なために発生します。

1
andy

この問題はMetastore_dbが原因で発生します。sparkシェルがdbを探して登録を開始すると作成されます。metastore_dbは作成されるたびに完全に削除できます。削除できない場合、最初に削除metastore_db/dbex.lck次に、metastore_dbを削除できますfolder。私はspark2.1.10を使用し、以前に同じ問題に直面しました enter image description here

1
Sheel

私の場合、HiveもSparkと一緒に開始されました。そこで、Hiveサーバーを閉じて、Spark Shellを再起動して動作させました。

0
RushHour