交流学习加QQ群460570824.
安装环境:linuxcentos6.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-idroot@namenode
ssh-copy-idroot@datanode1
ssh-copy-idroot@datanode1
在每个节点上测试无密码 ssh 登录到
ssh namenode
ssh datanode1
ssh datanode1
4、安装scala以及配置scala环境变量(集群节点都需要安装)
下载地址:http://www.scala-lang.org/download/
下载完成之后,直接解压到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
exportPATH 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
exportSCALA_HOME=/opt/scala/scala-2.11.11 #scala的安装地址
exportJAVA_HOME=/usr/java/jdk1.8.0_45 #jdk安装地址
exportSPARK_WORKER_MEMORY=4096m #spark的worker机器的内存,也就是前面下面配置文件slaves配置的2台工作机器
exportSPARK_MASTER_HOST=172.16.101.60 #master的ip,这里60是master机器
exportSPARK_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进程