前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark 集群环境部署

Spark 集群环境部署

作者头像
用户5252199
发布2022-04-18 13:40:03
7990
发布2022-04-18 13:40:03
举报
文章被收录于专栏:大数据技术博文

本篇主要记录一下Spark 集群环境搭建过程以及在搭建过程中所遇到的问题及解决方案

主体分为三步 :

一 :基础环境配置

二 :安装包下载

三 :Spark 集群配置文件修改

四 :启动spark master / slaves

五 :编写脚本

一 :基础环境配置

本部分具体步骤可以参考Hadoop集群搭建中的前半部分关于Linux环境搭建以及系统环境配置

二 :安装包下载

下载链接 :http://spark.apache.org/downloads.html

在这里选择Spark对应的Hadoop版本

三 :Spark配置修改

需要修改的文件:

1:conf/spark-env

2 : conf/slaves

3 : sbin/spark-config.sh

Spark-env 配置

export SPARK_MASTER_IP=hadoop01 // spark master进程运行节点地址 export SPARK_MASTER_PORT=7077 // spark master进程运行节点端口 export SPARK_WORKER_CORES=1 // 每个work使用的核数 export SPARK_WORKER_INSTANCES=1 // 每个节点运行的work数量 export SPARK_WORKER_MEMORY=512m // 每个节点运行work使用的内存大小

slaves配置

添加spark slaves节点host节点

hadoop01

hadoop02

hadoop03

四 :启动Spark master slaves

可以单独启动master ./sbin/start-master.sh

单独启动slave ./sbin/start-slave.sh

或者一键全部启动 ./sbin/start-all.sh

有一处错误提示 hadoop01 JAVA_HOME is not set

进入hadoop01节点,在spark-env.sh 出添加JAVA_HOME=/home/opt/java JDK目录

然后再次启动成功 :

打开浏览器访问hadoop01:8080或者 192.168.17.140:8080

可以看到spark的运行信息

liubin

异常处理 :

1 :异常信息 :在启动( start-all.sh )时,master节点 master和word进程都启动成功,但是另外两个节点work进程一直启动不起来,异常信息如下: Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/fs/ FSDataInputStream

解决方式 :

1 :将master的防火墙关闭

2 :检查slave节点的spark文件是否与master节点的文件一致,我这里导致的问题是从master节点分发到slave节点时,过程中断导致缺少文件

2 :异常信息 :在启动spark-shell时,报如下的异常

解决方式 :

1 :首先查看问题的描述,注意查看最下端的error

异常提示提炼出来如下几句:

java.lang.IllegalArgumentException: Error while instantiating ‘org.apache.spark.sql.hive.HiveSessionState’:

Caused by: java.lang.RuntimeException: java.net.ConnectException: Call From hadoop01/192.168.17.140 to hadoop01:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

<console>:14: error: not found: value spark import spark.implicits._ ^ <console>:14: error: not found: value spark import spark.sql ^

解决思路:

1:定位问题,第一段提示初始化hivesessinstate异常

2:从hadoop01连接到9000失败

3:没有找到spark.implicits._ ,spark.sql 包

解决:

起初以为是版本问题,就重新下载了一个版本,并且将本机的hadoop所有相关进程全部暂停,结果新版本本机启动依旧是这个问题

在仔细查看了一下配置,没有对于9000端口的配置,9000端口是hdfs core-site.xml 中的配置 ,经过上网查看资料得知,spark-shell启动时,会检测hadoop环境,如果检测到有hadoop就会去试图链接hadoop。

解决方法 :

1 :确保期间,重启所有节点

2 :删除 /tmp 下的所有文件

3 :namenode 格式化

4 : 启动hadoop所有进程

5 :启动spark-shell 成功

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据技术博文 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 :基础环境配置
  • 二 :安装包下载
  • 三 :Spark配置修改
  • 四 :启动Spark master slaves
  • 异常处理 :
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档