大数据学习06-Spark分布式集群部署

Spark完全分布式部署

前期准备,每台服务器都需要配置

配置好IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33

shell 复制代码
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="bcd315b9-9d9a-4ad7-8f75-9546f71e49a4"
DEVICE="ens33"
ONBOOT="yes"

IPADDR=192.168.245.200 #IP地址
GATEWAY=192.168.245.1  #默认网关
NETWORK=255.255.255.0  #子网掩码
DNS1=114.114.114.114   #DNS
DNS2=8.8.8.8

修改主机名
vi /etc/hostname

做好IP映射
vim /etc/hosts

shell 复制代码
192.168.245.200 master
192.168.245.201 slave1
192.168.245.202 slave2

关闭防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

配置SSH免密登录
ssh-keygen -t rsa

shell 复制代码
for i in {1..2};do scp -r ~/.ssh/authorized_keys root@slave${i}:~/.ssh/;done

安装Scala

下载Scala安装包

shell 复制代码
tar -zxvf scala-2.11.12.tgz -C /home/local

配置环境变量

shell 复制代码
vim /etc/profile

添加如下配置

shell 复制代码
export SCALA_HOME=/home/local/scala
export PATH=$SCALA_HOME/bin:$PATH

使环境生效

shell 复制代码
source /etc/profile

验证

shell 复制代码
scala -version

安装spark

Spark官网

解压

上传软件安装包至linux系统 /home/tools目录下

shell 复制代码
tar -zxvf spark-2.2.3-bin-hadoop2.6.tgz -C /home/local

移动文件目录至spark

shell 复制代码
mv spark-2.2.3-bin-hadoop2.6 spark

配置环境

shell 复制代码
export SPARK_HOME=/home/local/spark
export PATH=$PATH:${SPARK_HOME}/bin:${SPARK_HOME}/sbin

修改配置

进入${SPARK_HOME}/conf路径下,拷贝spark-env.sh.template为spark-env.sh

shell 复制代码
cp spark-env.sh.template spark-env.sh

修改spark-env.sh文件

shell 复制代码
vim spark-env.sh

添加如下配置

shell 复制代码
export JAVA_HOME=/home/local/java

export SCALA_HOME=/home/local/scala

export SPARK_DIST_CLASSPATH=$(/home/local/hadoop/bin/hadoop classpath)

export HADOOP_CONF_DIR=/home/local/hadoop/etc/hadoop
#指定spark主节点,通过主机映射
export SPARK_MASTER_HOST=master
#指定从节点worker并行数量
export SPARK_WORKER_CORES=2
#指定内存大小
export SPARK_WORKER_MEMORY=2g
#指定主节点端口
export SPARK_MAETER_PORT=7070

拷贝slave.template为slaves

shell 复制代码
cp slaves.template slaves

修改slaves文件

shell 复制代码
[root@master conf]# vim slaves
master
slave1
slave2

分发spark目录至每个服务器节点

shell 复制代码
for i in {1..2};do scp -r /home/local/spark/ root@slave${i}:/home/local/;done

在${SPARK_HOME}/sbin目录下启动spark

shell 复制代码
./start-all.sh
相关推荐
武子康1 小时前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康1 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天1 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库5 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
AI周红伟5 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体