centos7下spark-2.3.0集群搭建

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

猜你喜欢

转载自my.oschina.net/orrin/blog/1819927