[bigdata] spark集群安装及测试

时间:2022-05-10 20:44:40

在spark安装之前,应该已经安装了hadoop原生版或者cdh,因为spark基本要基于hdfs来进行计算。

1. 下载

spark:  http://mirrors.cnnic.cn/apache//spark/spark-1.4.1/spark-1.4.1-bin-hadoop2.3.tgz

scala:   http://downloads.typesafe.com/scala/2.10.5/scala-2.10.5.tgz?_ga=1.171364775.609435662.1441620697

注意scala版本要与spark版本匹配,具体spark版本需要什么版本的scala可以官方文档上查看,如Spark 1.4.1需要 2.10.x的scala。

“ Spark runs on Java 6+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.4.1 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x)” [http://spark.apache.org/docs/latest/]

2. 集群所有服务器上解压

tar -xvf /opt/app/spark-1.4.-bin-hadoop2..tgz
tar -xvf /opt/app/scala-2.10..tgz

3. 配置

假设集群有三台机器hadoop1,hadoop2,hadoop3,其中hadoop1作为master服务器,hadoop1,hadoop2,hadoop3作为slave服务器

1) 配置ssh免密码登陆,master与slave通信需要ssh通信,设置master到slaves服务器的ssh免密码登陆

在master hadoop1上执行

ssh-keygen-trsa

将 ~/.ssh/id_rsa.pub 的内容追加到三台slave服务器上的~/.ssh/authorized_keys文件。

hadoop1也需要配置,否则启动worker的时候会报权限问题。

2) 所有服务器上配置环境变量

vim /etc/profile

export SCALA_HOME=/opt/app/scala-2.10.

export SPARK_HOME=/opt/app/spark-1.4.-bin-hadoop2.

export PATH=$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH

3)所有服务器上配置spark

[root@hadoop1 conf]# pwd
/opt/app/spark-1.4.-bin-hadoop2./conf
[root@hadoop1 conf]# cp spark-env.sh.template spark-env.sh
[root@hadoop1 conf]# cp slaves.template slaves

vim spark-env.sh

export JAVA_HOME=/opt/app/jdk1..0_45
export SCALA_HOME=/opt/app/scala-2.10.
export SPARK_HOME=/opt/app/spark-1.4.-bin-hadoop2.
export SPARK_MASTER_IP=10.200.8.74
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/etc/hadoop/conf
export SPARK_LIBRARY_PATH=$SPARK_HOME/lib
export SCALA_LIBRARY_PATH=$SPARK_LIBRARY_PATH

vim slaves

hadoop1
hadoop2
hadoop3

4. 启动

[root@hadoop1 spark-1.4.-bin-hadoop2.]# sbin/start-all.sh
[root@hadoop1 spark-1.4.-bin-hadoop2.]# sbin/stop-all.sh //停止

5. 验证测试

通过jps命令查看启动的spark进程。

hadoop1上已启动Master与Worker进程

[root@hadoop1 spark-1.4.-bin-hadoop2.]# jps
Bootstrap
QuorumPeerMain
Master
RunJar
jar
Main
Main
JobHistoryServer
RunJar
Main
Worker
RunJar
Main
Jps
Kafka
Bootstrap
AlertPublisher
DataNode
EventCatcherService
Bootstrap
SecondaryNameNode

hadoop2,hadoop3上已启动Worker进程

[root@hadoop2 conf]# jps
Worker
QuorumPeerMain
troy-recv-3.0.-SNAPSHOT.jar
Kafka
Bootstrap
Application
NodeManager
DataNode
Jps

通过执行样例程序,成功执行说明一切安装部署OK

bin/run-example org.apache.spark.examples.SparkPi

通过web界面查看集群状态: http://master_ip:8080/

至此,spark集群安装部署完成。