IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 环境搭建-Spark on YARN -> 正文阅读

[大数据]环境搭建-Spark on YARN

基情链接

Spark 环境搭建-Local

Spark 环境搭建-Standalone

Spark 环境搭建-Standalone HA

环境搭建-Spark on YARN

模式说明

Spark Standalone Mode - Spark 2.4.5 Documentation (apache.org)

Spark Standalone 集群是 Master-Slaves 架构的集群模式,和大部分的 Master-Slaves 结构集群一样,存在着 Master 单点故障的问题,该模式基于 Zookeeper 实现 HA

搭建准备

环境准备

云服务器 3 台

node1/172.17.0.8node2/172.17.30.12node3/172.17.30.26
ResourceManager?
NodeManager???
JobHistoryServer?
HistoryServer?

安装包下载

目前 Spark 最新稳定版本,企业中使用较多版本为 2.x 的版本系列

Spark 下载界面:Downloads | Apache Spark

Spark 2.4.5 版本下载:Index of /dist/spark/spark-2.4.5 (apache.org)

本博客安装的版本为:spark-2.4.5-bin-hadoop2.7.tgz

环境配置

3 台服务器装好 JDK、配置 服务器的 hostname 、域名映射、zk 集群、Yarn

安装及配置

① 上传解压

# 3 台服务器都操作
# 解压软件包
tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz

# 创建软连接
ln -s /opt/server/spark-2.4.5-bin-hadoop2.7 /opt/server/spark

② 修改配置文件:slaves

# 3 台服务器都操作
cd /opt/server/spark/conf

# 修改文件名
mv slaves.template slaves
# 编辑文件
vim slaves
node1
node2
node3

③ 修改配置文件:spark-env.sh

# 3 台服务器都操作
cd /opt/server/spark/conf

# 修改文件名
mv spark-env.sh.template spark-env.sh
# 编辑文件
vim spark-env.sh
## 设置 JAVA 安装目录
JAVA_HOME=/usr/java/jdk1.8.0_172

## 指定提交任务的通信端口
export SPARK_MASTER_PORT=7077

## HADOOP 软件配置文件目录,读取HDFS上文件和运行YARN集群
HADOOP_CONF_DIR=/opt/server/hadoop/etc/hadoop
YARN_CONF_DIR=/opt/server/hadoop/etc/hadoop

## 指定恢复模式、zk的server地址、保存集群元数据信息的文件和目录(包括Worker、Driver、Application信息)
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark-ha"

## 配置spark历史服务器地址
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node1:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"

SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g

注意:配置的历史服务器地址 /sparklog ,需要手动在 HDFS 上创建

④ 修改 yarn-site.xml ( 整合 Yarn 历史服务器并关闭资源检查 )

# 3 台服务器都操作
cd /opt/server/hadoop/etc/hadoop
vim /opt/server/hadoop/etc/hadoop/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>

⑤ 修改 spark-defaults.conf ( 配置 spark 历史服务器)

# 3 台服务器都操作
cd /opt/server/spark/conf
## 修改配置文件名称
mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf
spark.eventLog.enabled                  true
spark.eventLog.dir                      hdfs://node1:8020/sparklog/
spark.eventLog.compress                 true
spark.yarn.historyServer.address        node1:18080

⑥ 修改 log4j.properties (配置日志级别)

cd /opt/server/spark/conf
mv log4j.properties.template log4j.properties
vim log4j.properties
log4j.rootCategory=WARN, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

⑦ 配置依赖 Spark Jar 包

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

## hdfs上创建存储spark相关jar包目录
hdfs dfs -mkdir -p /spark/jars/

## 上传$SPARK_HOME/jars所有jar包
hdfs dfs -put /opt/server/spark/jars/* /spark/jars/
# 3 台都操作
vim /opt/server/spark/conf/spark-defaults.conf
spark.yarn.jars  hdfs://node1:8020/spark/jars/*

启动及测试

集群启动

# 在 node1 上执行
start-all.sh
# 启动MRHistoryServer服务
mr-jobhistory-daemon.sh start historyserver
# 启动 Spark HistoryServer 服务
/opt/server/spark/sbin/start-history-server.sh

访问测试

Spark HistoryServer服务:http://node1:18080/

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:27:43  更:2021-08-17 15:27:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:29:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码