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

虚拟机部署HDFS集群

提示:虚拟机部署HDFS集群,一个 NameNode 角色,三个 DataNode 角色,一个 SecondaryNameNode 角色

文章目录

  • 前言
  • 部署集群


前言

  1. HDFS组件:分布式存储组件,可以构建分布式文件系统用于数据存储。
  2. 基础架构
    1. 主角色:NameNode(独立进程,负责管理HDFS整个文件系统,负责管理DataNode)
    2. 从角色:DataNode (独立进程,负责存储和取出数据)
    3. 主角色辅助角色:SecondaryNameNode (NameNode的辅助,独立进程,主要帮助 NameNode 完成元数据整理工作)
  3. 准备工作:
    1. 虚拟机中服务器创建三台服务器,修改名称为node1(8G),node2(4G),node3(4G)
    2. 将三台服务器固定IP
    3. 分别创建一个名称为 hadoop 的用户
    4. 关闭防火墙
    5. 设置ssh免密(注意 node1 对 node1 自身也要设置免密)
    6. 分别部署JDK

部署集群

  1. 官网下载 二进制安装包
    在这里插入图片描述

  2. 上传 hadoop 安装包到 node1 节点(能找到的目录即可)

  3. 新建 /export/server/ 目录,解压安装包到此目录中:tar -zxvf hadoop-3.4.1.tar.gz -C /export/server

  4. 构建软链接:/export/server 目录下执行:ln -s /export/server/hadoop-3.4.1 hadoop

  5. 配置HDFS集群,进入 /export/server/hadoop/etc/hadoop 目录下

    1. vim workers :填入以下内容(删除文件中 localhost)node1node2node3
    2. vim  hadoop-env.sh:配置 hadoop 相关环境变量export JAVA_HOME=/export/server/jdkexport HADOOP_HOME=/export/server/hadoopexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport HADOOP_LOG_DIR=$HADOOP_HOME/logs
    3. vim core-site.xml : hadoop 核心配置文件,在文件中填入 如下内容<configuration><property><name>fs.defaultFS</name><value>hdfs://node1:8020</value></property><property><name>io.file.buffer.size</name><value>131072</value></property></configuration>PS:fs.defaultFS 含义:HDFS文件系统的网络通讯路径,值:hdfs://node1:8020 表明DataNode 将和 node1 的 8020 端口通讯,node1 是 NameNode 所在的机器io操作文件缓存区大小  131072bit
    4. vim hdfs-site.xml :HDFS核心配置文件<configuration><property><name>dfs.datanode.data.dir.perm</name><value>700</value></property><property><name>dfs.namenode.name.dir</name><value>/data/nn</value></property><property><name>dfs.namenode.hosts</name><value>node1,node2,node3</value></property><property><name>dfs.blocksize</name><value>268435456</value></property><property><name>dfs.namenode.handler.count</name><value>100</value></property><property><name>dfs.datanode.data.dir</name><value>/data/dn</value></property></configuration>PS:dfs.datanode.data.dir.perm :hdfs 文件系统 默认创建的文件权限 700 rwx---dfs.namenode.name.dir :NameNode 元数据的存储位置 在node1 节点的 /data/nn 目录下dfs.namenode.hosts NameNode 允许哪几个节点的DataNode连接dfs.blocksize :hdfs 默认块大小  256Mdfs.namenode.handler.count 并发线程数dfs.datanode.data.dir 从节点 DataNode的数据存放目录
    
  6. 在node1 节点: mkdir -p /data/nn mkdir /data/dn

  7. 在node2,node3节点:mkdir -p /data/dn

  8. 将node1 的hadoop 复制到 node2 和 node3

    1. 在node1 执行cd /export/serverscp -r hadoop-3.4.1 node2:`pwd`/ scp -r hadoop-3.4.1 node3:`pwd`/
    2. 为node2 和 node 3 配置软链接 :ln -s /export/server/hadoop-3.4.1 hadoop
    
  9. 配置环境变量 (node1,node2,node3都操作)

    vim /etc/profile
    export HADOOP_HOME=/export/server/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source /etc/profile
    
  10. 授权 hadoop 用户 (node1,node2,node3都操作,以root身份执行)

    chown -R hadoop:hadoop /data
    chown -R hadoop:hadoop /export
    
  11. 格式化namenode:只在node1执行

    su - hadoop
    hadoop namenode -format
    
  12. 启动

    start-dfs.sh
    stop-dfs.sh 关闭
    

    在这里插入图片描述

  13. 查看启动界面 可以看到有三个datanode
    https://node1:9870 (node1替换为对应IP)
    在这里插入图片描述

PS:通过 jps 命令可查看运行的服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/626970.html

相关文章:

  • cobbler
  • 基于FPGA的实时图像处理系统(2)——VGA显示彩条和图片
  • [论文阅读] 人工智能 + 软件工程 | 从用户需求到产品迭代:特征请求研究的全景解析
  • 372. 超级次方
  • Flask 之 Request 对象详解:全面掌握请求数据处理
  • 解决前端项目启动时找不到esm文件的问题
  • STM32F407VGT6从零建立一个标准库工程模板+VSCode或Keil5
  • Spring Boot 定时任务与 xxl-job 灵活切换方案
  • 双分支混合光伏预测模型
  • 第5.7节:awk赋值运算
  • 技术半衰期悖论:AI时代“不可替代领域“的深耕地图
  • AIStarter服务器版深度解析:与桌面版对比,解锁云端AI开发新体
  • 如何代开VSCode的settigns.json文件
  • 【JavaEE】多线程(线程安全问题)
  • Gin传参和接收参数的方式
  • BM25 系列检索算法
  • 自学大语言模型之Transformer的Trainer
  • 工业电脑选得好生产效率节节高稳定可靠之选
  • 0基础安卓逆向原理与实践:第5章:APK结构分析与解包
  • 华为仓颉语言的class(类)初步
  • 比剪映更轻量!SolveigMM 视频无损剪切实战体验
  • 将集合拆分成若干个batch,并将batch存于新的集合
  • ubuntu下安装vivado2015.2时报错解决方法
  • 换根DP(P3478 [POI 2008] STA-StationP3574 [POI 2014] FAR-FarmCraft)
  • Qt 中最经典、最常用的多线程通信场景
  • 通过自动化本地计算磁盘与块存储卷加密保护数据安全
  • 链表-24.两两交换链表中的结点-力扣(LeetCode)
  • ansible playbook 实战案例roles | 实现基于firewalld添加端口
  • SSM从入门到实战:2.1 MyBatis框架概述与环境搭建
  • 【LeetCode 热题 100】279. 完全平方数——(解法三)空间优化