Spark完全分布式部署
- 前期准备,每台服务器都需要配置
- 安装Scala
- 下载Scala安装包
- 配置环境变量
- 安装spark
- 解压
- 配置环境
- 修改配置
前期准备,每台服务器都需要配置
配置好IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
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
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
for i in {1..2};do scp -r ~/.ssh/authorized_keys root@slave${i}:~/.ssh/;done
安装Scala
下载Scala安装包
tar -zxvf scala-2.11.12.tgz -C /home/local
配置环境变量
vim /etc/profile
添加如下配置
export SCALA_HOME=/home/local/scala
export PATH=$SCALA_HOME/bin:$PATH
使环境生效
source /etc/profile
验证
scala -version
安装spark
Spark官网
解压
上传软件安装包至linux系统 /home/tools目录下
tar -zxvf spark-2.2.3-bin-hadoop2.6.tgz -C /home/local
移动文件目录至spark
mv spark-2.2.3-bin-hadoop2.6 spark
配置环境
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
cp spark-env.sh.template spark-env.sh
修改spark-env.sh文件
vim spark-env.sh
添加如下配置
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
cp slaves.template slaves
修改slaves文件
[root@master conf]# vim slaves
master
slave1
slave2
分发spark目录至每个服务器节点
for i in {1..2};do scp -r /home/local/spark/ root@slave${i}:/home/local/;done
在${SPARK_HOME}/sbin目录下启动spark
./start-all.sh