前一篇文章中,我们已经搭建好了Hadoop的群集,接下来,我们就是需要基于这个Hadoop群集,搭建Spark的群集。由于前面已经做了大量的工作,所以接下来搭建Spark会简单很多。

首先打开三个虚拟机,现在我们需要安装Scala,因为Spark是基于Scala开发的,所以需要安装Scala。在Ubuntu下安装Scala很简单,我们只需要运行

sudo apt-get install scala

就可以安装Scala了。

安装完成后运行scala -version可以看到安装的Scala的版本,我现在2.11版,安装目录是在/usr/share/scala-2.11 。

接下来下载Spark。到官方网站,找到最新版的Spark的下载地址,选择Hadoop版本,

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

wget http://spark下载地址

当下载完毕后解压文件:

tar xvf spark-2.0.-bin-hadoop2..tgz

接下来我们需要将解压的文件夹移动到指定目录,因为之前我们Hadoop安装到/usr/local/hadoop,所以我们也可以把Spark放在/usr/local/spark下:

sudo mv spark-2.0.-bin-hadoop2. /usr/local/spark

进入spark文件夹下的conf文件夹,里面有个spark-env.sh.template文件,是spark环境变量设置的目标,我们可以复制一个出来:

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

然后编辑该文件

vi spark-env.sh

在文件的末尾我们添加上以下内容:

export SCALA_HOME=/usr/share/scala-2.11
export JAVA_HOME=/usr/lib/jvm/java--openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/usr/local/spark
SPARK_DRIVER_MEMORY=1G
export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native/:$LD_LIBRARY_PATH

这里的内容是根据我虚拟机的环境来的,如果安装的版本和路径不一样,可以根据实际情况更改。

接下来设置slaves文件。

cp slaves.template slaves
vi slaves

将内容改为

slave01

slave02

Spark在一台机器上就算配置完毕,接下来在另外两台机器上也做一模一样的配置即可。

启动Spark

在master上,我们先启动Hadoop,然后运行

/usr/local/spark/sbin/start-all.sh

便可启动Spark。

运行jps看看Java进程:

2929 Master
2982 Jps
2294 SecondaryNameNode
2071 DataNode
1929 NameNode
2459 ResourceManager
2603 NodeManager

发现比Hadoop启动的时候多了Master进程。

切换到slave01节点上,运行JPS,看看进程:

1889 Worker
1705 NodeManager
1997 Jps
1551 DataNode

这里比Hadoop的时候多了一个Worker进程。说明我们的Spark群集已经启动成功。

下面访问Spark的网站:

http://192.168.100.40:8080/

可以看到2个worker都启动。

最后,我们运行一下Spark的示例程序:

/usr/local/spark/bin/run-example SparkPi  --slave01 local[]

可以在结果中找到

Pi is roughly 3.14XXXXX

说明我们运行成功了。

在Ubuntu下搭建Spark群集的更多相关文章

  1. Ubuntu下搭建Spark运行环境

    安装Spark的方式 现在有两种安装方式: 安裝spark notebook:已經把spark, scala, hadoop等等包起來了,裝好就能用GUI介面操作,適合測試用. 傳統方式安裝:慢慢裝s ...

  2. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  3. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

  4. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  5. Ubuntu下搭建NodeJS+Express WEB开发框架

    Ubuntu下搭建NodeJS+Express WEB开发框架 2012-12-27 15:06 作者: NodeJSNet 来源: 本站 浏览: 2,966 次阅读 我要评论暂无评论 字号: 大 中 ...

  6. 如何在Ubuntu下搭建Android NDK开发环境

    1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...

  7. Ubuntu下搭建ASP.NET 5

    在Ubuntu下搭建ASP.NET 5开发环境   0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要 ...

  8. 在Ubuntu下搭建FTP服务器的方法

    由于整个学校相当于一个大型局域网,相互之间传送数据非常快,比如要共享个电影,传点资料什么的. 所以我们可以选择搭建一个FTP服务器来共享文件. 那么问题来了,有的同学会问,我们既然在一个局域网内,直接 ...

  9. Ubuntu下搭建FTP服务器

    Ubuntu下搭建FTP服务器 我装的服务器系统是Ubuntu 12.04 LTS,FTP软件当然是选择大名鼎鼎的vsftpd(very secure FTP daemon), 用系统自带的FTP还好 ...

随机推荐

  1. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  2. javascript的api设计原则

    前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...

  3. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  4. Atitit 项目语言的选择 java c#.net  php??

    Atitit 项目语言的选择 java c#.net  php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...

  5. 探索ASP.NET MVC5系列之~~~2.视图篇(上)---包含XSS防御和异步分部视图的处理

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  6. 使用SecureCRT连接虚拟机(ubuntu)配置记录

    这种配置方法,可以非常方便的操作虚拟机里的Linux系统,且让VMware在后台运行,因为有时候我直接在虚拟机里操作会稍微卡顿,或者切换速度不理想,使用该方法亲测本机效果确实ok,特此记录. Secu ...

  7. 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇)

    微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西 这篇我将讲解如何破解这个内存限制 要看关键的可以直接跳到第6步,只需要替换 ...

  8. javascript之闭包理解以及应用场景

    半个月没写博文了,最近一直在弄小程序,感觉也没啥好写的. 之前读了js权威指南,也写了篇博文,但是实话实说当初看闭包确实还是一头雾水.现在时隔一个多月(当然这一段时间还是一直有在看闭包的相关知识)理解 ...

  9. 通过自定义特性,使用EF6拦截器完成创建人、创建时间、更新人、更新时间的统一赋值(使用数据库服务器时间赋值,接上一篇)

    目录: 前言 设计(完成扩展) 实现效果 扩展设计方案 扩展后代码结构 集思广益(问题) 前言: 在上一篇文章我写了如何重建IDbCommandTreeInterceptor来实现创建人.创建时间.更 ...

  10. 搭建TFS 2015 Build Agent环境(一)

    Download the build agent Downloading the build agent is really simple. Navigate to your TFS control ...