spark集群安装

安装环境:linux centos6.x

注意:此处直接使用spark是可以不需要安装hadoop的

1、修改hosts文件(集群节点都要修改,这里是3台),修改地址为/etc/hosts

    172.16.101.60  namenode

    172.16.101.74  datanode1

    172.16.101.75  datanode2

2、关闭防火墙(集群节点都要修改,这里是3台)

    以上2个步骤完成后重启linux机器。

3、配置linux ssh免密码登录

在所有节点执行此操作:

    ssh-****** -t rsa (注意在接下来的命令行交互中,直接按回车跳过输入密码)

分别在所有节点操作:以下命令将本节点的公钥 id_rsa.pub 文件的内容追加到远程主机的 authorized_keys 文件中(默认位于 ~/.ssh/)

    ssh-copy-id [email protected]

    ssh-copy-id [email protected]

    ssh-copy-id [email protected]

在每个节点上测试无密码 ssh 登录到

    ssh namenode

    ssh datanode1

    ssh datanode1

4、安装scala以及配置scala环境变量(集群节点都需要安装)

    下载地址:http://www.scala-lang.org/download/

    注意:scala的下载页面在最下面,拉到页面到如下图所示位置

spark集群安装

    下载完成之后,直接解压到linux中的某个文件夹下就行了,这里随意放在哪里。

    配置scala环境变量:可以不配置。

    到这里scala就安装完成了,这里要注意的是spark跟scala的版本匹配问题,在下载spark的时候要注意。

6、安装JDK以及配置JDK环境变量(集群节点都需要安装)

    下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

    下载完成后解压到任意目录:/usr/java/jdk1.8.0_45

    配置jdk环境变量:

    编辑/etc/profile,加入如下内容:

        JAVA_HOME=/usr/java/jdk1.8.0_45

        PATH=$PATH:$JAVA_HOME/bin

        CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar

        export PATH JAVA_HOME CLASSPATH (注意这里原本可能存在,直接追加就好了)

7、下载spark,下载地址:http://spark.apache.org/downloads.html

可以直接下载到windows然后传到linux环境安装,也可以通过linux的wget命令下载。

注意spark从2.0开始默认使用Scala 2.11,如果你用的是Scala 2.10需要自己下载spark源码编译。

这里先下载到一台机器上:/opt/spark/spark-1.6.0-bin-hadoop2.6(这是我的解压地址)

7、修改spark配置文件

不管是1.x还是2.x的版本都是一样的。

 conf/spark-evn.sh

export SCALA_HOME=/opt/scala/scala-2.11.11  #scala的安装地址

export JAVA_HOME=/usr/java/jdk1.8.0_45  #jdk安装地址

export SPARK_WORKER_MEMORY=4096m  #spark的worker机器的内存,也就是前面下面配置文件slaves配置的2台工作机器

export SPARK_MASTER_HOST=172.16.101.60 #master的ip,这里60是master机器

export SPARK_LOCAL_IP=172.16.101.60  #这个是不需要配置的

conf/slaves

datanode1

datanode2

8、配置spark环境变量(集群节点都需要配置)

编辑/etc/profile,加入如下内容:

SPARK_HOME=/opt/spark/spark-1.6.0-bin-hadoop2.6

PATH=$PATH:$SPARK_HOME/bin

整个环境变量配置完成之后记得执行下如下命令:source /etc/profile (这样环境变量才会生效)

9、拷贝spark文件到其他节点:

因为我这里是在namenode节点上解压和修改配置文件的,所以我需要将修改后spark项目拷贝到节点datanode1和datanode2,执行如下命令:

scp -r /opt/spark/spark-1.6.0-bin-hadoop2.6/ [email protected]:/opt/spark/spark-1.6.0-bin-hadoop2.6/

scp -r /opt/spark/spark-1.6.0-bin-hadoop2.6/ [email protected]:/opt/spark/spark-1.6.0-bin-hadoop2.6/

这里注意2个点:1、拷贝前确认datanode1和datanode2上要有文件目录/opt/spark  2、scp加上-r参数

11、启动集群(在master节点上操作,这里是在namenode上操作)

cd /opt/spark/spark-1.6.0-bin-hadoop2.6/sbin

./start-all.sh (启动集群)

./stop-all.sh (停止集群)

启动完成之后在master上执行:jps查看有个master进程如下图:


spark集群安装

在其他子节点上执行:jps  查看到有个wrok进程如下图:


spark集群安装

表示启动成功。

或者直接访问 http://172.16.101.60:8080(这里注意8080端口可能被占用的问题) 看到如下页面也表示启动成功

spark集群安装