我试图将火花申请提交给独立火花(2.1.1(群集3 vm在我的python 3笔记本中运行的GCP(在本地笔记本电脑中运行(,但由于某种原因,Spark Spark Spark会话正在抛出错误" standaloneAppclient $ clientendpoint:无法连接到主Sparkmaster:7077&quort"。
环境详细信息:Ipython和Spark Master在一个GCP VM中运行,称为" Sparkmaster"。3个额外的GCP VM正在运行火花工人和Cassandra集群。我使用Chrome从本地笔记本电脑(MBP(连接到" Sparkmaster"中的GCP VM ipython笔记本
请注意,终端有效:
bin/spark-submit --packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.1.1 --master spark://sparkmaster:7077 ex.py 1000
从python笔记本上运行它:
import os
os.environ["PYSPARK_SUBMIT_ARGS"] = '--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.1.1 pyspark-shell'
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
spark=SparkSession.builder.master("spark://sparkmaster:7077").appName('somatic').getOrCreate() #This step works if make .master('local')
df = spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "kafka1:9092,kafka2:9092,kafka3:9092")
.option("subscribe", "gene")
.load()
到目前为止,我已经尝试了这些:
我试图更改Spark Master Noce Noce spark-defaults.conf和spark-env.sh以添加spark_master_ip。
试图找到standalone_spark_master_host = hostName -f设置,以便我可以删除-f&quort'。由于某种原因,我的Spark Master UI显示FQDN:7077不主机名:7077
将fqdn作为param传递给.master((和os.environ [pyspark_submit_args&quort]
请让我知道您是否需要更多详细信息。
进行了更多研究后,我能够解决冲突。这是由于一个简单的环境变量称为spark_home。就我而言,这是指Conda的/垃圾箱(Pyspark从这个位置运行(,而我的Spark设置则存在于DIFF中。小路。简单的修复是添加 export SPARK_HOME="/home/<<your location path>>/spark/"
to .bashrc文件(我希望将其连接到我的个人资料,而不是Spark会话(
我是如何完成的:
步骤1:ssh to master节点在我的情况下,它与gcp
中的ipython内核/服务器VM相同步骤2:
- CD〜
- sudo nano .bashrc
- 向下滚动到最后一行并粘贴以下行
- 导出spark_home =&quot; your/your/path/to/spark-2.1.1-bin-hadoop2.7/&quot;
- ctrlx和y并输入以保存更改
注意:为了清楚起见,我还为环境部分添加了更多详细信息。