设置纱线洗牌火花使火花壳无法启动

时间:2017-03-23 21:58:59

标签: apache-spark yarn

我有一个4 ubuntu 14.04机器群集,我正在设置为hadoop 2.7预先构建的spark 2.1.0,以便在hadoop 2.7.3之上运行,我正在配置它以使用纱线。我得到的每个节点都运行jps:

  1. 节点-1
    • 22546大师
    • 22260 ResourceManager
    • 22916 Jps
    • 21829 NameNode
    • 22091 SecondaryNameNode
  2. 节点2
    • 12321工人
    • 12485 Jps
    • 11978 DataNode
  3. 节点-3-
    • 15938 Jps
    • 15764工人
    • 15431 DataNode
  4. 节点-4-
    • 12251 Jp​​s
    • 12075工人
    • 11742 DataNode
  5. 没有纱线洗牌配置

    ./bin/spark-shell --master yarn --deploy-mode client
    
    在我的node-1中调用

    时启动就好了。

    为了配置外部随机服务,我读到了这个:http://spark.apache.org/docs/2.1.0/running-on-yarn.html#configuring-the-external-shuffle-service 我所做的是:

    在yarn-site.xml中添加了以下属性:

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>spark_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
        <value>org.apache.spark.network.yarn.YarnShuffleService</value>
    </property>
    <property>
        <name>yarn.application.classpath</name>
        <value>/usr/local/spark/spark-2.1.0-bin-hadoop2.7/yarn/spark-2.1.0-yarn-shuffle.jar</value>
    </property>
    

    我在这个文件中有其他属性。正如我所说,让这三个属性离开,让spark-shell --master yarn --deploy-mode client正常启动。

    我的spark-default.conf是:

    spark.master                           spark://singapura:7077
    spark.executor.memory                  4g
    spark.driver.memory                    2g
    spark.eventLog.enabled                 true
    spark.eventLog.dir                     hdfs://singapura:8020/spark/logs
    spark.history.fs.logDirectory          hdfs://singapura:8020/spark/logs
    spark.history.provider                 org.apache.spark.deploy.history.FsHistoryProvider
    spark.serializer                       org.apache.spark.serializer.KryoSerializer
    spark.dynamicAllocation.enabled        true
    spark.shuffle.service.enabled          true
    spark.scheduler.mode                   FAIR
    spark.yarn.stagingDir                  hdfs://singapura:8020/spark
    spark.yarn.jars=hdfs://singapura:8020/spark/jars/*.jar
    spark.yarn.am.memory                   2g
    spark.yarn.am.cores                    4
    

    所有节点都具有相同的路径。 singapura是我的节点-1。它已经在/etc/hosts中设置,nslookup获取正确的ip。这里的机器名称不是问题。

    所以,我发生了什么:当我将这3个属性添加到我的yarn-site.xml并启动spark shell时,它会在没有太多输出的情况下卡住。

    localuser@singapura:~$ /usr/local/spark/spark-2.1.0-bin-hadoop2.7/bin/spark-shell --master yarn --deploy-mode client
    Setting default log level to "WARN".
    To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
    

    我等待,等待等等,打印出来的更多内容。我必须杀死它并删除暂存目录(如果我不删除它,我下次调用它时会得到WARN yarn.Client: Failed to cleanup staging dir

0 个答案:

没有答案