当前位置:   article > 正文

Hadoop完全分布式集群搭建

hadoop完全分布式集群搭建


一、克隆

1.在虚拟机关机的状态下选择克隆

在这里插入图片描述

2.开始克隆

在这里插入图片描述

3.选择从当前状态创建

在这里插入图片描述

4.创建一个完整的克隆

在这里插入图片描述

5.选择新的虚拟机存储位置(选择内存充足的磁盘)

在这里插入图片描述

6.开始克隆

在这里插入图片描述

7.克隆完成

在这里插入图片描述

8.同样的方法克隆第二台虚拟机

在这里插入图片描述

9.在计算机中存在三台虚拟机

在这里插入图片描述

将第一台虚拟机更名为hadoop01
在这里插入图片描述

修改hadoop01的主机名为hadoop01

在这里插入图片描述

修改hadoop02的主机名为hadoop02

在这里插入图片描述

同样的方式修改hadoop03的主机名为hadoop03

在这里插入图片描述

二、网络配置

查看三台虚拟机IP地址,该地址为动态分配

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

设置三台主机IP地址为固定地址:

  1. 点击【编辑】——【虚拟网络编辑器】
    在这里插入图片描述

  2. 【选择VMnet】模式——【NAT设置】
    在这里插入图片描述

  3. 输入自己设置的子网IP和子网掩码

我这里设置的 子网IP:192.168.10.0
子网掩码:255.255.255.0

在这里插入图片描述hadoop01主机设置固定IP地址:
输入命令:

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改文件信息:

IPADDR=192.168.10.131
GATEWAY=192.168.10.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
执行命令重启网络服务:

systemctl restart network.service

![在这里插入图片描述](https://img-blog.csdnimg.cn/1c6a97ea69b14677a05b37727d1a407f.png

查看配置后的网络信息:

ifconfig

这里是引用

hadoop02和hadoop03配置方法和hadoop01方法一致

这里是引用
在这里插入图片描述

三、SSH服务配置

使用Xshell工具继续操作较为方便,所以我以下的操作均在Xshell中进行

分别连接三台主机(【新建连接】——【输入主机IP】——【连接】)
在这里插入图片描述
采用输入主机名称与密码的方式进行连接
在这里插入图片描述

成功连接三台主机

在这里插入图片描述

添加主机名与IP地址的映射关系

在hadoop01、hadoop02和hadoop03三台主机中分别添加主机名与IP地址的映射关系

执行命令:

sudo vi /etc/hosts

在这里插入图片描述

内容如下:
在这里插入图片描述

复制hadoop01的公钥到hadoop02和hadoop03中
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

验证免密码登录

在这里插入图片描述

四、hadoop完全分布式配置

Hadoop完全分布式配置目标:

hadoop01hadoop02hadoop03
NameNode进程DataNode进程DataNode进程
ResourceManager进程NodeManage进程NodeManage进程
\SecondaryNameNode进程\

配置主节点

进入hadoop目录下执行命令

cd /usr/local/java/hadoop-2.7.7/etc/hadoop

在这里插入图片描述

修改core-site.xml文件

sudo vi core-site.xml

在这里插入图片描述

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/java/hadoop-2.7.7/tmp</value>
        </property>
</configuration>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

修改hdfs-site.xml

在这里插入图片描述

sudo vi hadf-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop02:50090/</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/java/hadoop-2.7.7/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/java/hadoop-2.7.7/dfs/data</value>
        </property>
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>

        <property>
                <name>dfs.support.append</name>
                <value>true</value>
        </property>
</configuration>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

修改mapred-site.xml文件

在这里插入图片描述

sudo vi mapred-site.xml

在这里插入图片描述

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
                <property>
                        <name>mapreduce.jobtracker.address</name>
                        <value>hadoop01:9001</value>
                </property>
</configuration>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

修改yarn-site.xml文件

在这里插入图片描述

sudo vi yarn-site.xml

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop01</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>604800</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>hadoop01:8099</value>
        </property>
        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>1024</value>
        </property>
        <property>
                <name>yarn.nodemanager.resource.cpu-vcores</name>
                <value>1</value>
        </property>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

修改slaves文件

sudo vi slaves

在这里插入图片描述
slaves的内容如下:

在这里插入图片描述

在主节点hadoop01中格式化文件系统

输入命令之前需要将三台主机的防火墙关闭

  1. 查看防火墙状态:sudo systemctl status firewalld
  2. 关闭防火墙:sudo systemctl stop firewalld
  3. 重启后还想防火墙处于关闭状态:sudo systemctl disable firewalld

建议执行顺序:【1】——【2】——【3】

关闭前:

在这里插入图片描述

关闭后:

在这里插入图片描述

在主节点hadoop01中格式化文件系统

输入命令hdfs namenode -format或者hadoop namenode -format

在这里插入图片描述

集群格式化成功

在这里插入图片描述

分发配置文件

注意:如果是第二次或者多次执行格式化操作,在进行分发配置文件之前,需要将hadoop01、hadoop02、hadoop03下的hadoop-2.7.7/dfs目录下的name和data目录全部删掉后,再进行拷贝操作。

删除后文件夹为空:

在这里插入图片描述
将hadoop01节点下的hadoop-2.7.7拷贝给hadoop02和hadoop03

执行命令:

scp -r /usr/local/java/hadoop-2.7.7 hadoop02:/usr/local/java/

scp -r /usr/local/java/hadoop-2.7.7 hadoop03:/usr/local/java/

在这里插入图片描述
启动和查看Hadoop进程

在hadoop01节点启动服务

start-all.sh

在这里插入图片描述

输入jsp查看进程

hadoop01节点进程
在这里插入图片描述

hadoop02节点进程
在这里插入图片描述

hadoop03节点进程
在这里插入图片描述

关闭所有进程:
stop-all.sh

搭建过程中遇到的问题: hadoop02节点没有出现SecondaryNameNode节点,关闭集群时出现no
resourcemanager to stop、no nodemanager to stop、no namenode to stop、no
datanode to stop,但是相关进程都真实存在,并且可用。

失败原因:当启动节点服务的过程中没有指定pid的存放位置,hadoop默认会放在Linux的/tmp目录下,进程名命名规则一般是框架名-用户名-角色名.pid,而默认情况下/tmp里面的东西会自动清除,因为pid不存在,所以执行stop相关命令的时候找不到pid,也就无法停止相关进程。

解决方法: 使用自定义进程存放目录

修改配置文件hadoop-env.sh 如果没有相关的配置,就直接进行添加
在这里插入图片描述

修改配置文件mapred-env.sh
在这里插入图片描述

修改配置文件yarn-env.sh

在这里插入图片描述

以上文件配置好以后,启动hdfs和yarn,启动成功后查看jps,进程都存在,pidDir目录下有以下文件:
yarn-ttj-nodemanager.pid
yarn-ttj-resourcemanager.pid
hadoop-ttj-namenode.pid
hadoop-ttj-secondarynamenode.pid
hadoop-ttj-datanode.pid

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/467508
推荐阅读
相关标签
  

闽ICP备14008679号