Hadoop安装请参考:hadoop的安装和配置.docx(http://blog.csdn.net/tian_li/article/details/49103603)
http://spark.apache.org/downloads.html
我们使用的是:spark-1.5.1-bin-hadoop2.6.tgz
(1) 将spark-1.5.1-bin-hadoop2.6.tgzpagz拖拽到ubuntu桌面
(2) mkdir /usr/local/spark #在/usr/local/中创建spark目录用来存放程序文件
(3) cp –rf Desktop/spark-1.5.1-bin-hadoop2.6.tgz /usr/local/spark 将spark的安装包拷贝到(2)中新建的目录下
(4) 解压/usr/local/spark下的安装包 并删除安装包
(1) 在/etc/profile中添加SPARK_HOME并且把spark的bin目录添加进环境变量
(2) 使配置文件生效
(3) 使用scp 将/etc/profile发送到slave1和slave2上
scp /etc/profile root@slave1:/etc/profile
scp /etc/profile root@slave2:/etc/profile
并且在slave1和slave2上执行:source /etc/profile使配置生效
(4) 配置spark的spark-env.sh文件
1) 进入spark的conf目录:
cd /usr/local/spark/spark-1.5.1-bin-hadoop2.6/conf
2) 备份spark的配置文件spark-env.sh.template
cp –rfspark-env.sh.template spark-env.sh
3) 在spark-env.sh添加如下配置信息
exportJAVA_HOME=/usr/local/java/jdk1.7.0_80 #jdk安装目录
export SCALA_HOME=/usr/local/scala/scala-2.11.7#scala安装目录
exportSPARK_MASTER_IP=192.168.189.130 #spark集群的master节点
exportSPARK_WORKER_MEMORY=1.5g#指定的work节点能够最大分配给#Executors的内存大小,因为虚拟机就分了2G,所以这里给spark1.5g
export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.7.1/etc/hadoop
#指定Hadoop集群的配置文件目录,保存退出.
(5) 配置conf下的slaves文件
创建文件slaves
cp –rf slaves.template slaves
添加如下配置信息:
master
slave1
slave2
把三台机器设置为Worker,主节点既是master又是worker节点。
(6) 通过scp命令把spark的配置分发到slave1和slave2上
先启动hadoop集群
进入/usr/local/spark/spark-1.5.1-bin-hadoop2.6/sbin目录执行:./start-all.sh 注意使用./start-all.sh而不是start-all.sh因为我们已经把hadoop中的start-all.sh的已经添加进环境变量中。
可以看到master节点:多了master进程和worker进程
slave1和slave2 :多了worker进程
master:
Slave:
http://192.168.189.130:8080/
环境的配置信息如下:
http://192.168.189.130:4040/jobs/
从web控制台查看文件是否已经成功上传控制台:
sc是SparkContext的实例,在启动spark-shell的时候系统自动生成,SparkContext是把代码提交到集群或者本地的通道,编写spark代码,无论是要运行本地还是集群都必须有SparkContext的实例.
(1) 读取README.md文件
(2) 从文件中过滤出所有Spark这个词
(3) 统计Spark一共出现了多少次
可以看出Spark一共出现了18次.
(4) 查看spark shell的web控制台
控制台上出现了一个提交任务,并且成功完成
(5) 验证spark的计算结果
使用ubuntu的wc功能统计单词出现次数
grep Spark README.md|wc
可以看出执行结果也是18次.