Linux中安装配置spark集群
一. Spark简介
Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发。Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于Hadoop MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,节省了磁盘IO耗时,性能比Hadoop更快。 所以,相对来说Hadoop更适合做批处理,而Spark更适合做需要反复迭代的机器学习。下面是我在ubuntu14.04中配置Spark的整个流程以及遇到的问题的,一方面当做自己的备忘录,另一方面也希望能够给像我一样初次配置的新手提供一些帮助~╮(╯▽╰)╭
二. 安装配置
2.1 准备工作
注意:确保你之前已经安装配置好了hadoop集群(YARN方式),可以参考我的另一篇博文:Linux中安装配置hadoop集群
我所使用的环境:
ubuntu 14.04 LTS 计算机两台,一个当作Master,一个作slave。
Scala版本:scala-2.10.6
Hadoop版本:hadoop-2.7.1
Spark版本:spark-1.6.1 (记得下载预编译版本的)
我的安装目录:
Scala:/home/hadoop/spark/scala-2.10.6
Spark:/home/hadoop/spark/spark-1.6.1
Java:/home/javafile/jdk1.7.0_79
2.2 具体安装步骤
1. 安装scala
tar zxvf scala-2.10..tgz
然后,修改:/etc/profile
2. 安装Spark
同样,还是先去Spark官网下载:spark-1.6.1-bin-hadoop2.6.tgz,解压到:/home/hadoop/spark下;
cd /home/hadoop/spark
tar zxvf spark-1.6.-bin-hadoop2..tgz
然后,修改:/etc/profile
3. 配置Spark
01. 修改配置文件spark-env.sh
cd /home/hadoop/spark/spark-1.6./conf
cp spark-env.sh.template spark-env.sh
修改spark-env.sh如下:
02. 修改配置文件slaves
在slaves中添加你的slave主机名:我只有一个slave,所以只添加了一个。
03. 配置slave
至此,master节点上的Spark已配置完毕。把master上Spark相关配置copy到slave中。(注意,三台机器spark所在目录必须一致,因为master会登陆到worker上执行命令,master认为worker的spark路径与自己一样)
三. 启动Spark
3.1 启动
启动命令非常简单:
cd /home/hadoop/spark/spark-1.6.
sbin/start-all.sh
3.2 验证Spark是否启动成功
使用 jps 命令,查看master和slave上的进程:
master:
slave:
进入Spark的Web管理页面: http://master:8080 (将master替换成你的master主机名即可)
四. 总结
至此,Spark集群的安装配置就完成了,有什么不对的地方还请大家指正,一起交流讨论~
参考:
http://www.tuicool.com/articles/MbuaUv
http://wuchong.me/blog/2015/04/04/spark-on-yarn-cluster-deploy/
http://www.ibm.com/developerworks/cn/opensource/os-cn-spark-deploy1/index.html
最新文章
- C#------数字转中文
- 网站banner写法
- hadoop 安装教程 转载
- 【C#】让DataGridView输入中实时更新数据源中的计算列
- 0525 Scrum 项目7.0
- C++ Programming language读书笔记
- KVM切换器
- android开发设置dialog的高宽
- 导入sql时报日期类型错误
- c/c++字符数组和字符串大揭秘
- 疯牛-- Aggressive cows (二分)
- LPC1768外部中断与GPIO中断
- 数组,集合,字符串,bean,map
- Go thrift使用举例
- Python2.7-logging模块
- python网络爬虫 - 设定重试次数内反复抓取
- php.ini配置说明
- benthos 通过配置文件配置 stream 说明
- Django的DRF序列化方法
- 用ReentrantLock和Condition实现线程间通信
热门文章
- VC中关于预编译头文件的概括,以及无法打开预编译头文件的错误解决
- POI生成EXCEL文件(字体、样式、单元格合并、计算公式)
- Java网络编程-URI和URL
- Java设计模式(二)-单例模式
- How to make a custom WIDGET in OpenERP
- ie 已限制此网页运行脚本或Active控件
- pdf+iphone+wechat
- MySQL学习记录一
- springboot 1.5.10 +kotlin 1.2.20 解决 java.lang.ClassNotFoundException: kotlin.reflect.KotlinReflectionInternalError
- DHCP(动态主机配置协议)工作流程