Spark-1.3.1部署在hadoop-2.6.0

来源:互联网 发布:mac 抹掉磁盘名称 编辑:程序博客网 时间:2024/06/05 05:26

1. 安装环境

系统:ubuntu 14.04 LTS 64-bit(各节点)
Spark: spark-1.3.1
Java: jdk-1.8.0_25 (java -version)
Scala: 2.11.6 (scala -version)
Hadoop:hadoop-2.6.0

Spark runs on Java 6+ and Python 2.6+. For the Scala API, Spark 1.3.1 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).

2. 分布式部署

2.1 软件安装(解压缩、配置环境变量即可)

vim /etc/profile # 添加环境变量

export SCALA_HOME=/usr/scala-2.11.6export JAVA_HOME=/usr/java/jdk1.8.0_25export HADOOP_HOME=/usr/hadoop-2.6.0export SPARK_HOME=$HOME/spark-1.3.1-bin-hadoop2.6# Follows, just for standalone modeexport SPARK_MASTER=localhostexport SPARK_LOCAL_IP=localhostexport SPARK_LIBARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/nativeexport YARN_CONF_DIR=$HADOOP_HOME/etc/hadoopexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin

环境变量生效:source /etc/profile

2.2 启动Spark

./sbin/start-all.sh; jps,其中多了一个Master和Worker,说明启动成功
还可通过http://localhost:8080/查看spark集群状况
但执行bin/spark-shell没有问题,可执行scala,脚本运行没有测试

3. 全分布式集群部署

3.1 添加环境变量

cd spark-1.3.1-bin-hadoop2.6cp ./conf/spark-env.sh.template ./conf/spark-env.shvim ./conf/spark-env.shexport SCALA_HOME=/usr/scala-2.11.6export JAVA_HOME=/usr/java/jdk1.8.0_25export SPARK_MASTER_IP=Master.Hadoopexport SPARK_WORKER_INSTANCES=1export SPARK_MASTER_PORT=8070export SPARK_MASTER_WEBUI_PORT=8090 # 查看集群运行情况的web ui的端口号export SPARK_WORKER_PORT=8092   # 各worker端口号export SPARK_WORKER_MEMORY=5000m # 配置各worker运行内存vim ./conf/slaves # 每行一个worker的主机名Master.HadoopSlave1.HadoopSlave2.HadoopSlave3.Hadoop

其它节点,也要有scala, java软件(最好都是相同路径),并将spark添加到环境变量

sudo vim /etc/profileexport SPARK_HOME=$HOME/spark-1.3.1-bin-hadoop2.6export PATH=$SPARK_HOME/bin:$PATH

最后将配置及安装文件同步到各节点上(使用scp传送)
scp ./spark-1.3.1-bin-hadoop2.6_jwj.tar.gz Slave2.Hadoop:/home/ubuntu1404/
使环境变量生效 source /etc/profile

3.2 启动Spark集群

1. 执行 ./sbin/start-all.sh。

start-all.sh方式无法正常启动相关进程,可在$SPARK_HOME/logs目录下查看相关错误信息。
执行start-all.sh后终端输出
出现JAVA_HOME is not set错误信息时,将export JAVA_HOME=/usr/java/jdk1.8.0_25添加到./conf/spark-env.sh文件中即可,运行shell脚本就会找到JAVA_HOME。

2. 也可像Hadoop一样单独启动Master、Worker进程,

master节点上运行下面命令

./sbin/start-master.sh  # 启动Master进程./sbin/start-slave.sh 1 spark://Master.Hadoop:8070 --webui-port 8090 # 启动Worker进程 # SPARK_MASTER_WEBUI_PORT = 8090

其他节点上,启动Worker进程使用,

./sbin/start-slave.sh 1 spark://Master.Hadoop:8070 --webui-port 8081 # 启动Worker进程 # SPARK_WORKER_WEBUI_PORT = 8080

检查进程是否启动,执行jps命令,可以看到Worker进程或Master进程。然后,可在webui上查看 http://Master.Hadoop:8090/ 可以看到所有worker节点,以及各自 cpu 个数和内存等信息。

3.3 关闭Spark进程

./sbin/stop-slaves.sh # 可停止子节点的worker
./sbin/stop-master.sh

参考资料

  1. Spark 伪分布式 & 全分布式 安装指南
  2. ampcamp
  3. Spark-1.3.1
0 0
原创粉丝点击