spark集群搭建

来源:互联网 发布:淘宝复核阿里钱盾 编辑:程序博客网 时间:2024/05/21 22:34

一、集群简介
Spark集群是在hadoop集群的基础上搭建的,但是由于本机内存太小,不能成功运行三台虚拟机,所以spark集群只包含两台虚拟机。
集群版本介绍:
spark spark-1.5.2-bin-hadoop2.6.tgz
hadoop hadoop-2.6.0-64.tar.gz
jdk jdk-8u66-linux-x64.rpm
scala scala-2.11.7.tgz

master 192.168.10.1
slave1 192.168.10.3

二、spark部署过程
1、配置安装路径

$  mkdir -p /application/spark$  mkdir -p /usr/scala$  chown -R hadoop:hadoop /application/spark

2、安装Scala
1)上传Scala至/usr/local路径下

#  tar -zxvf scala-2.11.7.tgz#  ln -s /usr/local/scala-2.11.7.tgz   /usr/local/scala

2)配置环境变量

#  vi /etc/profile.d/java.sh

文件内容:

export JAVA_HOME=/usr/local/jdkexport HADOOP_HOME=/application/hadoop/hadoopexport SCALA_HOME=/usr/local/scalaexport PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$PATH(为一行)

使用source命令使得环境变量立即生效

source /etc/profile

检查环境变量是否生效

#  java   -version#  scala  -version

3、安装hadoop
1)上传spark-1.5.2-bin-hadoop2.6.tgz至/application/spark/下

$  tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz$  ln -s /application/spark/spark-1.5.2-bin-hadoop2.6.tgz  /application/spark/spark

2)配置环境变量

$ vi /etc/profile.d/java.sh 
export SPARK_HOME=/application/spark/sparkexport PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:/SCALA_HOME/bin:$PATH(为一行)

3)修改配置文件
Spark主要修改2个文件即可spark-env.sh和slaves

切换到/application/spark/conf/目录
使用cp命令复制一份spark-env.sh

$  cp spark-env.sh.template spark-env.sh$  vi spark-env.sh

编辑spark-env.sh,在末尾追加下列内容:

export JAVA_HOME=/usr/local/jdkexport SCALA_HOME=/usr/local/scalaexport SPARK_MASTER_IP=masterexport SPARK_WORKER_MEMORY=512m #指定的worker节点能够最大分配给Executors的内存大小export HADOOP_CONF_DIR=/application/hadoop/hadoop/etc/hadoopexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"(为一行)

使用cp命令复制一份slaves

$  cp slaves.template slaves$  vi slaves

修改slaves文件,添加如下内容

master
slave1
slave2

三、部署之后运行测试程序
1、启动Spark
首先启动hadoop

$  /application/hadoop/hadoop/sbin/start-dfs.sh$  /application/hadoop/hadoop/sbin/start-yarn.sh

切换到/application/spark/spark/sbin/,执行./start-all.sh

$ ./sart-all.sh

切换到/application/spark/spark/bin/,执行./spark-shell

$ ./spark-shell

执行时间较长,当出现scala> 时表示已成功启动
可通过http://master:8080/或者http://master:4040/检验spark是否正常启动。
其中http://master:8080/检验结果如下图所示:
这里写图片描述

这里写图片描述

四、部署后成功运行的截图
以WordCount为例,运行示例程序
切换到/application/spark/spark/sbin/,执行./start-all.sh后如下图所示:
这里写图片描述

切换到/application/spark/spark/bin/,执行./spark-shell后如下图所示:
这里写图片描述

在scala>后执行语句

var textcount = sc.textFile(“hdfs://master:9000/input/data”).filter(line=>line.contains(“hello”)).count()

此语句会计算在data文件中包含单词“hello”的个数,运行结果如下:

结果出现textcount:Long=6
在hadoop中运行同一文件出现的结果如下:
这里写图片描述
由上面两张图可知,运行成功且结果正确。

此时也可以到http://master:4040/查看任务运行详情,如下图所示:
这里写图片描述

输入exit,退出spark-shell
关闭spark切换到/application/spark/spark/sbin,输入./stop-all.sh

五、部署过程中遇到的问题。
1、在搭建hadoop时,我是用的是1.6版本的jdk,在搭建完成spark集群后却启动不了,等网上查找信息之后才发现spark1.5版本与jdk1.6版本不兼容,故又卸载jdk,重新安装1.8版本。
2、在搭建spark完成后,启动spark需要很长的时间,大概15分钟后还是不能成功启动,检查无其他错误后,故而想到也许是内存不够,支持不了,所以减少虚拟机个数,增大虚拟机内存和spark需要的内存大小,之后即可以成功启动。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝退货退款页面刷新不出来怎么办 淘宝退货退款快递单号写错了怎么办 淘宝上已经退款的店家还发货怎么办 千牛买家下单付款了卖家怎么办 京东货到付款支付宝支付退款怎么办 美萍餐饮管理系统下单错误怎么办 淘宝店上传宝贝显示空间不足怎么办 淘宝店品牌被投诉未授权怎么办 淘宝天猫退货单号填错了怎么办 淘宝退货我把快递单号弄丢了怎么办 唯品会退货快递单号填错了怎么办 天猫换货写错运单号怎么办 训练衣舍的店铺名连接怎么办 兼职模特被骗去微整还贷了款怎么办 卖家已经发货了我要退款怎么办 卖家显示发货单号信息查不到怎么办 淘宝申请退款卖家发货了怎么办 咸鱼卖家不发货好会自动退款怎么办 淘宝卖家涨价后不发货怎么办 淘宝卖家发货选错在线下单怎么办 申请退款后卖家又虚假发货了怎么办 公司用淘宝没发票做账怎么办 淘宝网买了假货确认了怎么办? 吃了安眠药睡了一天还没有醒怎么办 淘宝买的东西退货快递弄丢了怎么办 在淘宝上已付钱店家说没货了怎么办 从淘宝物流寄东西到国外被扣怎么办 不是天猫的淘宝卖家不发货怎么办 微店违规说卖假冒商品怎么办 云集微店的商品没货了怎么办 淘宝买家被检测有虚拟交易怎么办 媒体声音突然没有声音了该怎么办 华为微信运动步数为零怎么办 淘宝店铺没货了客户拍了怎么办 房子涨价了卖家反悔不卖了怎么办 买的东西很贵质量不好怎么办 在淘宝开的店账号忘了怎么办 建了个淘宝优惠券群没人购物怎么办 刚开的淘宝店没有生意怎么办 房产代理公司不给渠道结佣金怎么办 天猫超过72小时不发货怎么办