当前位置: 首页 > 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://www.xdnf.cn/news/1469611.html

相关文章:

  • 8. Mono与IL2Cpp简介
  • mysql中null值对in子查询的影响
  • B.50.10.03-Nginx核心原理与电商应用
  • 基于STM32单片机FM调频TEA5767功放收音机液晶显示设计
  • Zynq-7000 上 RT-Thread 的 MMU 与 SMP 优势分析
  • 七彩喜智慧养老:科技向善,让“养老”变“享老”的智慧之选
  • 23种设计模式——桥接模式 (Bridge Pattern)详解
  • 极大似然估计与概率图模型:统计建模的黄金组合
  • 洛谷 P1099 [NOIP 2007 提高组] 树网的核-普及+/提高
  • ShareX神操作:多区域截图+特效功能!
  • linux ubi文件系统
  • Linux 文件系统及磁盘相关知识总结
  • Webpack 有哪些特性?构建速度?如何优化?
  • 前端开发vscode插件 - live server
  • 【SuperSonic】:PluginParser 插件解析器
  • 雅菲奥朗SRE知识墙分享(六):『混沌工程的定义与实践』
  • 十二、软件系统分析与设计
  • Linux:进程信号理解
  • Day21_【机器学习—决策树(2)—ID3树 、C4.5树、CART树】
  • stm32——NVIC,EXIT
  • RHEL7.9、RHEL9.3——源码安装MySQL
  • 人工智能领域、图欧科技、IMYAI智能助手2025年8月更新月报
  • 辗转相除法(欧几里得算法)的证明
  • mysql进阶语法(视图)
  • 25高教社杯数模国赛【A题国奖核心成品论文+问题解析】第一弹
  • 如何提升技术架构设计能力?
  • 保姆级 i18n 使用攻略,绝对不踩坑(帮你踩完了)
  • 《C++ printf()函数的深度解析》
  • vue 经常写的echarts图表模块结构抽取
  • 串口通信—UART