Spark软件安装使用(1.2.1) 2015-03-04 17:00

说明

Spark是一个内存迭代计算框架。本文将Spark以集群形式部署,与Hadoop集群部署在同一批物理设备上。
ctrl节点:运行master进程
data01节点:运行worker进程
data02节点:运行worker进程
data03节点:运行worker进程

安装过程(ctrl节点)

安装JDK

省略。

安装Scala

1
2
3
4
5
cd /opt
wget http://downloads.typesafe.com/scala/2.11.5/scala-2.11.5.tgz
tar -zxvf scala-2.11.5.tgz
mv scala-2.11.5 scala
chown -R hadoop:hadoop scala

在/etc/bashrc中增加环境变量:

1
2
export SCALA_HOME=/opt/scala
export PATH=$PATH:$SCALA_HOME/bin

使环境变量立即生效:

1
source /etc/bashrc

安装Spark

1
2
3
4
5
cd /opt
wget **
tar -zxvf spark-1.2.1-bin-hadoop2.4.tgz
mv spark-1.2.1-bin-hadoop2.4 spark
chown -R hadoop:hadoop spark

在/etc/bashrc中增加环境变量:

1
2
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin

使环境变量立即生效:

1
source /etc/bashrc

配置Spark

  • spark-env.sh
1
2
3
cd /opt/spark/conf
mv spark-env.sh.template spark-env.sh
vi spark-env.sh

spark-env.sh中增加:

1
2
3
4
5
export JAVA_HOME=/usr/java/jdk1.7.0_67
export SCALA_HOME=/opt/scala
export SPARK_MASTER_IP=192.168.1.10
export SPARK_WORKER_MEMORY=512m
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop/
  • slaves
1
2
3
cd /opt/spark/conf
mv slaves.template slaves
vi slaves

slaves中增加:

1
2
3
data01
data02
data03

安装其他节点

将Scala、Spark都拷贝到各个worker节点
注意,各个节点都要配置上述环境变量。

1
2
3
4
5
6
7
8
cd /opt
scp -rp scala data01:/opt
scp -rp scala data02:/opt
scp -rp scala data03:/opt

scp -rp spark data01:/opt
scp -rp spark data02:/opt
scp -rp spark data03:/opt

启动

启动

只需要在master节点启动,其他节点会自动启动。

1
2
cd /opt/spark/sbin/
./start-all.sh

检查

通过jps命令,可以查看到ctrl上起了master进程,data01、data02、data03上起了worker进程。

通过netstat命令, 可以看到ctrl监听7077端口,各work连接了master的7077端口。

Spark的集群Web管理端口:8080端口。

使用

启动Spark-Shell

上面已经通过spark-env.sh指定的MASTER的IP,则此时可以直接执行spark-shell:

1
bin/spark-shell

如果spark-env.sh中没有配置,则:

1
MASTER=spark://ctrl:7077 bin/spark-shell

启动spark-shell后,可通过4040端口访问Spark Web UI。

WordCount计算

先在HDFS上创建一个文本文件,然后通过Spark计算其单词数:

Tags: #Spark    Post on Spark