VMWare上搭建大数据集群

发布于:2025-09-07 ⋅ 阅读:(25) ⋅ 点赞:(0)

1. 采用软件较新版本

  • 通过搭建集群,测试其兼容性
    在这里插入图片描述

2. 准备三台虚拟机

  • 主机名与IP地址
主机名 IP 地址
master 192.168.1.101
slave1 192.168.1.102
slave2 192.168.1.103
  • 三台虚拟机已经关闭与禁用防火墙,关闭selinux安全机制
  • FinalShell远程连接三台虚拟机
    在这里插入图片描述

3. 搭建Hadoop集群

3.1 在主节点上配置Hadoop

3.1.1 编辑映射文件

  • 执行命令:vim /etc/hosts
    在这里插入图片描述
  • 注意:IP地址与主机名之间只有一个半角空格

3.1.2 配置免密登录

  1. 生成RSA密钥对

    • 执行命令:ssh-keygen
      在这里插入图片描述
    • 执行命令后,连续敲3次回车,生成节点的公钥和私钥,生成的密钥文件id_rsa会自动放在/root/.ssh目录下。
    • 查看生成的密钥对
      • 私钥:id_rsa
      • 公钥:id_rsa.pub
    • 执行命令:ll /root/.ssh
      在这里插入图片描述
  2. 分发公钥

    • 发送给master虚拟机
      • 执行命令:ssh-copy-id root@master
        在这里插入图片描述
    • 发送给slave1虚拟机
      • 执行命令:ssh-copy-id root@slave1
        在这里插入图片描述
    • 发送给slave2虚拟机
      • 执行命令:ssh-copy-id root@slave2
        在这里插入图片描述
  3. 验证免密登录

    • 免密登录master虚拟机

      • 执行命令:ssh master
        在这里插入图片描述
    • 免密登录slave1虚拟机

      • 执行命令:ssh slave1
        在这里插入图片描述
    • 免密登录slave2虚拟机

      • 执行命令:ssh slave2
        在这里插入图片描述
  4. 查看密钥对目录

    • 执行命令:ll /root/.ssh
      在这里插入图片描述

    • 执行命令:cat /root/.ssh/authorized_keys,查看授权密钥
      在这里插入图片描述

    • 执行命令:cat /root/.ssh/known_hosts,查看已知主机
      在这里插入图片描述

3.1.3 配置JDK

  1. 上传安装包

    • 进入/opt目录

      • 执行命令:cd /opt
        在这里插入图片描述
    • 上传jdk安装包

      • 上传jdk安装包到/opt目录
        在这里插入图片描述
    • 查看jdk安装包

      • 执行命令:ll jdk-11.0.28_linux-x64_bin.tar.gz
        在这里插入图片描述
  2. 解压缩安装包

    • 解压缩

      • 执行命令:tar -zxvf jdk-11.0.28_linux-x64_bin.tar.gz -C /usr/local
        在这里插入图片描述
    • 查看解压目录

      • 执行命令:ll /usr/local/jdk-11.0.28
        在这里插入图片描述
  3. 配置环境变量

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

      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
      

      说明:设置CLASSPATH时,注意等号后有一个“.”,表示之前定义的类路径

    • 存盘退出,执行命令:source /etc/profile,让配置生效
      在这里插入图片描述

  4. 查看JDK版本

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

3.1.4 配置Hadoop

  1. 上传安装包

    • 上传安装包

      • 上传hadoop安装包:上传安装包到/opt目录
        在这里插入图片描述
    • 查看上传的hadoop安装包

      • 执行命令:ll hadoop-3.4.1.tar.gz
        在这里插入图片描述
  2. 解压缩安装包

    • 执行解压命令
      • 执行命令:tar -zxvf hadoop-3.4.1.tar.gz -C /usr/local
        在这里插入图片描述
    • 查看解压后的目录
      • 执行命令:ll /usr/local/hadoop-3.4.1
        在这里插入图片描述
    • 重要目录
      • bin:包含一些操作Hadoop集群的可执行文件
      • etc/hadoop:包含Hadoop的各种配置文件
      • sbin:主要存放管理Hadoop集群的系统级脚本
  3. 配置环境变量

    • 配置
      • 执行命令:vim /etc/profile
        在这里插入图片描述
        export HADOOP_HOME=/usr/local/hadoop-3.4.1
        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
        
    • 生效
      • 执行命令:source /etc/profile,让配置生效
        在这里插入图片描述
    • 查看版本
      • 执行命令:hadoop version
        在这里插入图片描述
  4. 编辑Hadoop环境配置文件

    • 进入配置目录
      • 执行命令:cd $HADOOP_HOME/etc/hadoop
        在这里插入图片描述
    • 编辑配置文件
      • 执行命令:vim hadoop-env.sh
        在这里插入图片描述

        export JAVA_HOME=/usr/local/jdk-11.0.28
        export HADOOP_HOME=/usr/local/hadoop-3.4.1
        export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
        
    • 让配置生效
      • 执行命令:source hadoop-env.sh
        在这里插入图片描述
  5. 编辑Hadoop核心配置文件

    • 执行命令:vim core-site.xml
      在这里插入图片描述

      <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.4.1/tmp</value>
          </property>
      </configuration>
      
  6. 编辑HDFS配置文件

    • 执行命令:vim hdfs-site.xml
      在这里插入图片描述

      <configuration>
          <!--设置名称节点目录-->
          <property>
              <name>dfs.namenode.dir</name>
              <value>/usr/local/hadoop-3.4.1/tmp/namenode</value>
          </property>
          <!--设置数据节点目录-->
          <property>
              <name>dfs.datanode.dir</name>
              <value>/usr/local/hadoop-3.4.1/tmp/datanode</value>
          </property>
          <!--设置辅助名称节点-->
          <property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>master:50090</value>
          </property>
          <!--设置HDFS的Web访问端口-->  
          <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>
      
  7. 编辑MapReduce配置文件

    • 执行命令:vim mapred-site.xml
      在这里插入图片描述

      <configuration>
          <!-- 配置MR资源调度管理器YARN -->
          <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
          </property>
          <!-- 设置MapReduce Application Master的环境变量 -->
          <property>
              <name>yarn.app.mapreduce.am.env</name>
              <value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.4.1</value>
          </property>
          <!-- 设置Map任务的环境变量 -->
          <property>
              <name>mapreduce.map.env</name>
              <value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.4.1</value>
          </property>
          <!-- 设置Reduce任务的环境变量 -->
          <property>
              <name>mapreduce.reduce.env</name>
              <value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.4.1</value>
          </property>
      </configuration>
      
  8. 编辑YARN配置文件

    • 执行命令:vim yarn-site.xml
      在这里插入图片描述

      <configuration>
          <!--配置资源管理器的主机名-->
          <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>
      
  9. 编辑数据节点文件

    • 执行命令:vim workers
      在这里插入图片描述
    • 三台虚拟机上都有数据节点(DataNode)

3.2 从主节点分发到从节点

  1. 从master节点分发到slave1节点
    • 分发JDK

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

      • 执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
        在这里插入图片描述

      • 在slave1节点上查看拷贝的hadoop目录
        在这里插入图片描述

    • 分发环境配置文件

      • 执行命令:scp /etc/profile root@slave1:/etc/profile
        在这里插入图片描述
    • 刷新环境配置文件

      • 在slave1节点上执行命令:source /etc/profile
        在这里插入图片描述
    • 查看jdk和hadoop版本

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

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

    • 分发映射文件

      • 执行命令:scp /etc/hosts root@slave1:/etc/hosts
        在这里插入图片描述
  2. 从master节点分发到slave2节点
    • 分发JDK

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

      • 执行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME
        在这里插入图片描述

      • 在slave2节点上查看拷贝的hadoop目录
        在这里插入图片描述

    • 分发环境配置文件

      • 执行命令:scp /etc/profile root@slave2:/etc/profile
        在这里插入图片描述
    • 刷新环境配置文件

      • 在slave2节点上执行命令:source /etc/profile
        在这里插入图片描述
    • 查看jdk和hadoop版本

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

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

    • 分发映射文件

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

3.3 格式化名称节点

  • 执行命令:hdfs namenode -format
    在这里插入图片描述
    在这里插入图片描述
  • 格式化成功信息:2025-09-05 04:56:23,324 INFO common.Storage: Storage directory /usr/local/hadoop-3.4.1/tmp/dfs/name has been successfully formatted.

3.4 启动Hadoop集群

  1. 启动服务

    • 执行命令:start-all.sh
      在这里插入图片描述
  2. 查看进程

    • 执行命令:jps
      在这里插入图片描述
  3. 简单说明

    • start-dfs.sh
      • NameNode
      • SecondaryNameNode
      • DataNode
    • start-yarn.sh
      • ResourceManager
      • NodeManager

3.5 使用Hadoop WebUI

  1. 查看HDFS集群状态

    • 端口号说明

      • hadoop2.x的端口号是50070,hadoop3.x的端口号是9870
    • 用主机名访问

      • 访问http://master:9870 在这里插入图片描述
      • 主节点状态:active
    • 用IP地址访问

      • 使用master主机的IP地址来访问,查看本机映射文件
        在这里插入图片描述

      • 访问http://192.168.219.83:9870
        在这里插入图片描述

    • 查看数据节点

      • 单击绿色导航栏上的【Datanodes】选项卡
        在这里插入图片描述
  2. 查看YARN集群状态

    • 在浏览器里查看http://master:8088
      在这里插入图片描述
    • 目前没有运行过的MR应用,因此表格里没有任何数据

3.6 运行MR应用:词频统计

  1. 在master虚拟机上准备数据文件

    • 执行命令:vim test.txt
      在这里插入图片描述
  2. 文件上传到HDFS指定目录

    • 创建HDFS目录

      • 执行命令:hdfs dfs -mkdir -p /wordcount/input
        在这里插入图片描述
    • 上传文件到HDFS

      • 执行命令:hdfs dfs -put test.txt /wordcount/input
        在这里插入图片描述
    • 查看上传的文件

      • 执行命令:hdfs dfs -ls /wordcount/input,查看文件信息
        在这里插入图片描述

      • 利用Hadoop WebUI查看
        在这里插入图片描述

      • 执行命令:hdfs dfs -cat /wordcount/input/test.txt,查看文件内容
        在这里插入图片描述

  3. 运行词频统计程序的jar包

    • 查看Hadoop自带示例jar包

      • 执行命令:cd $HADOOP_HOME/share/hadoop/mapreduce,切换到MR示例目录
        在这里插入图片描述
      • 执行命令:ls,列表显示目录信息
        在这里插入图片描述
      • 示例程序jar包:hadoop-mapreduce-examples-3.4.1.jar
    • 运行示例jar包里的词频统计

      • 执行命令:hadoop jar ./hadoop-mapreduce-examples-3.4.1.jar wordcount /wordcount/input/test.txt /wordcount/output
        在这里插入图片描述
        在这里插入图片描述
      • 查看作业号:2025-09-05 05:21:34,131 INFO mapreduce.Job: Running job: job_1757073655981_0001
    • 查看词频统计结果

      • 执行命令:hdfs dfs -ls /wordcount/output,查看结果文件
        在这里插入图片描述

      • 一个是成功标识文件:_SUCCESS,一个结果文件:part-r-00000

      • 利用HDFS的WebUI查看结果文件
        在这里插入图片描述

      • 执行命令:hdfs dfs -cat /wordcount/output/*,查看结果内容
        在这里插入图片描述

  4. 在YARN集群UI界面查看程序运行状态

    • 在浏览器里查看http://master:8088,最终状态是SUCCEEDED
      在这里插入图片描述

3.7 关闭Hadoop集群

  • 关闭Hadoop集群
    • 执行命令:stop-all.sh
      在这里插入图片描述

    • 注意:也可以分开执行

      • stop-dfs.sh:关闭HDFS服务
      • stop-yarn.sh:关闭YARN服务

4. 搭建Hive集群

5. 搭建Spark集群

6. 搭建HBase集群

7. 搭建Flink集群

8. 安装配置Flume

9. 安装配置Kafka


网站公告

今日签到

点亮在社区的每一天
去签到