ポート番号を送信する前に Java ゲートウェイ プロセスが終了しました
このチュートリアルでは、Java での ドライバーにポート番号を送信する前に Java ゲートウェイ プロセスが終了しました エラーについて説明します。
ドライバにポート番号を送信する前に Java ゲートウェイ プロセスが終了した
PySparkは、Python API を使用してSparkアプリケーションを作成するために使用され、分散環境でデータをインタラクティブに分析するためのシェルを提供します。
PySpark Shell、spark-submit、または spyder で PySpark アプリケーションを実行しているときに、エラー Pyspark: Exception: Java gateway process exited before sent the driver its port number が発生する可能性があります。
Windows、Mac、または Linux で PySpark を実行したい場合、PySpark は通常 Python フレームワークとして機能すると考えられているため、マシンに Java をインストールする必要があります。 このエラーが発生する理由は、JAVA_HOME または PYSPARK_SUBMIT_ARGS を設定していないことです。
Pyspark: 例外: Java ゲートウェイ プロセスは、ドライバーにそのポート番号を送信する前に終了しました エラーを解決するためのソリューションを次に示します。
Open JDK または Oracle JDK をインストールする
PySpark を実行するためになぜ Java が必要なのか疑問に思うに違いありません。 Spark は基本的に Scala で書かれていますが、後に業界がその API を採用したため、Py4J を使用した Python 用の PySpark がリリースされました。Py4J は Java ライブラリであるため、Java PySpark を実行するために必要です。
Py4J は PySpark に統合されており、Python が JVM オブジェクトとやり取りできるようになっています。
次のコマンドを使用して、OpenJDK をインストールできます。
# Installing Open JDK
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-11-jdk
# Installing Oracle JDK
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
JDK をインストールしたら、JAVA_HOME パスを設定し、以下の手順に従う必要があります。
-
JDK パスを見つけます。 Java がインストールされている場合、パスは
/usr/lib/jvm/java-1.x.x-openjdkになります。 -
次のコマンドを実行して
JAVA_HOMEパスを設定します。export JAVA_HOME=/usr/lib/jvm/java-1.x.x-openjdk -
このコマンドは、
JAVA_HOMEパスを設定してecho $JAVA_HOMEの実行を確認し、Java インストール パスを表示します。
上記のコマンドは、Windows の Linux 環境用です。 インストーラーは次の場所からダウンロードできます。
Windows で JAVA_HOME を設定するには、次の手順に従います。
-
Windows の検索バーで
環境変数を検索します。 -
システム環境変数の編集を開きます。 -
環境変数ボタンをクリックして、環境変数を開きます。 -
システム変数で、
Newをクリックします。 -
名前は
JAVA_HOMEになります。 -
値はインストール パスになります (例:
C:\Program Files\Java\jdk-17.0.2)。 -
名前と値を入力したら、
OKと変更を適用をクリックします。
PYSPARK_SUBMIT_ARGS を設定
ほとんどの場合、エラー Pyspark: 例外: Java ゲートウェイ プロセスは、ドライバーにそのポート番号を送信する前に終了しました は、PYSPARK_SUBMIT_ARGS が設定されていない場合に発生します。 次のコマンドを使用して、PYSPARK_SUBMIT_ARGS を設定します。
export PYSPARK_SUBMIT_ARGS="--master local[3] pyspark-shell"
上記のコマンドは、master を使用して PYSPARK_SUBMIT_ARGS を設定します。 両方のソリューションに従うと、問題が解決します。
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook