1. 前言

本文搭建了一个由三节点(master、slave1、slave2)构成的Spark完全分布式集群,并通过Spark分布式计算的一个示例测试集群的正确性。本文将搭建一个支持Yarn的完全分布式环境

2. Spark架构

Spark 使用的是主从架构体系

3. Apache Spark环境搭建

需要配置的文件有 slaves spark-env.sh spark-defaults.conf

spark-env.sh

#!/usr/bin/env bash
export JAVA_HOME=/opt/java/jdk1.8.0_151
export HADOOP_HOME=/opt/hadoop/hadoop-2.7.6
export HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.7.6/etc/hadoop
export SCALA_HOME=/opt/scala/scala-2.11.12
export SPARK_HOME=/opt/spark/spark-2.3.1-bin-hadoop2.7
export YARN_HOME=/opt/hadoop/hadoop-2.7.6
export YARN_CONF_DIR=//opt/hadoop/hadoop-2.7.6/etc/hadoop
export SPARK_MASTER_IP=node91
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8099
export SPARK_WORKER_CORES=16
export SPARK_WORKER_MEMORY=16g
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_EXECUTOR_CORES=4
export SPARK_EXECUTOR_MEMORY=4g
#export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar
#export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATH
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node91:9000/user/root/sparkhistory"# spark standalone模式
# spark_WORKER_CORES spark每个worker进程分配cpu核数
# spark_WORKER_INSTANCES spark每个节点分配多少个worker进程
# spark_WORKER_MEMORY spark每个worker进程占用内存
# spark_EXECUTROR_CORES spark每个executor占用cpu核数
# spark_EXECUTOR_MEMORY spark每个executor占用内存

spark-defaults.conf

# Example:
spark.master                     spark://node91:7077
spark.eventLog.enabled           true
spark.eventLog.compress          true
park.eventLog.dir               hdfs://node91:9000/user/root/sparkhistory
spark.history.fs.logDirectory    hdfs://node91:9000/user/root/sparkhistory
spark.yarn.historyServer.address node91:18080
spark.history.ui.port            18080
spark.ui.port                    8099
# spark.serializer                 org.apache.spark.serializer.KryoSerializer
# spark.driver.memory              5g
# spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"

slaves

node23
node24

4. Apache Spark配置高可用性

使用zookeeper配置高可用性 利用StandyBy的Master节点进行备份

1.配置spark-env.sh
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=root2:2181,root4:2181,root5:2181"
2.然后再你需要作为备用启动的Master节点上 配置
export SPARK_MASTER_IP=root2 指定Spark Master 的ip地址
3.然后再你需要作为备用启动的Master节点上 启动start-master.sh

5. 启动和关闭 Apache Spark集群

5.1 启动Apache Spark

启动 Spark Master 进程

start-master.sh

启动 Spark Slaves 进程

start-slaves.sh

启动 Spark History Server 进程

start-history-server.sh

5.2 关闭Apache Spark

关闭 Spark Master 进程

stop-master.sh

关闭 Spark Slaves 进程

stop-slaves.sh

关闭 Spark History Server 进程

stop-history-server.sh

6. 测试

PI 案例:

6.1 Standyalone 提交命令

spark-submit \
--master spark://node91:7077 \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.1.jar 10000

6.2 YARN提交命令

spark-submit \
--master yarn \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.1.jar 10000

7. Web UI

Spark Master UI:8089

Spark Worker UI: 8081

Spark History Server UI:18080

Spark Master : 提交作业端口 7077

Spark详解(二):Spark完全分布式环境搭建相关推荐

  1. 2021年大数据环境搭建(二):分布式环境搭建

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 分布式环境搭建 集群规 ...

  2. 家用路由器研究详解入门(内含仿真环境搭建)

    家用路由器研究介绍 soho路由器 常见路由器品牌 家用路由器漏洞主要四个方面 WI-FI常见加密认证方式3种 WPS一键加密技术(Wi-Fi Protected Setup) 路由器密码 后门|溢出 ...

  3. 最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程(二)

    继续上次的教程,这次安装hbase与hive.之前有同学反应百度网盘中没有hbase安装包,这次补上了,在上篇博客的网盘链接中已经有了,最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程 ...

  4. 大数据之spark学习记录二: Spark的安装与上手

    大数据之spark学习记录二: Spark的安装与上手 文章目录 大数据之spark学习记录二: Spark的安装与上手 Spark安装 本地模式 Standalone 模式 基本配置 步骤1: 复制 ...

  5. linux 进程间通信 dbus-glib【实例】详解二(下) 消息和消息总线(ListActivatableNames和服务器的自动启动)(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  6. Android openGl开发详解(二)

    https://zhuanlan.zhihu.com/p/35192609 Android openGl开发详解(二)--通过SurfaceView,TextureView,GlSurfaceView ...

  7. 全志 android 编译,全志Android SDK编译详解(二)

    注意要确定安装了jdk) 第一步: cd  lichee; ./build.sh  -p sun5i_elite -k 3.0  (apt-get install uboot-mkimage需要安装m ...

  8. Unicode编码详解(二):编码预备知识

    Unicode编码详解(二):编码预备知识 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文是对<C++语法详解>一书相关章节的增补,以增强读者对字符的 ...

  9. Kafka与Spark集成系列二Spark的安装及简单应用

    原 [Kafka与Spark集成系列二] Spark的安装及简单应用https://blog.csdn.net/u013256816/article/details/82082019版权声明:本文为博 ...

  10. 安卓 linux init.rc,[原创]Android init.rc文件解析过程详解(二)

    Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...

最新文章

  1. hal库选择滴答时钟函数_STM32入门 : HAL库、标准外设库、LL库
  2. nginx 学习笔记(3) nginx管理
  3. 清华大学参赛计算机集群,清华学生超算团队获得国际大学生超级计算机竞赛(SC18)总冠军...
  4. virtualBox linux操作系统centos 挂载光盘
  5. java数据结构基础名词解释
  6. tp5 前台页面获取url链接里的参数,如下
  7. NIOS II EDS NIOS II IDE 转载
  8. npm安装模块版本符_Java SE 9:模块和模块描述符基础知识(第2部分)
  9. Rust : Box 为什么这里并不需要拆箱?
  10. 趣谈网络协议-数据中心
  11. python生成和校验uuid
  12. 如何刷机android手机,安卓手机如何刷机
  13. python图片保存jpg、show变成bmp_python bmp转换为jpg 并删除原图的方法
  14. Openssl 编译
  15. Python3.x整体知识介绍—撩妹大法
  16. vue 3 + mo.js 实现点赞粒子特效【实战】
  17. Android Camera摄像头预览黑屏原因(二)
  18. 如何用css只做一个div鼠标点击变色
  19. Bluetooth sco协议录音
  20. 卡巴斯基2019安装之后电脑网速变慢

热门文章

  1. ftp的主动模式(port)与被动模式(PASV)
  2. JavaScript学习笔记(五)
  3. memcached 的Linux安装
  4. Xshell 连接报错解决:WARNING! The remote SSH server rejected X11 forwarding request.
  5. 封杀所有Bytespider蜘蛛,太频繁,太操蛋,不杀不行~~~
  6. imp 只导入索引_使用imp导入表和索引至不同表空间方法
  7. python语句讲解_python语句讲解_python语句讲解
  8. concurrenthashmap 面试题
  9. List接口中常用的方法
  10. 005_Java操作ZooKeeper