当前位置: 首页 > 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.dtcms.com/a/341513.html

相关文章:

  • JDK 工具
  • IDEA(十四) IntelliJ Idea 常用快捷键(Mac)
  • 会计人员职业发展框架:核心能力构建与进阶路径
  • ROADS落地的架构蓝图
  • Java 通过 m3u8 链接下载所有 ts 视频切片并合并转换为 mp4 格式
  • Odoo 18 通用图片导入工具:从零到一的企业级开发实战
  • 记录一次ubuntu系统下ovito无法调用显卡驱动报错
  • keepalived的配置
  • Java内置注解
  • 区块链技术:重塑未来互联网的伟大动力
  • 中金所股指期货交易规则
  • c++之指针和引用
  • 第三十三天(信号量)
  • 大模型—— DeepSeek V3.1 Base / Instruct 发布
  • Mqtt — 使用详解EMQX,MQTTX
  • Annexin V应用指南--多领域应用与实验陷阱规避
  • MySQL之分区功能
  • 《算法导论》第 33 章 - 计算几何学
  • 分布式事务之Seata与RocketMQ
  • 【Java SE】初识Java:从语言特性到实战入门
  • 整体设计 之定稿 “凝聚式中心点”原型 --整除:智能合约和DBMS的在表层挂接 能/所 依据的深层套接
  • 盲盒商城h5源码搭建可二开幸运盲盒回收转增定制开发教程
  • Python的collections引入的类型介绍(Python中的map, unordered_map, struct, 计数器, chainmap)
  • 元宇宙的硬件设备:从 VR 头显到脑机接口
  • IT运维背锅权限泄露?集中式管控如何化解风险?
  • 【PostgreSQL内核学习:WindowAgg 节点对 Tuplestore 的复用机制】
  • RAG 每日一技(十八):手写SQL-RAG太累?LangChain的SQL智能体(Agent)前来救驾!
  • 动态规划面试真题解析
  • Linux网络服务(三)——DNS域名解析服务
  • 学习中需不需要划线、做笔记