spark on yarn 环境配置_spark yarn 客户端conf配置 - wpsshop博客
当前位置:   article > 正文

spark on yarn 环境配置_spark yarn 客户端conf配置

spark yarn 客户端conf配置

一、前提准备

1、dfs,yarn 可用

2、我使用的是anaconda 加载了pyspark

安装pyspark 是需要使用pycharm; spark本身有pyspark库

3、每节点都是python3的环境

二、实现

1、spark配置路径 :/export/server/spark

2、配置依赖spark jar包

        当Spark Application应用提交运行在YARN上时,默认情况下,每次提交应用都需要将依赖Spark相关jar包上传到YARN 集群中,为了节省提交时间和存储空间,将Spark相关jar包上传到HDFS目录中,设置属性告知Spark Application应用。

1、 修改spark-env.sh(只针对安装了pyspark库的节点

vim conf/spark-env.sh

  1. HADOOP_CONF_DIR=/export/server/hadoop/etc/hadoop
  2. YARN_CONF_DIR=/export/server/hadoop/etc/hadoop
  3. SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node1:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"

2 、修改hadoop的yarn-site.xml (需同步到其他节点)

cd /export/server/hadoop-3.3.0/etc/hadoop/
vim yarn-site.xml

添加以下内容:
<configuration>
    <!-- 配置yarn主节点的位置 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 设置yarn集群的内存分配方案 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>20480</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
    </property>

    <!-- 开启日志聚合功能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 设置聚合日志在hdfs上的保存时间 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
    <!-- 设置yarn历史服务器地址 -->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://node1:19888/jobhistory/logs</value>
    </property>
    <!-- 关闭yarn内存检查 -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

3、Spark设置历史服务地址(安装了pyspark的节点)

vim conf/spark-defaults.conf

  1. spark.eventLog.enabled                  true
  2. spark.eventLog.dir                      hdfs://node1:8020/sparklog/
  3. spark.eventLog.compress                 true
  4. spark.yarn.historyServer.address        node1:18080
  5. spark.yarn.jars      hdfs://node1:8020/spark/jars/*

4、设置spark日志级别(info 修改为warn)

vim conf/log4j.properties


 

5、配置依赖spark jar包

启动hdfs,在hdfs上创建日志目录及jar包存放目录

  1. hadoop fs -mkdir /sparklog
  2. hadoop fs -mkdir -p /spark/jars/
  3. hadoop fs -put /export/server/spark/jars/* /spark/jars/

三、服务启动

1、启动hadoop (node1) start-all.sh

接着操作上面第5项

2、注意:在onyarn模式下不需要启动start-all.sh(jps查看一下看到worker和master)

3、启动日志服务 (node1)

## 启动MRHistoryServer服务,在node1执行命令

mr-jobhistory-daemon.sh start historyserver

## 启动Spark HistoryServer服务,,在node1执行命令

/export/server/spark/sbin/start-history-server.sh

检查

node1:18080 能正常访问

jps下面有一个HistoryServer

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/482752
推荐阅读
相关标签