欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spark学习_3(Spark集群YARN模式安装)

程序员文章站 2024-03-14 10:00:58
...

Spark on YARN

引言:

Spark 可以跑在很多集群上,有standalone,Yarn,mesos模式。 satandalone模式采用spark自带的集群资源管理器,效率较低。但不管你Spark采用的是何种集群,它的代码都是一样的,所以在做实验时,配置伪分布式也可以练习代码学习spark。有很多博客在搭建spark集群时将yarn模式和standalone模式混淆了。故本文将练习搭建在yarn模式上。

1.配置安装

在安装配置之前,需先完成hadoop的配置安装,具体安装方法可参考前文。
Spark学习_3(Spark集群YARN模式安装)
Resourcemanager:负责整个集群的资源管理和调度
NodeManager:与RM汇报资源,管理Container生命周期,数量和位置保持和datanode一致。

1.1yarn-site.xml的配置

<configuration>
<property>
            <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
<!-- 开启resourcemanager高可用-->
   <name>yarn.resourcemanager.ha.enabled</name>
   <value>true</value>
 </property>
 <property>
<!--指定RM的cluster id-->
   <name>yarn.resourcemanager.cluster-id</name>
   <value>cluster1</value>
 </property>
 <property>
   <name>yarn.resourcemanager.ha.rm-ids</name>
   <value>rm1,rm2</value>
 </property>
 <property>
<!--指定rm的位置,这里主机分别是slave1和slave2-->
   <name>yarn.resourcemanager.hostname.rm1</name>
   <value>slave1</value>
 </property>
 <property>
   <name>yarn.resourcemanager.hostname.rm2</name>
   <value>slave2</value>
 </property>
 <property>
<!--指定zk集群的地址	-->
   <name>yarn.resourcemanager.zk-address</name>
   <value>master:2181,slave1:2181,slave2:2181</value>
 </property>
</configuration>

1.2mapreduce-site.xml的配置

<configuration>
 <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
 </property>
</configuration>

1.3spark配置

配置spark-env.sh文件

cd ./spark/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh 

注意此处的配置路径位置要对应好自己之前Hadoop,spark,jdk,scala等相关信息的安装路径。

export SCALA_HOME=/usr/java/scala
export JAVA_HOME=/usrjava/jdk1.8
export HADOOP_HOME=/usr/java/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=192.168.43.10
SPARK_LOCAL_DIRS=/usr/java/spark
SPARK_DRIVER_MEMORY=1G

将配置好的spark文件夹分发到其他节点计算机,此处ip和文件路径根据自己配置的实际情况设置

 scp -r /usr/java/spark aaa@qq.com:/usr/java/spark
 scp -r /usr/java/spark aaa@qq.com:/usr/java/spark

2设置启动

2.1启动zk

zkServer.sh start 

2.2启动hdfs

start-dfs.sh

2.3启动yarn:

1、一节点start-yarn.sh
2、二三节点yarn-daemon.sh start resourcemanager

2.4启动spark:

spark-shell --master yarn-client

如果启动失败可能原因,虚拟机内存不够,解决办法:先停止yarn的服务,然后修改yarn-site.xml文件,注:三台虚拟机都要修改,改完之后重启yarn服务,然后启动spark。

    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
        <description>Whether virtual memory limits will be enforced for 			containers</description>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>4</value>
        <description>Ratio between virtual memory to physical memory when 			setting memory limits for containers</description>
    </property>

输入链接192.168.43.11:8088可以看到yarn的服务web页面:
Spark学习_3(Spark集群YARN模式安装)

相关标签: saprk学习