Spark学习记录(二)Spark集群搭建

Hadoop  Spark集群搭建,以及IDEA远程调试

环境:Hadoop-2.7.2  jdk-1.8   scala-2-11-12  spark-2.1.0

spark2.0.0开始,只支持Java8版本了,并且Java8版本最好相对高一点,并且从spark2.1.0开始只支持scala2.11了

 

scala下载地址(选择2.11.X以上版本):http://www.scala-lang.org/download/
spark下载地址:http://spark.apache.org/downloads.html

由于我们的hadoop是2.7.2 版本,这里选择下载对应的spark版本。

首先,将scala和spark的tar包上传到我们的三台虚拟机上,并进行解压配置。

三台虚拟机IP:

192.168.194.131 Hadoop.Master
192.168.194.129 Hadoop.Slave1
192.168.194.130 Hadoop.Slave2

我们先来配置scala,在配置scala之前我们必须保证服务器上有Java8之后,配置scala的环境变量,编辑/etc/profile:

 

保存然后使其生效之后,执行scala -version观察输出:

 

如果输出对应版本号则说明配置成功。

接下来我们配置spark,首先就是环境变量:

 

然后我们进入spark目录下的conf目录,去配置两个配置文件spark-env.sh slaves

首先我们编辑spark-env.sh,将spark-env.sh.template文件重命名

 

然后我们编辑slaves,将slaves.template文件重命名,并且将hosts文件中我们的两个hadoop从节点的host也来充当我们的spark的从节点

 

然后我们进入spark目录下的sbin目录中执行start-all.sh,用jps命令观察各个节点的启动效果。

Master:

 

Slave:

 

遇到的坑:

1.stop-all.sh执行关闭spark集群的时候,worker节点没有正常关闭(原因看第3点)

2.spark UI在单机节点的时候访问地址为 IP:4040 ,集群状态下 的访问地址为IP:8080。

3.由于我的hadoop的环境变量中,将hadoop目录下的sbin目录配置到了PATH中,导致我在spark目录下的sbin目录下执行start-all.sh/stop-all.sh时,总是执行hadoop的start-all.sh/stop-all.sh,想执行spark的start-all.sh只能通过绝对路径执行

猜你喜欢

转载自my.oschina.net/u/3687664/blog/2876015