我用到的各个版本 不管你搭建哪个版本的集群,它依赖的各个版本一定要兼容,不然会遇到各种问题
spark2.1.1 hadoop2.6.5 jdk1.7 scala2.11.6
jdk的安装 https://blog.csdn.net/lu1171901273/article/details/82048696
scala安装 首先下载scala scala2.11.6 下载地址,在官网上下载很慢
链接:https://pan.baidu.com/s/14oNVy-HTSg3OKZqH8ftfOQ
提取码:bjmd
下载,解压,配置环境变量,刷新配置
使用命令查看scala版本
[root@hadoop1 conf]# scala -version
Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL
下载安装hadoop2.6.5,这个我没做记录,推荐仅供参考
https://blog.csdn.net/lu1171901273/article/details/88410704
下载spark 地址 汇总地址 https://archive.apache.org/dist/spark/
spark2.1.1 地址https://archive.apache.org/dist/spark/spark-2.1.1/
解压 tar -zxvf spark-2.1.1-bin-hadoop2.6
将相关配置添加到环境变量中,vim /etc/profile
刷新配置 source /etc/profile
配置spark,复制slaves.template 和spark-env.sh.template 如图,添加配置
vim spark-env.sh在末尾添加如下配置 根据自己的目录配置
vim slaves 如果你不配置这个文件,就是单机启动,
可以先单机启动,看看是否正常,查看spark版本 spark-shell
如果启动spark shell时没有指定master地址,但是也可以正常启动spark shell和执行spark shell中的程序,其实是启动了spark的local模式,该模式仅在本机启动一个进程,没有与集群建立联系。
指定机器启动
spark-shell \
--master spark://192.168.124.140:7077 \ //指定Master的地址
--executor-memory 2g \ //指定每个worker可用内存为2G
--total-executor-cores 2 //指定整个集群使用的cup核数为2个
可以正常启动之后,将spark目录复制到worker上
scp -r /usr/local/spark-2.1.1-bin-hadoop2.6 192.168.124.143:/usr/local/
scp -r /usr/local/spark-2.1.1-bin-hadoop2.6 192.168.124.144:/usr/local/
启动spark 进入spark目录的sbin目录下,在启动spark之前需要先启动hadoop
./start-all.sh
使用jps命令查看是否启动成功 master
worker
使用浏览器访问也可以查看
在搭建环境时,我遇到过俩个错误,不知道是不是版本原因,我换成上面的版本,就没出现这些错误了。也许是别的原因
192.168.124.143: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark-2.4.0-bin-hadoop2.6/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-hadoop3.out
192.168.124.143: failed to launch: nice -n 0 /usr/local/spark-2.4.0-bin-hadoop2.6/bin/spark-class org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://hadoop1:7077
failed to launch: nice -n 0 /usr/local/spark-2.4.0-bin-hadoop2.6/bin/spark-class org.apache.spark.deploy.master.Master --host hadoop1 --port 7077 --webui-port 8080
/usr/local/spark-2.4.0-bin-hadoop2.6/bin/spark-class: line 71: /usr/local/scala2.11/bin/java: No such file or directory