Spark集群安装配置

本文详细介绍了如何规划和配置一个Spark集群,包括确定节点资源、角色分配、环境变量设置、配置文件修改以及集群的启动和停止。还提供了错误排查方法,如检查端口和日志。此外,强调了配置文件`spark-env.sh`和`workers`中的关键参数,如`SPARK_WORKER_MEMORY`、`SPARK_MASTER_IP`等,并提到了HDFS配置文件的同步。
摘要由CSDN通过智能技术生成

Spark集群安装配置

集群规划

Spark集群的规划要确定以下问题:
(1)集群结点数,每个结点资源:5个结点,每个结点 4个core,8GB内存,磁盘空间
(2)结点机器名和IP地址
(3)Sparky与HDFS是否混合部署
(4)主从结点个数及对应角色

序号机器名IP地址HDFS角色Sparke角色备注
1westgisB05810.103.105.58client提交任务,集群管理
2westgisB05910.103.105.59DataNodeWorkerDataNode与Worker共存
3westgisB06010.103.105.60DataNodeWorkerDN与Worker共存
4westgisB06110.103.105.61DataNodeWorkerDN与Worker共存
5westgisB06210.103.105.62NameNode SNNMasterNN与Master共存
6westgisB06310.103.105.63DataNodeWorkerDN与Worker共存

安装配置流程

环境变量配置文件

所有用户有效:/etc/profile
单个用户有效:/home/CCX/.bashrc
以后者为例,在.bashrc中追加以下内容:

#SPARK
export SPARK_HOME=/home/CCX/software/spark-3.1.1-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:$PATH

#SCALA
export SCALA_HOME=/home/CCX/software/scala-2.12.13
export PATH=${SCALA_HOME}/bin:$PATH

配置文件$SPARK_HOME/config/spark-env.sh

在文件中增加如下内容:

export  JAVA_HOME=/home/CCX/software/jdk1.8.0_271
export  SCALA_HOME=/home/CCX/software/scala-2.12.13
export  SPARK_WORKER_MEMORY=8G
export  SPARK_WORKER_CORES=4
export  SPARK_WORKER_INSTANCES=1
export  SPARK_MASTER_IP=10.103.105.62
export SPARK_DIST_CLASSPATH=$(/home/CCX/software/hadoop-2.7.6/bin/hadoop classpath)
export  HADOOP_CONF_DIR=/home/CCX/software/hadoop-2.7.6/etc/hadoop
export  SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 "

以上参数的意义为:

  1. SPARK_WORKER_MEMORY ,可参与计算的内存大小;
  2. SPARK_WORKER_CORE,可参与计算的核心数;
  3. SPARK_WORKER_INSTANCES该节点Worker实例的个数;
  4. SPARK_MASTER_IP,主节点的IP地址;
  5. SPARK_DIST_CLASSPATH,依赖包的路劲,可设置多个路径;
  6. HADOOP_CONF_DIR,Hadoop配置文件路径;

配置文件$SPARK_HOME/conf/workers

在workers文件中增加从节点的机器名:

westgisB059
westgisB060
westgisB061
westgisB063

配置文件远程拷贝

为了使Spark集群中的每个计算任务都能够直接访问HDFS,需要将HADOOP_HOME/etc/hadoop中的配置文件hdfs-site.xmlcore-site.xml拷贝到SPARK_HOME/conf目录下。
将主节点的配置拷贝到其他从结点,可用xsync脚本

集群启动和停止

  1. 启动HDFS集群;
  2. 启动Spark集群:在主节点执行以下两个脚本:
$SPARK_HOME/sbin/start-master.sh
$SPARK_HOME/sbin/start-workers.sh
  1. 查看监控界面:浏览器输入:http://10.103.105.62:8080
  2. 查看结点进程:jps 或 ps aux|grep java
  3. 启动spark-shell交互式工具(master结点):spark-shell

    spark-shell
    –master spark://westgis102:7077
    –executor-cores 8
    –executor-memory 16G
    –total-executor-cores120
    –driver-cores 4
    –driver-memory 8G

–master参数指定Spark集群主节点的主机名和端口号;

–executor-cores代表每个executor进程分配的core(CPU核心)个数;

–executor-memory代表每个executor进程分配的内存大小;

–total-executor-cores代表需要的core的总个数,总个数除以–executor-cores就可以计算出executor进程的个数,此处为15个(120/8);

–driver-cores代表Driver进程需要的core个数;

–driver-memory代表Driver进程需要的内存大小。

6.集群关闭:先关闭Spark集群:

$SPARK_HOME/sbin/stop-workers.sh
$SPARK_HOME/sbin/stop-master.sh

后关闭HDFS集群。

错误排查方法

  1. 查看端口是否开启
    运行命令 netstat–tunlp|grep 8080 ,查看8080端口是否开启。

  2. 查看占用端口的进程
    运行命令lsof–i:8080,查看8080端口被那个进程占用。

  3. 查看 运行日志
    Spark主节点日志文件路径:

 $SPARK_HOME/logs/*-Master-.log
 $SPARK_HOME/logs/*-Master-.out

Spark从节点日志文件路径:

 $SPARK_HOME/logs/*-Worker-.log
 $SPARK_HOME/logs/*-Worker-.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值