Spark Driver高CPU

时间:2016-02-21 08:46:26

标签: hadoop apache-spark

我已经在Databricks上使用Spark几个月了,并且最近决定在GCP上启动我自己的集群以进行调试。 我希望从PyCharm中运行Spark驱动程序并让它将任务提交给远程集群。

这就是我的所作所为:

  1. 创建了约5个GCE实例
  2. 在我的办公室和实例之间创建了一个桥接VPN。
  3. SPARK_LOCAL_IP设置为VPN接口的IP,将SPARK_MASTER_IP设置为每个节点上主VPN接口的IP。
  4. 使用start-master.sh和start-slaves.sh以独立模式启动主服务器和从服务器
  5. 在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本地:/opt/spark/jars/jackson-databind-2.2.3.jar,local:/opt/spark/jars/jackson-annotations-2.2.3.jar,local中:/ opt /火花/瓶/ hadoop- AWS-2.6.0.jar,地方:/opt/spark/jars/jackson-core-2.2.3.jar,local:/opt/spark/jars/spark-csv_2.10-1.2.0.jar" --py-files my_egg pyspark-shell "
    • SPARK_HOME - / opt / spark(其中spark位于每个节点以及驱动程序上)
  6. 看到效果很好后,我尝试从S3加载textFile,这里是一个片段:

    sc = SparkContext(os.environ['SPARK_MASTER'], 'RemoteDebugger')
    sqlContext = HiveContext(sc)
    rdd = sc.textFile('s3a://{some_path}')
    rdd.count()
    

    我运行这几秒钟后,我的笔记本电脑就开始使用香蕉,在我的所有内核和100%内存上使用100%CPU。 该文件只有66MB大。 我看到的最后一条日志消息是:

      

    INFO FileInputFormat:要处理的总输入路径:1

    有没有人解释为什么会这样?

0 个答案:

没有答案