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

相关文章:

  • Redisson最新版本(3.50.0左右)启动时提示Netty的某些类找不到
  • VR交通安全学习机-VR交通普法体验馆方案
  • 从防抖节流到链表树:编程世界中的抽象优化艺术
  • C++智能指针详解:告别内存泄漏,拥抱安全高效
  • Flask高效数据库操作指南
  • C++ MFC/BCG编程:文件对话框(CFileDialog、CFolderPickerDialog)
  • CFBench评测
  • (一)关于步进电机的FOC控制
  • DeepSeek大模型如何重塑AI Agent?从技术突破到行业落地
  • 意象框架:连接感知与认知的统一信息结构分析——基于上古汉语同源词意义系统的词源学与认知语言学探索
  • (认识异常)
  • SED项目复现学习实录
  • JSON::Value 功能详解:从三目运算符到高级用法
  • Git Commit 提交信息标准格式
  • 48 C++ STL模板库17-容器9-关联容器-映射(map)多重映射(multimap)
  • C++进阶-----C++11
  • 【数据结构】线性表——顺序表
  • Linux Shell 常用操作与脚本示例详解
  • CAMEL-Task1-CAMEL环境配置及你的第一个Agent
  • rsync + inotify 数据实时同步
  • 吴恩达 Machine Learning(Class 3)
  • Spring Boot 实战:从项目搭建到部署优化
  • (Python)[特殊字符] 基于Flask/FastAPI的RESTful API服务 + 数据库 + 缓存 + 简单前端 (Python项目)
  • Altium Designer 22使用笔记(8)---PCB电气约束设置
  • PyTorch API 3 - distributed
  • Flink双流join
  • 三极管单电源供电中电阻关系的理解
  • Non-stationary Diffusion For Probabilistic Time Series Forecasting论文阅读笔记
  • (第二十五节课内容总结)
  • 【数据结构】直接选择排序