centos7下spark-2.3.0集群搭建
环境准备
1.服务器概览
hostname | ip | 说明 |
---|---|---|
node1.spark | 192.168.2.140 | node1r节点(master) |
node2.spark | 192.168.2.141 | node2节点 |
node3.spark | 192.168.2.142 | node3节点 |
分别在三台服务器上执行以下命令
#添加host
[root@node1 ~] vim /etc/hosts
192.168.2.140 node1.spark
192.168.2.141 node2.spark
192.168.2.142 node3.spark
#执行以下命令关闭防火墙
[root@node1 ~]systemctl stop firewalld && systemctl disable firewalld
[root@node1 ~]setenforce 0
#将SELINUX的值改成disabled
[root@node1 ~]vim /etc/selinux/config
SELINUX=disabled
#重启服务器
[root@node1 ~]reboot
2.配置免密码登录
#node1执行以下命令
#生成密钥Pair,输入之后一直选择enter即可。生成的秘钥位于 ~/.ssh文件夹下
[root@node1 ~]# ssh-keygen -t rsa
[root@node1 .ssh]# scp /root/.ssh/id_rsa.pub [email protected]:~
[root@node1 .ssh]# scp /root/.ssh/id_rsa.pub [email protected]:~
##node1,node2 执行以下命令
[root@node2 ~]# mkdir -p ~/.ssh
[root@node2 ~]# cd .ssh/
[root@node2 .ssh]# cat ~/id_rsa.pub >> authorized_keys
[root@node2 .ssh]# vim /etc/ssh/sshd_config
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes
3.JDK安装
#配置环境变量
[root@node1 ~]# vim /etc/profile
# 在最后下添加
# Java Environment Path
export JAVA_HOME=/opt/java/jdk1.8.0_172
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 刷新配置文件
source /etc/profile
4.SCALA安装
#解压scala-2.12.5.tgz
#配置环境变量
[root@node1 ~]# vim /etc/profile
# 在最后下添加
export SCALA_HOME=/opt/scala/scala-2.12.5
export PATH=$PATH:$SCALA_HOME/bin
# 刷新配置文件
source /etc/profile
spark安装
配置环境变量
#解压spark-2.3.0-bin-hadoop2.7.tgz
#配置环境变量
[root@node1 ~]# vim /etc/profile
# 在最后下添加
export SPARK_HOME=/opt/spark/spark-2.3.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
# 刷新配置文件
source /etc/profile
配置Spark环境
[root@node1 ~]# cd /opt/spark/spark-2.3.0-bin-hadoop2.7/conf
[root@node1 ~]# cp spark-env.sh.template spark-env.sh
[root@node1 ~]# vim spark-env.sh
# 在最后下添加
export JAVA_HOME=/opt/java/jdk1.8.0_172
export SCALA_HOME=/opt/scala/scala-2.12.5
export HADOOP_HOME=/opt/hadoop/hadoop-3.1.0
export HADOOP_CONF_DIR=/opt/hadoop/hadoop-3.1.0/etc/hadoop
export SPARK_MASTER_IP=node1.spark
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
变量说明
- JAVA_HOME:Java安装目录
- SCALA_HOME:Scala安装目录
- HADOOP_HOME:hadoop安装目录
- HADOOP_CONF_DIR:hadoop集群的配置文件的目录
- SPARK_MASTER_IP:spark集群的Master节点的ip地址
- SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小
- SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目
- SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目
修改slaves文件
[root@node1 ~]# cp slaves.template slaves & vi slaves
# 在最后下添加
node2.spark
node3.spark
同步node2.spark和node3.spark的配置
[root@node1 ~]# scp -r spark node2.spark:/opt/
[root@node1 ~]# scp -r spark node3.spark:/opt/
启动Spark
[root@node1 ~]# ./sbin/start-all.sh
暂停Spark
[root@node1 ~]# ./sbin/stop-all.sh