我在databricks上使用spark已经有几个月了,最近我决定在gcp上启动自己的集群进行调试。我希望从pycharm中运行spark驱动程序,并让它将任务提交到远程集群。
以下是我所做的:
创建了大约5个gce示例
在我的办公室和示例之间创建了一个桥接vpn。
套 SPARK_LOCAL_IP
到vpn接口的ip SPARK_MASTER_IP
到每个节点上主vpn接口的ip。
使用start-master.sh和start-slaves.sh在独立模式下启动主设备和从设备
在pycharm中创建了运行配置,并添加了以下环境变量: SPARK_LOCAL_IP
-我笔记本电脑上vpn接口的ip地址 SPARK_MASTER
-spark://{master vpn ip}:7077 PYSPARK_SUBMIT_ARGS
-“--driver java options'-xx:maxpermsize=2048m'--driver memory 4g--jars”local:/opt/spark/jars/aws-java-sdk-1.7.4.jar,local:/opt/spark/jars/commons-csv-1.1.jar,local:/opt/spark/jars/jackson-databind-2.2.3.jar,local:/opt/spark/jars/jackson-annotations-2.2.3.jar,local:/opt/spark/jars/hadoop-aws-2.6.0.jar,local:/opt/spark/jars/jackson-core-2.2.3.jar,local:/opt/spark/jars/spark-csv\u 2.10-1.2.0.jar“--py files my\u egg pyspark shell” SPARK_HOME
-/opt/spark(spark位于每个节点和驱动程序上)
在看到它很好地工作之后,我尝试从s3加载一个文本文件,下面是一个片段:
sc = SparkContext(os.environ['SPARK_MASTER'], 'RemoteDebugger')
sqlContext = HiveContext(sc)
rdd = sc.textFile('s3a://{some_path}')
rdd.count()
几秒钟后,我运行这个我的笔记本电脑发疯了,并使用100%的cpu在我所有的核心,以及100%的内存。这个文件只有66mb大。我看到的最后一条日志消息是:
info fileinputformat:要处理的输入路径总数:1
有人能解释为什么会这样吗?
暂无答案!
目前还没有任何答案,快来回答吧!