1. 下载Spark

1.1 官网下载Spark

http://spark.apache.org/downloads.html

打开上述链接,进入到下图,点击红框下载Spark-2.2.0-bin-hadoop2.7.tgz,如下图所示:

2. 安装Spark

Spark安装,分为:

  • 准备,包括上传到主节点,解压缩并迁移到/opt/app/目录;
  • Spark配置集群,配置/etc/profile、conf/slaves以及confg/spark-env.sh,共3个文件,配置完成需要向集群其他机器节点分发spark程序,
  • 直接启动验证,通过jps和宿主机浏览器验证
  • 启动spark-shell客户端,通过宿主机浏览器验证

2.1 上传并解压Spark安装包

1. 把spark-2.2.0-bin-hadoop2.7.tgz通过Xftp工具上传到主节点的/opt/uploads目录下

2. 在主节点上解压缩

# cd /opt/uploads/ 

# tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz

有时解压出来的文件夹,使用命令 ll 查看用户和用户组有可能不是hadoop时,即上图绿框显示,则需要使用如下命令更换为hadoop用户和用户组:

# sudo chown hadoop:hadoop spark-2.2.0-bin-hadoop2.7

3.  把spark-2.2.0-bin-hadoop2.7移到/opt/app/目录下

# mv spark-2.2.0-bin-hadoop2.7 /opt/app/

# cd  /opt/app && ll

2.2 配置文件与分发程序

2.2.1 配置/etc/profile

1. 以hadoop用户打开配置文件/etc/profile

# sudo vi /etc/profile

2. 定义SPARK_HOME并把spark路径加入到PATH参数中

export SPARK_HOME=/opt/app/spark-2.2.0-bin-hadoop2.7

export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

2.2.2 配置conf/slaves

1. 打开配置文件conf/slaves,默认情况下没有slaves,需要使用cp命令复制slaves.template

# cd /opt/app/spark-2.2.0-bin-hadoop2.7/conf    如果不在/opt/app/spark-2.2.0-bin-hadoop2.7目录下,则使用该命令

# cp slaves.template slaves

# sudo vi slaves

2. 加入slaves配置节点

hadoop1

hadoop2

hadoop3

2.2.3 配置conf/spark-env.sh

1. 以hadoop用户,使用如下命令,打开配置文件spark-env.sh

# cd /opt/app/spark-2.2.0-bin-hadoop2.7   如果不在/opt/app/spark-2.2.0-bin-hadoop2.7目录下,则使用该命令

# cp spark-env.sh.template spark-env.sh 

# vi spark-env.sh 

2. 加入如下环境配置内容,设置hadoop1为Master节点:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_151

export SPARK_MASTER_IP=hadoop1

export SPARK_MASTER_PORT=7077

export SPARK_WORKER_CORES=1

export SPARK_WORKER_INSTANCES=1

export SPARK_WORKER_MEMORY=900M 

【注意】:SPARK_WORKER_MEMORY为计算时使用的内存,设置的值越低,计算越慢,反之亦然。

2.2.4 向各节点分发Spark程序

1. 进入hadoop1机器/opt/app/目录,使用如下命令把spark文件夹复制到hadoop2和hadoop3机器

# cd /opt/app

# scp -r spark-2.2.0-bin-hadoop2.7 hadoop@hadoop2:/opt/app/

# scp -r spark-2.2.0-bin-hadoop2.7 hadoop@hadoop3:/opt/app/

2. 在从节点查看是否复制成功

2.3 启动Spark

1. 启动Spark

# cd /opt/app/spark-2.2.0-bin-hadoop2.7/sbin

# ./start-all.sh

2. 验证启动

此时在hadoop1上面运行的进程有:Worker和Master

此时在hadoop2和hadoop3上面运行的进程有Worker

通过netstat -nlt 命令查看hadoop1节点网络情况

在浏览器中输入http://hadoop1:8080,即可以进入Spark集群状态页面(直接访问有问题,看下述步骤)

【注意】:在宿主机浏览器上,直接访问(192.168.187.201)hadoop1:8080,会报错。要想通过宿主机浏览器,访问(192.168.187.201)hadoop1:8080,因为VMware网络连接的方式是NAT,需要把宿主机端口与访问的虚拟机端口进行关联配置,通过访问宿主机端口来达到访问虚拟机端口的目的,如图所示:

首先,点击VMware的菜单栏编辑里面的虚拟网络编辑器:

然后,进行下述操作:

接着跳转到映射传入端口窗口,如下:

最后完成,如下。

验证,在宿主机浏览器上输入localhost:8080,映射到hadoop1:8080,即可访问Spark集群状态

2.4 验证客户端连接

1. 进入hadoop1节点,进入spark的bin目录,使用spark-shell连接集群

# cd /opt/app/spark-2.2.0-bin-hadoop2.7/bin

# spark-shell --master spark://hadoop1:7077 --executor-memory 600m

在命令中只指定了内存大小并没有指定核数,所以该客户端将占用该集群所有核并在每个节点分配600M内存

2. 查看Spark集群状态,通过上一步骤【注意】的IP端口映射设置,在宿主机浏览器输入localhost:8080,可以会直接映射到(192.168.187.201)hadoop1:8080上,如图:

3. Spark测试

3.1 使用Spark-shell测试

3.2 使用Spark-submit测试

Spark环境搭建(下)——Spark安装的更多相关文章

  1. 分布式计算框架-Spark(spark环境搭建、生态环境、运行架构)

    Spark涉及的几个概念:RDD:Resilient Distributed Dataset(弹性分布数据集).DAG:Direct Acyclic Graph(有向无环图).SparkContext ...

  2. Hive On Spark环境搭建

    Spark源码编译与环境搭建 Note that you must have a version of Spark which does not include the Hive jars; Spar ...

  3. Spark学习进度-Spark环境搭建&Spark shell

    Spark环境搭建 下载包 所需Spark包:我选择的是2.2.0的对应Hadoop2.7版本的,下载地址:https://archive.apache.org/dist/spark/spark-2. ...

  4. LNMP环境搭建:Nginx安装、测试与域名配置

    Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件 2.编译安装Nginx (1)安装Nginx依赖函数库pcre pcre为“perl兼容正则表达 ...

  5. Tesseract环境搭建及编译安装

    Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...

  6. Python环境搭建和pycharm安装

    Python环境搭建和pycharm安装 本人安装环境为Windows10系统,下载的Python版本为3.4社区版本,可参考 1.下载Python3.4版本 官网:https://www.pytho ...

  7. LNMP环境搭建之php安装,wordpress博客搭建

    LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...

  8. windows下大数据开发环境搭建(4)——Spark环境搭建

    一.所需环境 · Java 8 · Python 2.6+ · Scala · Hadoop 2.7+ 二.Spark下载与解压 http://spark.apache.org/downloads.h ...

  9. spark在windows下的安装

      Windows下最简的开发环境搭建这里的spark开发环境, 不是为apache spark开源项目贡献代码, 而是指基于spark的大数据项目开发. Spark提供了2个交互式shell, 一个 ...

  10. 学习Spark——环境搭建(Mac版)

    大数据情结 还记得上次跳槽期间,与很多猎头都有聊过,其中有一个猎头告诉我,整个IT跳槽都比较频繁,但是相对来说,做大数据的比较"懒"一些,不太愿意动.后来在一篇文中中也证实了这一观 ...

随机推荐

  1. HTML篇(上)

    1.Doctype作用?标准模式与兼容模式有什么区别? (1)<!doctype>声明位于HTML文档中的第一行,处于<html>标签之前.告知浏览器的解析器用什么文档标准解析 ...

  2. 三菱Q系列PLC的智能功能模块程序

    一.模拟量输入模块Q64AD 1.模块开关或者参数设置 1.1I/O分配 1.2开关设置使用通道1,0-5v, 1.3使用GX configurator设置自动刷新PLC设置智能功能模块参数,即将模拟 ...

  3. Linux 学习记录 五(软件的安装升级).

    一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行 ...

  4. 扩展Microsoft Graph数据结构(开放扩展)

    作者:陈希章 发表于 2018年1月2日 前言 Microsoft Graph是一张拥有巨大价值的网络,它定义了包括Office 365在内的资源的实体及其关系,它的价值体现在,随着用户积累的数据越来 ...

  5. 统计nginx单个IP访问日志并获取IP来源

    #!/usr/bin/env python #coding=utf-8 import requests from urllib2 import urlopen # import lxml.html f ...

  6. windows 下的python 安装pycrypto

    一般在官方网站下载pycrypto: https://www.dlitz.net/software/pycrypto/   然后使用命令就可以安装成功了: python setup.py build  ...

  7. 浅谈OGNL表达式

    OGNL(Object-Graph Navigation Language):对象视图导航语言 ${user.addr.name}这样的写法就叫对象视图导航 OGNL不仅可以视图导航,支持EL表达式更 ...

  8. Mysql的硬件优化和配置优化

    mysql数据库的优化,算是一个老生常谈的问题了,网上也有很多关于各方面性能优化的例子,今天我们要谈的是MySQL硬件优化和系统参数的优化-即优化my.cnf文件 MySQL的优化我分为两个部分,一是 ...

  9. K:java中正则表达式的使用说明及其举例

    从Java1.4起,java核心API就引入了java.util.regex程序包来处理正则表达式,并使用该包下的相关类进行字符串的匹配.搜索.提取.分析结构化内容等工作.需要注意的是,正则表达式本身 ...

  10. C语言--解引用

    昨天,在<C和指针>上面看到"解引用"这个名词,就好奇的去查了查. (下面是一个大一渣渣的理解,请各位朋友海涵,如果有漏洞或者补充希望前辈不吝指正.) 例: #incl ...