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-keygen -t rsa (注意在接下来的命令行交互中,直接按回车跳过输入密码)
分别在所有节点操作:以下命令将本节点的公钥 id_rsa.pub 文件的内容追加到远程主机的 authorized_keys 文件中(默认位于 ~/.ssh/)
ssh-copy-id root@namenode
ssh-copy-id root@datanode1
ssh-copy-id root@datanode1
在每个节点上测试无密码 ssh 登录到
ssh namenode
ssh datanode1
ssh datanode1
4、安装scala以及配置scala环境变量(集群节点都需要安装)
下载地址:http://www.scala-lang.org/download/
注意:scala的下载页面在最下面,拉到页面到如下图所示位置
下载完成之后,直接解压到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/ root@datanode1:/opt/spark/spark-1.6.0-bin-hadoop2.6/
scp -r /opt/spark/spark-1.6.0-bin-hadoop2.6/ root@datanode2:/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进程如下图:
在其他子节点上执行:jps 查看到有个wrok进程如下图:
表示启动成功。
或者直接访问 http://172.16.101.60:8080(这里注意8080端口可能被占用的问题) 看到如下页面也表示启动成功
原创文章,转载请注明出处!