Spark集群安装

环境配置

JDK1.8+

Scala 2.11.12

Hadoop2.6.4

​01Spark安装

 

下载:https://spark.apache.org/downloads.html

由于Hadoop 我安装的是 2.6.4 版本的,这里就不选择最新版 Spark了。

 

上传到Linux:

上传 spark-2.3.3-bin-hadoop2.6.tgz 安装包到Linux上

解压安装包到指定位置: 

tar -zxvf spark-2.3.3-bin-hadoop2.6.tgz -C ../app/

 

 

02配置Spark

 

进入到Spark安装目录

cd /home/hadoop/app/spark-2.3.3-bin-hadoop2.6

进入conf目录并重命名并修改spark-env.sh.template文件

cd conf/

cp spark-env.sh.template spark-env.sh

vi spark-env.sh

在该配置文件中添加如下配置

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_45

export SPARK_MASTER_IP=mini61  # Master主机名

export SPARK_MASTER_PORT=7077

保存退出

重命名并修改slaves.template文件

cp slaves.template slaves

vi slaves

在该文件中添加子节点所在的位置(Worker节点)

mini61

mini62

mini63

保存退出

将配置好的Spark拷贝到其他节点上

scp -r spark-2.3.3-bin-hadoop2.6/ mini62:/home/hadoop/app/

scp -r spark-2.3.3-bin-hadoop2.6/ mini63:/home/hadoop/app

 

03

启动Spark 

Spark集群配置完毕,目前是1个Master,3个Work,在mini61上启动Spark集群

1

进入 Spark sbin 目录

cd /home/hadoop/app/spark-2.3.3-bin-hadoop2.6/sbin

启动 Spark:  

./start-all.sh 

 

2

结果启动失败:

./start-all.sh 

starting org.apache.spark.deploy.master.Master, logging to /home/hadoop/app/spark-2.3.3-bin-hadoop2.6/logs/spark-hadoop-org.apache.spark.deploy.master.Master-1-mini61.out

failed to launch: nice -n 0 /home/hadoop/app/spark-2.3.3-bin-hadoop2.6/bin/spark-class org.apache.spark.deploy.master.Master --host mini61 --port 7077 --webui-port 8080

        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

 

3

查看启动 log

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/spark/launcher/Main : Unsupported major.minor version 52.0

 

问题在于我的 jdk 使用了 jdk1.7 重新配置 jdk1.8

再启动即可

 启动成功后可以浏览器访问 http://mini61:8080 界面查看集群状态(主节点)

或者执行jsp 命令查看进程:

 

4

扩展内容

Spark集群安装完毕,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,配置方式比较简单:

Spark集群规划:node1,node2是Master;node3,node4,node5是Worker

安装配置zk集群,并启动zk集群

停止spark所有服务,修改配置文件spark-env.sh,在该配置文件中删掉SPARK_MASTER_IP并添加如下配置

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1,zk2,zk3 -Dspark.deploy.zookeeper.dir=/spark"

1.在node1节点上修改slaves配置文件内容指定worker节点

2.在node1上执行sbin/start-all.sh脚本,然后在node2上执行sbin/start-master.sh启动第二个Master

 

欢迎关注微信公众号:大数据专栏

qrcode

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值