本文介绍的spark环境搭建是基于hadoop之上的,hadoop集群环境搭建在之前的文章中已经介绍过,请前往查看。
scala安装
scala下载
wget https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.tgz
具体的版本可去官网http://www.scala-lang.org/download/根据实际情况选
安装和配置scala
tar -xvf scala-2.12.4.tgz -C /usr/local
将解压后的路径添加到path中
vim /etc/profile
添加如下两行内容:
export SCALA_HOME=/usr/local/scala-2.12.4
export PATH=$PATH:$SCALA_HOME/bin
使之生效
source /etc/profile
测试是否安装成功
scale
在命令提示符中输入scale,如果看到scale提示符说明已经安装成功
可使用“:quit”退出,其他支持的命令可使用“:help”查看
spark安装
下载spark
wget http://mirrors.shuosc.org/apache/spark/spark-2.2.1/spark-2.2.1-bin-hadoop2.7.tgz
安装
tar -xvf spark-2.2.1-bin-hadoop2.7.tgz -C /usr/local
mv /usr/local/spark-2.2.1-bin-hadoop2.7/ /usr/local/spark
设置环境变量
vim /etc/profile
加入如下两行内容:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
使之生效
source /etc/profile
测试,在命令行中输入“spark-shell”
spark-shell
至此,spark已安装完成
配置spark
cd /usr/local/spark
cp conf/slaves.template conf/slaves
cp conf/spark-env.sh.template conf/spark-env.sh
修改slaves文件的内容
vim conf/slaves
删除localhost,添加slave
修改spark-env.sh的内容
vim conf/spark-env.sh
添加如下内容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 #写你自己的java路径
export SCALA_HOME=/usr/local/scala-2.12.4
export SPARK_MASTER_HOST=192.168.78.139 #写你自己的ip
export SAPRk_WORKER_MEMORY=1g #每个worker进程能管理1g内存
拷贝到slave节点
在master上执行
scp -r /usr/local/scala-2.12.4/ root@slave:/usr/local/
scp -r /usr/local/spark/ root@slave:/usr/local/
scp /etc/profile root@slave:/etc/profile
在salve节点执行
source /etc/profile
启动spark分布式集群并测试
启动spark
./sbin/start-all.sh #当前路径为/usr/local/spark
验证
jps
输出如下信息
master节点
slave节点
测试WEBUI页面能否访问(需提前关闭防火墙)
测试
创建本地文件
vim 1.txt
内容如下:
hello spark
hello word
hello spark
上传到hadoop集群
hdfs dfs -put 1.txt /tmp
测试spark-shell
spark-shell
启动成功后输入如下内容:
val readmeFile = sc.textFile("hdfs://master:9000/tmp/1.txt")
readmeFile.count
var theCount = readmeFile.filter(line=>line.contains("spark"))
theCount.count
var wordCount = readmeFile.flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_+_)
wordCount.collect
执行效果:
到此,spark集群搭建完毕