spark3.0 分布式集群搭建

Spark 集群环境搭建-exsi
1、虚拟机环境配置
进入管理界面
创建虚拟机

在这里插入图片描述

在这里插入图片描述

后续选择存储空间位置
3处选择存储目录中的 centos7,安装过程略
在这里插入图片描述

如法炮制建立三个虚拟机

在这里插入图片描述

ssh连接 此处使用的软件是MobaXterm

在这里插入图片描述

2、虚拟机基础配置
需要配置的是
1、网卡开机自动启动,与静态ip
2、修改主机名称
3、关闭centos 防火墙
4、host配置
5、时区设置
6、ssh免密码连接
2.1 网卡开机启动与静态ip
进入该目录

cd /etc/sysconfig/network-scripts/
ls

此处应该有 ifcfg-ensxxx
如 ifcfg-ens192
在这里插入图片描述

使用vi命令编辑对应的 ifcfg-ensxxx

vi ifcfg-ens192

对应的字段解释如下
DEVICE 接口名(设备,网卡)
USERCTL [yes|no](非root用户是否可以控制该设备)
BOOTPROTO IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
HWADDR MAC地址
ONBOOT 系统启动的时候网络接口是否有效(yes/no)
TYPE 网络类型(通常是Ethemet)
NETMASK 网络掩码
IPADDR IP地址
IPV6INIT IPV6是否有效(yes/no)
GATEWAY 默认网关IP地址
BROADCAST 广播地址
NETWORK 网络地址
我们需要增加或者修改的是

ONBOOT=yes #开机启动
BOOTPROTO=static#静态IP
IPADDR=xxx.xxx.xxx.xxx #本机地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=xxx.xxx.xxx.xxx #默认网关

其中xxx要改成该主机的ip地址与默认网关
在这里插入图片描述

然后输入下面命令重启网络服务

service network restart

在这里插入图片描述

使用

ip addr

查询到修改后的信息
在这里插入图片描述

2.2 修改主机名
centos7 有一个命令 hostnamectl 可以方便的查询修改主机名称

hostnamectl  #查看主机详细信息

hostnamectl set-hostname spark0 #修改主机名为spark0 

hostname #查看主机名

在这里插入图片描述

2.3关闭centos 防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2.4 host 设置
其他两台机器配置完成后
将每台机器的ip信息添加入 /etc/hosts 文件中

vi /etc/hosts

如图 ip地址 + 主机名称

在这里插入图片描述

2.5时区设置
命令

timedatectl set-timezone Asia/Shanghai (这里是设置亚洲上海上海)

timedatectl # 查看系统时间方面的各种状态

在这里插入图片描述

2.6 ssh免密码连接
命令

ssh-keygen -t rsa #输入完成后一直按回车直到结束

#此时会在/home/usera/.ssh目录下生成密钥对

ssh-copy-id spark0
ssh-copy-id spark1
ssh-copy-id spark2

每台机器都要互相经行ssh面密登录的配置
在这里插入图片描述

验证ssh 免密登录
在这里插入图片描述

3 虚拟机基础环境搭建
需要搭建
1、java环境
2、hadoop环境
3、spark环境
3.1 java环境的搭建

mkdir -p /opt/software #创建文件夹
cd /opt/software/ #然后进入此目录

将java安装包存储到此目录

将java安装包解压到此目录

tar -zxvf xxx #xxx为jdk压缩包名称

在这里插入图片描述

在这里插入图片描述

然后设置环境变量

vi /etc/profile

拉到文件尾部 添加

##JAVA_HOME
export JAVA_HOME=/opt/software/jdk1.8.0_301
export PATH=$PATH:$JAVA_HOME/bin 

在这里插入图片描述

source /etc/profile #使配置立即生效
java -version

检查配置成功

在这里插入图片描述

3.2 hadoop环境配置
在 /opt/software上传hadoop 安装包

在这里插入图片描述

使用tar 命令解压安装包

tar -zxvf hadoop-3.2.2.tar.gz

设置hadoop环境变量
在profile中写入

##HADOOP_HOME
export HADOOP_HOME=/opt/software/hadoop-3.2.2/
export PATH==$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile #生效配置

需要配置
hadoop-env.sh
core-site.xml
hdfs-site.xml
yarn-site.xml

vi workers #修改节点文件写入以下三行
spark0
spark1
spark2

cd /opt/software/hadoop-3.2.2/etc/hadoop/ #进入hadoop配置文件存放的目录
vi core-site.xml #configuration 中添加以下内容

<property>
         <name>fs.defaultFS</name>
         <value>hdfs://spark0:9000</value>
        </property>
        <!-- hadoop运行时产生的文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/software/hadoop-3.2.2/tmp</value>
</property>

vi hdfs-site.xml #configuration 标签中添加以下内容

<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>spark0:50090</value>
    </property>
<property>
  <name>dfs.namenode.http-address</name>
  <value>spark0:50070</value>
</property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/hadoop/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/hadoop/hdfs/datanode</value>
    </property>

vi yarn-site.xml #configuration 中添加以下内容

<property>
            <name>yarn.resourcemanager.hostname</name>
            <value>spark0</value>
        </property>
        <!-- reducer获取数据的方式 -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
         <property>
                    <name>yarn.nodemanager.local-dirs</name>
                    <value>file:///data/hadoop/yarn/namenode</value>
          </property>
vi maped-site.xml #configuration 中添加以下内容

<property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
       </property>
<property>
       <name>mapreduce.jobhistory.address</name>
       <value>spark0:10020</value>
   </property>
   <property>
       <name>mapreduce.jobhistory.webapp.address</name>
       <value>spark0:19888</value>
   </property>vi hadoop-env.sh
vi hadoop-env.sh  #添加以下内容

export JAVA_HOME=/opt/software/jdk1.8.0_301

为运行文件增加管理员运行条件

cd /opt/software/hadoop-3.2.2/sbin

vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=yarn
YARN_NODEMANAGER_USER=root
vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=yarn
YARN_NODEMANAGER_USER=root

mkdir命令创建所需要的文件夹

mkdir -p /data/hadoop/yarn/namenode
mkdir -p /data/hadoop/hdfs/namenode
mkdir -p /data/hadoop/hdfs/datanode

使用scp 命令,将文件复制到另外两个节点中去

scp -r /opt/software/ spark2:/opt/
scp -r /opt/software/ spark1:/opt/

scp -r /data/hadoop spark1:/data/
scp -r /data/hadoop spark2:/data/

scp  /etc/profile spark2:/etc/profiles
scp  /etc/profile spark1:/etc/profile

source /etc/profile #在每个节点上更新配置
在spark0 上:
hdfs namenode -format #格式化namenode
start-all.sh
jps#使用该命令查看hadoop是否正常启动

spark0

在这里插入图片描述

spark1

在这里插入图片描述

spark2
在这里插入图片描述

访问spark0:8088

在这里插入图片描述

访问spark0:50070

在这里插入图片描述

3.2 spark的分布式部署

下载spark和scala安装包
spark-3.0.0-bin-hadoop3.2.tgz
scala-2.12.0.tgz

cd /opt/software/ 
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz
tar -zxvf scala-2.12.0.tgz

配置spark配置文件

cd conf
cp spark-env.sh.template spark-env.sh #建立配置文件
vi spark-env.sh #文件中写入下列内容

export HADOOP_CONF_DIR=/opt/software/hadoop-3.2.2/etc/hadoop/ ##hadoop 配置文件夹
export JAVA_HOME=/opt/software/jdk1.8.0_301/
export HADOOP_HOME=/opt/software/hadoop-3.2.2/ 
export SPARK_MASTER_HOST=spark0 ##spark主节点
export SPARK_LOCAL_DIRS=/opt/software/spark-3.0.0-bin-hadoop3.2/ 
export SCALA_HOME=/opt/software/scala-2.12.0/ 
export SPARK_DIST_CLASSPATH=$(/opt/software/hadoop-3.2.2/bin/hadoop classpath) ##hadoop文件 

在这里插入图片描述

vi slaves #写入节点内容

spark0
spark1
spark2
vi /etc/profile #底部写入以下内容

##SCALA_HOME
export HADOOP_HOME=/opt/software/scala-2.12.0/
export PATH==$PATH:$SCALA_HOME/bin

source /etc/profile #写入后立即生效

在这里插入图片描述

使用scp命令,分发文件

scp -r /opt/software/scala-2.12.0 spark2:/opt/software/
scp -r /opt/software/scala-2.12.0 spark1:/opt/software/

scp -r /opt/software/spark-3.0.0-bin-hadoop3.2 spark2:/opt/software/
scp -r /opt/software/spark-3.0.0-bin-hadoop3.2 spark1:/opt/software/

scp /etc/profile spark2:/etc/profile 
scp /etc/profile spark1:/etc/profile 

再从每个机器上使用

source /etc/profile #写入后立即生效

在sprak0 中

cd /opt/software/hadoop-3.2.2/sbin/
./start-all.sh #先启动hadoop


/opt/software/spark-3.0.0-bin-hadoop3.2/sbin/ 
./start-all.sh  #再启动sprak

访问spark0:8088 即可看到正常启动

在这里插入图片描述

jps 命令正常启动

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值