当前位置:   article > 正文

搭建完全分布式Hadoop_hadoop分布式搭建步骤

hadoop分布式搭建步骤

一、Hadoop集群规划

在这里插入图片描述

二、在主节点上配置Hadoop

(一)登录虚拟机

  • 登录三个虚拟机
    在这里插入图片描述

(二)设置主机名

在这里插入图片描述

(三)主机名与IP地址映射

  • 执行命令:vim /etc/hosts
    在这里插入图片描述

(四)关闭与禁用防火墙

在这里插入图片描述

(五)配置免密登录

在这里插入图片描述

(六)配置JDK

在这里插入图片描述

export JAVA_HOME=/usr/local/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 1
  • 2
  • 3

(七)配置Hadoop

1、上传安装包

  • 上传hadoop安装包
    在这里插入图片描述
  • 查看hadoop安装包
    在这里插入图片描述

2、解压缩安装包

  • 执行命令:tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local
    在这里插入图片描述
  • 查看解压后的目录
    在这里插入图片描述

3、配置环境变量

  • 执行命令:vim /etc/profile
    在这里插入图片描述
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 存盘退出,执行命令:source /etc/profile,让配置生效
    在这里插入图片描述
  • 查看hadoop版本,执行命令:hadoop version
    在这里插入图片描述

4、编辑Hadoop环境配置文件 - hadoop-env.sh

  • 进入hadoop配置目录,执行命令:cd $HADOOP_HOME/etc/hadoop
    在这里插入图片描述
  • 执行命令:vim hadoop-env.sh
    在这里插入图片描述
export JAVA_HOME=/usr/local/jdk1.8.0_231
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  • 1
  • 2
  • 3
  • 存盘退出,执行命令:source hadoop-env.sh,让配置生效
    在这里插入图片描述

5、编辑Hadoop核心配置文件 - core-site.xml

  • 执行命令:vim core-site
    在这里插入图片描述
<configuration>
    <!--用来指定hdfs的老大-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!--用来指定hadoop运行时产生文件的存放目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

6、编辑HDFS配置文件 - hdfs-site.xml

  • 执行命令:vim hdfs-site.xml
    在这里插入图片描述
<configuration>
    <!--设置名称节点的目录-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/namenode</value>
    </property>
    <!--设置数据节点的目录-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/datanode</value>
    </property>
    <!--设置辅助名称节点-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <!--hdfs web的地址,默认为9870,可不配置-->
    <!--注意如果使用hadoop2.x,默认为50070-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:9870</value>
    </property>
    <!--副本数,默认为3-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--是否启用hdfs权限,当值为false时,代表关闭-->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</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
  • 29
  • 30
  • 31
  • 32
  • 33

7、编辑MapReduce配置文件 - mapred-site.xml

  • 执行命令:vim mapred-site.xml
    在这里插入图片描述
<configuration>
    <!--配置MR资源调度框架YARN-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

8、编辑YARN配置文件 - yarn-site.xml

  • 执行命令:vim yarn-site.xml
    在这里插入图片描述
<configuration>
    <!--配置资源管理器:master-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!--配置节点管理器上运行的附加服务-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错-->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

9、编辑数据节点文件 - workers

  • 执行命令:vim workers
    在这里插入图片描述

三、从主节点分发到从节点

(一)从master节点分发到slave1节点

1、分发JDK

  • 执行命令:scp -r $JAVA_HOME root@slave1:$JAVA_HOME(注意,拷贝目录,一定要加-r选项)
    在这里插入图片描述
  • 在slave1节点上查看拷贝的JDK目录
    在这里插入图片描述

2、分发Hadoop

  • 执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
    在这里插入图片描述
  • 在slave1节点上查看拷贝的hadoop目录
    在这里插入图片描述

3、分发环境配置文件

  • 执行命令:scp /etc/profile root@slave1:/etc/profile
    在这里插入图片描述

4、刷新环境配置文件

  • 在slave1节点上执行命令:source /etc/profile
    在这里插入图片描述

5、查看jdk和hadoop版本

  • 在slave1节点上执行命令:java -version
    在这里插入图片描述
  • 在slave1节点上执行命令:hadoop version
    在这里插入图片描述

6、分发主机名IP地址映射文件

  • 执行命令:scp /etc/hosts root@slave1:/etc/hosts
    在这里插入图片描述

(二)从master节点分发到slave2节点

1、分发JDK

  • 执行命令:scp -r $JAVA_HOME root@slave2:$JAVA_HOME(注意,拷贝目录,一定要加-r选项)
    在这里插入图片描述
  • 在slave2节点上查看拷贝的JDK目录
    在这里插入图片描述

2、分发Hadoop

  • 执行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME
    在这里插入图片描述
  • 在slave2节点上查看拷贝的hadoop目录
    在这里插入图片描述

3、分发环境配置文件

  • 执行命令:scp /etc/profile root@slave2:/etc/profile
    在这里插入图片描述

4、刷新环境配置文件

  • 在slave2节点上执行命令:source /etc/profile
    在这里插入图片描述

5、查看jdk和hadoop版本

  • 在slave2节点上执行命令:java -version
    在这里插入图片描述

  • 在slave2节点上执行命令:hadoop version
    在这里插入图片描述

6、分发主机名IP地址映射文件

  • 执行命令:scp /etc/hosts root@slave2:/etc/hosts
    在这里插入图片描述

四、格式化名称节点

  • 执行命令:hdfs namenode -format
    在这里插入图片描述
    在这里插入图片描述
  • common.Storage: Storage directory /usr/local/hadoop-3.3.4/tmp/namenode has been successfully formatted. 表明名称节点格式化成功。

五、启动Hadoop集群

  • 启动hadoop服务,执行命令:start-all.sh
    在这里插入图片描述
  • 查看进程,执行命令:jps
    在这里插入图片描述
  • 如果缺少进程,大多是因为响应的配置文件有问题,请仔细对照检查
  • hadoop-env.sh没有刷新,导致HADOOP_CONF_DIR环境变量找到不到
  • core-site.xmlfs.defaultFS写成了fs.defaultFs,导致启动Hadoop之后,没有HDFS的三个进程:NameNodeSecondaryNameNodeDateNode
    在这里插入图片描述

六、初试HDFS Shell

在这里插入图片描述

(一)查看目录

1、命令

  • hdfs dfs -ls <路径>

2、演示

  • 执行命令:hdfs dfs -ls /
    在这里插入图片描述

(二)创建目录

1、创建单层目录

(1)命令
  • hdfs dfs -mkdir <单层目录>
(2)演示
  • 执行命令:hdfs dfs -mkdir /BigData
    在这里插入图片描述
  • 在slave1节点上查看新建的目录
    在这里插入图片描述

2、创建多层目录

(1)命令
  • hdfs dfs -mkdir -p <多层目录>
(2)演示
  • 在slave1节点上执行命令:hdfs dfs -mkdir -p /china/sichuan/luzhou/lzy
    在这里插入图片描述
  • 在master节点上查看新建的多层目录,执行命令:hdfs dfs -ls -R /china
    在这里插入图片描述
  • 说明:-R (- recursive)表示递归查看目录里全部东西

(三)上传文件

1、命令

  • hdfs dfs -put <文件> <路径>

2、演示

  • 执行命令:hdfs dfs -put /etc/hosts /BigData
    在这里插入图片描述
  • 查看上传的文件
    在这里插入图片描述
  • 执行命令:hdfs dfs -D dfs.replication=2 -put /etc/profile /BigData (上传文件时指定副本数)
    在这里插入图片描述
  • 查看上传的文件
    在这里插入图片描述
  • 修改副本数,执行命令:hdfs dfs -setrep 3 /BigData/profile
    在这里插入图片描述
  • 检验副本数是否已修改
    在这里插入图片描述

(四)查看文件内容

1、命令

  • hdfs dfs -cat <文件>

2、演示

  • 执行命令:hdfs dfs -cat /BigData/hosts
    在这里插入图片描述

(五)删除文件

1、命令

  • hdfs dfs -rm <文件>

2、演示

  • 执行命令:hdfs dfs -rm /BigData/hosts
    在这里插入图片描述
  • 查看文件是否真的被删除
    在这里插入图片描述

(六)删除目录

七、查看Hadoop WebUI

八、运行MR应用 - 词频统计

九、关闭Hadoop集群

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号