安装部署:

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参数配置项可取值

转载于:https://www.cnblogs.com/guoyuanwei/p/10313593.html

Spark集群部署(standLone)模式相关推荐

  1. Hadoop+Spark 集群部署

    研究了几天 Hadoop+Spark 集群部署,虽然现在还是有点不懂(一脸懵B),想写下自己的总结,日后有新的发现再补充. 我安装时候的参考教程: http://www.powerxing.com/i ...

  2. 实现Spark集群部署 这些公司都经历了什么?

    咨询公司获得了客户关于Spark评价的 "实质性"调查.但这项技术尚未成熟,企业用户中关于Spark集群的产品相对较少.他说,"我们对这项技术很感兴趣,Spark是否转化 ...

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

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

  4. 利用CDH进行spark集群部署

    1. 规划: master: brain01 worker: brain02.brain03.brain04 2. 准备工作: 2.1 安装Java 1.7 2.2 设置主机名,编辑/etc/host ...

  5. Flink集群部署OnYarn模式

    文章目录 解压安装包 修改配置 用户环境变量 修改flink-conf.yaml 修改masters 修改works 修改zoo.cfg 小虫子:访问不了web页面 分发集群 on yarn的运行方式 ...

  6. Apache Spark 3.x集群部署

    Apache Spark简介 Apache Spark是一个开源集群运算框架,于 2009 年诞生于加州大学伯克利分校 AMPLab,2013 年被捐赠给 Apache 软件基金会,2014 年 2 ...

  7. Spark 集群模式概述

    Spark 集群模式概述 本文档简要概述了Spark如何在群集上运行,以使您更容易理解所涉及的组件.通读应用程序提交指南, 以了解有关在集群上启动应用程序的信息. 组件 Spark应用程序在群集上作为 ...

  8. Spark集群环境搭建(standalone模式)

    Spark集群环境搭建(standalone模式) 1. 实验室名称: 2. 实验项目名称: 3. 实验学时: 4. 实验原理: 5. 实验目的: 6. 实验内容: 7. 实验器材(设备.虚拟机名称) ...

  9. Nacos 集群部署模式最佳实践

    作者 | kiritomoe 来源 | https://mp.weixin.qq.com/s/sSTY5BivxrH4wR2-dNMkzw 1 前言 Nacos 支持两种部署模式:单机模式和集群模式. ...

最新文章

  1. 敏捷毒药-敏捷中有损组织整体的负面实践
  2. VS2003,VS2005,VS2008 低版本打开高版本的解决方案和工程文件
  3. 防止SQL SERVER的事件探查器跟踪软件
  4. curl 常用的命令
  5. Hystrix面试 - 深入 Hystrix 执行时内部原理
  6. html给背景架渐变,JS和CSS实现渐变背景特效的代码
  7. quartz获取缓存中所有运行中的Job
  8. 读书:我编程我快乐(一.4)
  9. SQL Server中的执行计划
  10. 蓝桥杯每日真题之砝码称重(01背包)
  11. jquery操作select、radio、checkbox表单元素
  12. 联想G450 Linux wifi,联想g450无线网卡驱动,详细教您无线网卡安装教程
  13. 最速下降法python_python实现最速下降法
  14. 常用电感封装与电流关系
  15. flashfxp v3.3.4(build1109)的密钥
  16. 数据库导入导出的几种方式
  17. 通达oa服务器文件夹管理,通达OA办公系统软件功能介绍.doc
  18. 化工图纸中LISP_化工设计之工程图纸(这篇文章给你讲全了)
  19. 推荐一款桌面弹窗广告拦截软件【桌面弹窗广告屏蔽】
  20. vue 中provide的用法_vue中provide和inject使用

热门文章

  1. **使用 Git Hook 实现网站的自动部署
  2. Thrift抛直接内存OOM一点解决思路
  3. 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)
  4. 将excel中是数据导入数据库
  5. 面向JavaScript开发人员的Adobe AIR与Dreamweaver
  6. 比特币如何实现—《区块链历史链条》2
  7. oracle 默认表空间 10g,Oracle10g 表空间管理
  8. Java培训一共分几个阶段
  9. 定期删除各子文件下数据
  10. 20155222卢梓杰 实验三 免杀原理与实践