Apache spark 为spark设置纱线混洗使spark shell无法启动

Apache spark 为spark设置纱线混洗使spark shell无法启动,apache-spark,yarn,Apache Spark,Yarn,我有一个4个Ubuntu14.04机器集群,我正在其中设置为Hadoop2.7预先构建的spark 2.1.0,以在Hadoop2.7.3之上运行,并且我正在配置它以与Thread一起工作。在我得到的每个节点中运行jps: 节点1 22546主机 22260资源经理 22916日元 21829名称节点 22091第二名称节点 节点2 12321工人 12485日元 11978数据节点 节点3 15938日元 15764名工人 15431数据节点 节点4 12251日元 12075名

我有一个4个Ubuntu14.04机器集群,我正在其中设置为Hadoop2.7预先构建的spark 2.1.0,以在Hadoop2.7.3之上运行,并且我正在配置它以与Thread一起工作。在我得到的每个节点中运行jps:

  • 节点1
    • 22546主机
    • 22260资源经理
    • 22916日元
    • 21829名称节点
    • 22091第二名称节点
  • 节点2
    • 12321工人
    • 12485日元
    • 11978数据节点
  • 节点3
    • 15938日元
    • 15764名工人
    • 15431数据节点
  • 节点4
    • 12251日元
    • 12075名工人
    • 11742数据节点
  • 无纱线混洗配置

    ./bin/spark-shell --master yarn --deploy-mode client
    
    在my node-1中调用时启动正常

    为了配置外部洗牌服务,我阅读了以下内容: 我所做的是:

    将以下属性添加到warn-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>
    
    所有节点都有相同的路径<代码>singapura是我的节点1。它已经在my
    /etc/hosts
    中设置,并且nslookup获得正确的ip。机器名不是这里的问题

    所以,发生在我身上的是:当我将这3个属性添加到我的warn-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.Client:在下次调用它时无法清除暂存目录)

    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).