Spark环境搭建(下)——Spark安装
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安装的更多相关文章
- 分布式计算框架-Spark(spark环境搭建、生态环境、运行架构)
Spark涉及的几个概念:RDD:Resilient Distributed Dataset(弹性分布数据集).DAG:Direct Acyclic Graph(有向无环图).SparkContext ...
- Hive On Spark环境搭建
Spark源码编译与环境搭建 Note that you must have a version of Spark which does not include the Hive jars; Spar ...
- Spark学习进度-Spark环境搭建&Spark shell
Spark环境搭建 下载包 所需Spark包:我选择的是2.2.0的对应Hadoop2.7版本的,下载地址:https://archive.apache.org/dist/spark/spark-2. ...
- LNMP环境搭建:Nginx安装、测试与域名配置
Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件 2.编译安装Nginx (1)安装Nginx依赖函数库pcre pcre为“perl兼容正则表达 ...
- Tesseract环境搭建及编译安装
Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...
- Python环境搭建和pycharm安装
Python环境搭建和pycharm安装 本人安装环境为Windows10系统,下载的Python版本为3.4社区版本,可参考 1.下载Python3.4版本 官网:https://www.pytho ...
- LNMP环境搭建之php安装,wordpress博客搭建
LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...
- windows下大数据开发环境搭建(4)——Spark环境搭建
一.所需环境 · Java 8 · Python 2.6+ · Scala · Hadoop 2.7+ 二.Spark下载与解压 http://spark.apache.org/downloads.h ...
- spark在windows下的安装
Windows下最简的开发环境搭建这里的spark开发环境, 不是为apache spark开源项目贡献代码, 而是指基于spark的大数据项目开发. Spark提供了2个交互式shell, 一个 ...
- 学习Spark——环境搭建(Mac版)
大数据情结 还记得上次跳槽期间,与很多猎头都有聊过,其中有一个猎头告诉我,整个IT跳槽都比较频繁,但是相对来说,做大数据的比较"懒"一些,不太愿意动.后来在一篇文中中也证实了这一观 ...
随机推荐
- MySQL sql语句获取当前日期|时间|时间戳
1.1 获得当前日期+时间(date + time)函数:now() mysql> select now();+———————+| now() |+———————+| 2013-04-08 20 ...
- [置顶]
xamarin android Fragment实现底部导航栏
前段时间写了篇关于Fragment的文章,介绍了基础的概念,用静态和动态的方式加载Fragment Xamarin Android Fragment的两种加载方式.下面的这个例子介绍xamarin ...
- 新手了解.Nat
1.Net平台 -->.Net平台 -->.Net FrameWrok框架 2.C#编程语言 -->编程语言:计算机能听懂的语言 -->使用.Net平台 C#是在.NEt平台 ...
- 使用 JSON.parse 反序列化 ISO 格式的日期字符串, 将返回Date格式对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Webpack 2 视频教程 019 - Webpack 2 中配置多页面编译
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)
Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...
- 执行PHP脚本时遇到 mysql_connect(): Headers and client library minor version mismatch的解决方法
把服务器从Windows迁移到了centos7.2,配置好PHP运行环境后,项目运行正常. 但在命令行中运行一个PHP脚本时,遇到了标题中显示的错误 使用 php -i | grep Client 得 ...
- [js高手之路]面向对象版本匀速运动框架
这篇文章的效果,需要看过以下3篇文章: [js插件开发教程]一步步开发一个可以定制配置的隔行变色小插件 [js高手之路]匀速运动与实例实战(侧边栏,淡入淡出) [js高手之路]打造通用的匀速运动框架 ...
- AutoMapper 使用总结
初识AutoMapper 在开始本篇文章之前,先来思考一个问题:一个项目分多层架构,如显示层.业务逻辑层.服务层.数据访问层.层与层访问需要数据载体,也就是类.如果多层通用一个类,一则会暴露出每层的字 ...
- Java贪吃蛇感想
暑假敲代码的效率真的不高呀,一个这种小游戏从最开始构思到最后实施代码,从最开始的Demo版本到最后的第四版本,花了一个星期了.本想再更新一个版本,加入双人对战模式,还想写个AI版,可是我估计按照现在我 ...