安装部署:

1. 配置spark为1个master,2个slave的独立集群(Standlone)模式,

可以在VMWare中构建3台运行Ubuntu的机器作为服务器;

master主机配置如下:

vim /etc/hostname 编辑此文件,设置主机名为master

vim /etc/hosts 编辑此文件,添加如下主机内容信息:

192.168.189.128 master

192.168.189.129 slave1

192.168.189.130 slave2

同理配置slave1,slave2主机。

2. 下载安装jdk1.8.0_91,并设置好环境变量;

   jdk下载路径:https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

下载安装scala-2.12.2,下载路径:https://downloads.lightbend.com/scala/2.12.8/scala-2.12.8.tgz

并设置好环境变量(spark是基于scala语言编写的,同时scala又运行于JVM之上),

如下命令:     

vim .bashrc 编辑此文件,添加如下内容:

export JAVA_HOME=/usr/local/jdk1.8.0_91

export JAVA_BIN=$JAVA_HOME/bin

export JAVA_LIB=$JAVA_HOME/lib

export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar

export PATH=$JAVA_BIN:$PATH

export SCALA_BIN=/usr/local/scala-2.12.2/bin

export PATH=$PATH:$SCALA_BIN

退出root账户,重新登陆,使环境变量生效。

master,slave1,slave2三台服务器配置一样。

3.  安装配置ssh,使得三台主机ssh登录免密码,因为集群里面的主机需要在后台通信。

(1)安装:

SSH分客户端openssh-client和openssh-server,如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装客户端),如果要使本机开放SSH服务就需要安装openssh-server。

   (2) 配置免密码登陆:

          在master主机上登陆root用户,输入命令:ssh-keygen -t rsa

然后根据提示一直按enter,就会按默认的选项生成的密钥对(私钥id_rsa和公钥id_rsa.pub)并保存在/root/.ssh文件夹中;

  将master服务器上的公钥拷贝到slave1上,输入命令:ssh-copy-id root@slave1(root为slave1上的账户)

  将master服务器上的公钥拷贝到slave2上,输入命令:ssh-copy-id root@slave2(root为slave2上的账户)

可以测试免密码登陆是否成功,输入命令:ssh slave1

4. Spark独立集群中的workers配置

在Spark 目录下创建一个文件conf/slaves, 列出所有启动Spark workers的主机名,每行一条记录,如下面master主机的配置:

#localhost

slave1

slave2

5. 配置SPARK的JAVA_HOME

编辑所有主机上的sbin/spark-config文件,添加export JAVA_HOME=/usr/local/jdk1.8.0_91

 6. 配置整个集群的环境变量(可选)

通过conf/spark-env.sh进一步配置整个集群的环境变量,如下变量,这里先用默认的值 。

变量

描述

SPARK_MASTER_IP

绑定一个外部IP给master.

SPARK_MASTER_PORT

从另外一个端口启动master(默认: 7077)

SPARK_MASTER_WEBUI_PORT

Master的web UI端口 (默认: 8080)

SPARK_WORKER_PORT

启动Spark worker 的专用端口(默认:随机)

SPARK_WORKER_DIR

伸缩空间和日志输入的目录路径(默认: SPARK_HOME/work);

SPARK_WORKER_CORES

作业可用的CPU内核数量(默认: 所有可用的);

SPARK_WORKER_MEMORY

作业可使用的内存容量,默认格式1000M或者 2G (默认:  所有RAM去掉给操作系统用的1 GB);注意:每个作业自己的内存空间由SPARK_MEM决定。

SPARK_WORKER_WEBUI_PORT

worker 的web UI 启动端口(默认: 8081)

SPARK_WORKER_INSTANCES

每台机器上运行worker数量 (默认: 1). 当你有一个非常强大的计算机的时候和需要多个Spark worker进程的时候你可以修改这个默认值大于1 . 如果你设置了这个值。要确保SPARK_WORKER_CORE 明确限制每一个r worker的核心数, 否则每个worker 将尝试使用所有的核心 。

SPARK_DAEMON_MEMORY

分配给Spark master和 worker 守护进程的内存空间 (默认: 512m)

SPARK_DAEMON_JAVA_OPTS

Spark master 和 worker守护进程的JVM 选项(默认: none)

7. 启动集群

通过命令:sbin/start-all.sh

同时启动master以及上面所说文件中指定的slave

8. 输入http://localhost:8080/看集群是否启动成功

    成功启动后的界面

9. 在web界面上监控集群执行的细节

      需要打开conf/spark-default.conf文件,添加如下内容:   

spark.eventLog.enabled           true

spark.eventLog.dir               file:/tmp/spark-events

注意需要先在/tmp目录下创建文件夹spark-events,因为后面所有应用执行的事件日志会存放在这。

修改文件夹权限: chmod 777 spark-events , 以便JVM有权创建和读取文件。

在master主机上启动spark-history-server,执行命令:./sbin/start-history-server.sh

      在浏览器中输入: http://master:18080/  查看应用执行情况,如下图所示:

点击具体某一个application,可以查看具体每一个应用执行的细节

10. spark执行流程

11. spark-submit应用程序提交时,master参数配置项可取值

Spark集群部署(standLone)模式的更多相关文章

  1. Hadoop记录-Apache hadoop+spark集群部署

    Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...

  2. Spark集群部署

    Spark是通用的基于内存计算的大数据框架,可以和hadoop生态系统很好的兼容,以下来部署Spark集群 集群环境:3节点 Master:bigdata1 Slaves:bigdata2,bigda ...

  3. Spark 集群 任务提交模式

    Spark 集群的模式及提交任务的方式 本文大致的内容图 Spark 集群的两种模式: Standalone 模式 Standalone-client 任务提交方式 提交命令 ./spark-subm ...

  4. GIS+=地理信息+云计算技术——Spark集群部署

    第一步:安装软件         Spark 1.5.4:wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2 ...

  5. SPARK安装三:SPARK集群部署

    使用2.3.0版本,因为公司生产环境是这个版本 一.下载安装 cd /opt wget https://archive.apache.org/dist/spark/spark-2.3.0/spark- ...

  6. CentOS6安装各种大数据软件 第十章:Spark集群安装和部署

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. Spark集群之yarn提交作业优化案例

    Spark集群之yarn提交作业优化案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.启动Hadoop集群 1>.自定义批量管理脚本 [yinzhengjie@s101 ...

  8. Scala进阶之路-Spark独立模式(Standalone)集群部署

    Scala进阶之路-Spark独立模式(Standalone)集群部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道Hadoop解决了大数据的存储和计算,存储使用HDFS ...

  9. 【待补充】Spark 集群模式 && Spark Job 部署模式

    0. 说明 Spark 集群模式 && Spark Job 部署模式 1. Spark 集群模式 [ Local ] 使用一个 JVM 模拟 Spark 集群 [ Standalone ...

随机推荐

  1. Linux基础命令(三)——>文件过滤及内容编辑处理命令

    1.cat   合并文件或查看文件内容 基本功能:cat   test.txt     查看文件内容 也可以多文件显示 cat  test1.txt test2.txt >test3.txt   ...

  2. Groovy闭包详解

    Groovy闭包是一种可执行代码块的方法,闭包也是对象,可以向方法一样传递参数,因为闭包也是对象,因此可以在需要的时候执行,像方法一样闭包可以传递一个或多个参数.闭包最常见的用途就是处理集合,可以遍历 ...

  3. 挖矿病毒、ddos入侵流程及溯源

    一 挖矿病毒简介  攻击者利用相关安全隐患向目标机器种植病毒的行为. 二 攻击方式 攻击者通常利用弱口令.未授权.代码执行.命令执行等漏洞进行传播.示例如下: 示例1:   POST /tmUnblo ...

  4. Thrax-构建基于语法的语言模型工具

    安装 http://www.openfst.org/twiki/bin/view/GRM/ThraxQuickTour http://cslu.ogi.edu/~sproatr/Courses/Tex ...

  5. 清北学堂学习总结day2

    今天是钟皓曦大佬讲课,先来膜一波   %%%%% •数论 数论是这次培训的一个重点,那么什么是数论呢? 数论是研究整数性质的东西,所以理论上day2不会涉及小数QwQ (切入正题) •整除性: 设a, ...

  6. Beans 自动装配

    http://wiki.jikexueyuan.com/project/spring/beans-auto-wiring/spring-autowiring-byname.html

  7. vs/windows程序找不到入口点cuvidGetDecodeStatus于AppDecGL.exe动态链接库上

    解决方法:这个问题的原因是由于使用的英伟达显卡驱动版本不够新,更新显卡驱动即可. 找了一个多月的原因,终于知道起源了.最终问题还是出在了nvcuvid.lib/.dll上面.通过分析vs调试信息可以得 ...

  8. CleanWebpackPlugin 低版本失效

    解决这个问题只需要 升级至2.0.1版本就行  不需要传参

  9. W3CSchool闯关笔记(初级脚本算法)

    W3C后台校验代码bug很多,有的时候跑不过不一定是自己代码写得有问题,也许是网页后台的bug,可以自己把代码放到本地的html文件中跑一下看看 function reverseString(str) ...

  10. qt学习笔记

    Part 1基本思路 学习目标:(熟练)使用 qt 制作符合要求的 ui FAQ:1)学习Qt5还是Qt4? 重要的是学习的方法而不是内容,掌握了正确的学习方法就可以很快完成另一者的学习,综合来看,Q ...