前提

之前安装的hadoop+spark环境对于spark yarn部署下的client方式并不支持,采用cluster方式也会有错误。

当时安装情况明细如下:

  • 10.110.18.216:NameNode、SecondaryNameNode、ResourceManager、spark、hive

  • 10.110.18.217:DataNode、NodeManager、Spark

  • 10.110.18.218:DataNode、NodeManager

安装Hadoop

配置slaves

indata-10-110-18-216
indata-10-110-18-217
indata-10-110-18-218

此时master主机(10.110.18.216)也可以作为nodemanager、datanode节点

配置yarn-site.xml

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>indata-10-110-18-216</value>
    </property>


    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>

    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>

重启应用

在master主机停止所有服务

$HADOOP_HOME/sbin/stop-all.sh

将三台机器上的$HADOOP_HOME/hdfs、$HADOOP_HOME/tmp目录删除

rm -rf /data/hadoop-2.6.5/hdfs
rm -rf /data/hadoop-2.6.5/tmp

在master主机格式化namenode

hdfs namenode -format

启动服务

$HADOOP_HOME/sbin/start-all.sh

在各个机器查看进程,master主机进程

jps
29733 SecondaryNameNode
30006 NodeManager
29563 DataNode
29901 ResourceManager
29423 NameNode
32047 Jps

slaves主机进程

jps
27989 NodeManager
27870 DataNode

安装Spark

配置spark-default.xml

注释掉之前配置的配置

#spark.master yarn
#spark.submit.deployMode cluster

增加如下配置

spark.driver.extraLibraryPath /data/hadoop-2.6.5/lib/native:/data/hadoop-2.6.5/lib/native/Linux-amd64-64
spark.eventLog.dir hdfs:///spark2-history/
spark.eventLog.enabled true
spark.executor.extraLibraryPath /data/hadoop-2.6.5/lib/native:/data/hadoop-2.6.5/lib/native/Linux-amd64-64
spark.history.fs.logDirectory hdfs:///spark2-history/
spark.history.provider org.apache.spark.deploy.history.FsHistoryProvider
spark.history.ui.port 18081
spark.yarn.historyServer.address indata-10-110-18-216.indata.com:18081
spark.yarn.queue default

此时会为spark在master主机上创建history服务

在hdfs中创建spark2-history

hdfs dfs -mkdir /spark2-history

启动spark history服务

$SPARK_HOME/sbin/start-history-server.sh

验证spark任务

通过yarn的cluster模式提交任务

./bin/spark-submit --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode cluster \\
    examples/jars/spark-examples*.jar \
    10

通过yarn的client模式提交任务

$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
examples/jars/spark-examples*.jar \
10

查看yarn任务提交情况,浏览器访问http://10.110.18.216:8088

查看历史信息,可以访问http://10.110.18.216:18081

results matching ""

    No results matching ""