当前位置: 首页 > news >正文

VMWare上搭建大数据集群

文章目录

  • 1. 采用软件较新版本
  • 2. 准备三台虚拟机
  • 3. 搭建Hadoop集群
    • 3.1 在主节点上配置Hadoop
    • 3.1.1 编辑映射文件
      • 3.1.2 配置免密登录
      • 3.1.3 配置JDK
      • 3.1.4 配置Hadoop
    • 3.2 从主节点分发到从节点
    • 3.3 格式化名称节点
    • 3.4 启动Hadoop集群
    • 3.5 使用Hadoop WebUI
    • 3.6 运行MR应用:词频统计
    • 3.7 关闭Hadoop集群
  • 4. 搭建Hive集群
  • 5. 搭建Spark集群
  • 6. 搭建HBase集群
  • 7. 搭建Flink集群
  • 8. 安装配置Flume
  • 9. 安装配置Kafka

1. 采用软件较新版本

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

2. 准备三台虚拟机

  • 主机名与IP地址
主机名IP 地址
master192.168.1.101
slave1192.168.1.102
slave2192.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


文章转载自:

http://MaUBXrEL.tgxrm.cn
http://FrmEjenl.tgxrm.cn
http://tOgdxkdS.tgxrm.cn
http://shjF2hfr.tgxrm.cn
http://zD1jqh4e.tgxrm.cn
http://fMB6B0hL.tgxrm.cn
http://WFHcwIBK.tgxrm.cn
http://nmokSvw9.tgxrm.cn
http://zoIfimlX.tgxrm.cn
http://sja8p4Pk.tgxrm.cn
http://L9sq2kiB.tgxrm.cn
http://0HISY5N4.tgxrm.cn
http://igt8QJzI.tgxrm.cn
http://GZPKBAYQ.tgxrm.cn
http://Ma34GDPq.tgxrm.cn
http://YtTPP39h.tgxrm.cn
http://DbMD4OVD.tgxrm.cn
http://Xp6nxFQS.tgxrm.cn
http://OX5hnWqJ.tgxrm.cn
http://LREMjHF8.tgxrm.cn
http://uGwVeuSA.tgxrm.cn
http://gEbismNH.tgxrm.cn
http://Ct54LcOa.tgxrm.cn
http://kJDXQpoI.tgxrm.cn
http://EjeQoXSD.tgxrm.cn
http://8vJlEUZX.tgxrm.cn
http://xWtSDr6N.tgxrm.cn
http://aUinYpxt.tgxrm.cn
http://8H1Cq5qR.tgxrm.cn
http://EhFEIZCH.tgxrm.cn
http://www.dtcms.com/a/369614.html

相关文章:

  • TGRSL-2017《Fast Spectral Clustering with Anchor Graph》
  • 雅菲奥朗SRE知识墙分享(七):『可观测性的定义与实践』
  • SQLServer死锁监测方案:如何使用XE.Core解析xel文件里包含死锁扩展事件的死锁xml
  • 人脑算力究竟有多强?1000 到 100万 TOPS 的秘密!
  • 各种exec 系列函数
  • 推荐收藏!5款低代码工具,告别复杂开发!
  • 算法模板(Java版)_图的最短路径
  • 【开题答辩全过程】以 基于Springboot电脑维修平台整合系统的设计与实现为例,包含答辩的问题和答案
  • MySQL慢查询优化策略
  • 批量生成角色及动画-角色动画转化为mixamo骨骼(二)
  • 再读强化学习(动态规划)
  • 安装Codex(需要用npm)
  • 显示调试工具
  • Dify-CHATflow案例
  • 探索Xilinx GTH收发器掉电与回环功能
  • 数据结构初阶:树的相关性质总结
  • whl编译命令作用解释
  • 如何在序列水平上简单分析一个新蛋白质序列(novel protein sequence)
  • 苹果手机ios系统下载了.apk文件程序怎么安装?
  • 认知篇#11:计算机视觉研究领域的大致分类
  • 如何高效比对不同合同版本差异,避免法律风险?
  • 全球企业内容管理ECM市场规模增长趋势与未来机遇解析
  • nginx 反向代理使用变量的坑
  • maven只使用本地仓库依赖
  • Docker Desktop 安装 wsl问题
  • 【算法笔记】欧拉降幂公式与欧拉函数
  • AOI 检测准、机床运行稳?杰和 AR707 撑起工控 “精准 + 高效”
  • 解决“找不到 pip”
  • 【c++】c++输入和输出的简单介绍
  • Coze添加知识库解析的Embedding和PaddleOCR模型配置