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

@Hadoop 介绍部署使用详细指南

文章目录

  • **Hadoop 介绍、部署与使用指南**
    • 1. Hadoop 简介与核心组件
      • 1.1 什么是 Hadoop?
      • 1.2 核心组件
      • 1.3 生态系统
    • 2. 部署规划 (Prerequisites)
      • 2.1 环境要求
      • 2.2 节点规划 (示例)
      • 2.3 前置配置 (所有节点)
    • 3. Hadoop 集群部署 (以 Hadoop 3.3.4 为例)
      • 3.1 安装与配置
      • 3.2 启动与验证集群
    • 4. 基本使用与测试
      • 4.1 HDFS 操作
      • 4.2 运行 MapReduce 示例 (WordCount)
    • 5. 常见问题 (FAQ & Troubleshooting)
    • 6. 官方参考文献
    • 7. 附录:关键命令总结

Hadoop 介绍、部署与使用指南


1. Hadoop 简介与核心组件

1.1 什么是 Hadoop?

Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。它的核心设计目标是:高可靠性高扩展性高效性高容错性。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。

1.2 核心组件

  1. HDFS (Hadoop Distributed File System):

    • 职责: 分布式数据存储。
    • 主要角色:
      • NameNode (NN): 主节点,管理文件系统的命名空间(元数据)和客户端对文件的访问。
      • DataNode (DN): 从节点,存储实际的数据块。
      • Secondary NameNode (2NN): 辅助 NameNode,定期合并镜像文件和编辑日志,不是热备节点。
  2. YARN (Yet Another Resource Negotiator):

    • 职责: 集群资源管理与作业调度。
    • 主要角色:
      • ResourceManager (RM): 主节点,管理整个集群的资源(CPU, 内存)并调度应用程序。
      • NodeManager (NM): 从节点,管理单个节点上的资源和任务。
  3. MapReduce:

    • 职责: 分布式并行计算框架。它将计算过程分为两个阶段:Map(映射)和 Reduce(归约)。

1.3 生态系统

Hadoop 生态圈还包括其他重要工具,如:

  • Hive: 数据仓库工具,提供 SQL 查询功能。
  • HBase: 分布式、面向列的 NoSQL 数据库。
  • Spark: 基于内存的快速通用计算引擎。
  • ZooKeeper: 分布式协调服务。
  • Sqoop: 在 Hadoop 和结构化数据库(如 MySQL)间传输数据。
  • Flume: 日志采集、聚合和传输系统。

2. 部署规划 (Prerequisites)

2.1 环境要求

  • 操作系统: Linux (推荐 CentOS 7/8, Ubuntu 18.04/20.04)
  • Java: Hadoop 3.x 需要 Java 8Java 11 (必须安装 JDK,不仅仅是 JRE)。推荐 OpenJDK。
  • SSH: 必须配置免密登录 (Password-less SSH),主节点到所有从节点。
  • 硬件: 至少 3 个节点(1 主 2 从),用于模拟生产环境。内存建议 4GB+。

2.2 节点规划 (示例)

假设我们有 3 台虚拟机:

主机名 IP 地址 角色分配
hadoop-master 192.168.1.10 NameNode, ResourceManager, SecondaryNameNode
hadoop-slave1 192.168.1.11 DataNode, NodeManager
hadoop-slave2 192.168.1.12 DataNode, NodeManager

2.3 前置配置 (所有节点)

  1. 设置主机名和 hosts 解析

    # 在主节点上执行
    hostnamectl set-hostname hadoop-master# 在从节点1上执行
    hostnamectl set-hostname hadoop-slave1# 在从节点2上执行
    hostnamectl set-hostname hadoop-slave2# 在所有节点的 /etc/hosts 文件中添加
    192.168.1.10 hadoop-master
    192.168.1.11 hadoop-slave1
    192.168.1.12 hadoop-slave2
    
  2. 安装 Java

    # 以 CentOS 为例
    yum install -y java-1.8.0-openjdk-devel# 验证安装
    java -version
    javac -version
    
  3. 配置 SSH 免密登录 (在 hadoop-master 上操作)

    # 生成密钥对 (一直回车即可)
    ssh-keygen -t rsa# 将公钥拷贝到所有节点,包括自己
    ssh-copy-id hadoop-master
    ssh-copy-id hadoop-slave1
    ssh-copy-id hadoop-slave2# 测试免密登录
    ssh hadoop-slave1
    exit
    

3. Hadoop 集群部署 (以 Hadoop 3.3.4 为例)

3.1 安装与配置

  1. 下载并解压 Hadoop (在所有节点操作)

    wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
    tar -xzf hadoop-3.3.4.tar.gz -C /opt/
    mv /opt/hadoop-3.3.4 /opt/hadoop
    
  2. 配置环境变量 (在所有节点操作)
    编辑 /etc/profile~/.bashrc,添加:

http://www.xdnf.cn/news/1431901.html

相关文章:

  • Qt中QSettings的键值使用QDataStream进行存储
  • 【ComfyUI】SDXL Refiner 提示进一步提升生成图像的质量
  • Android的USB通信 (AOA Android开放配件协议)
  • CSS基础学习步骤
  • 蓝桥杯算法之基础知识(5)
  • GPU 优化 - tensor core 用swizzle 解决bank conflict
  • STM32HAL 快速入门(十六):UART 协议 —— 异步串行通信的底层逻辑
  • PyTorch 训练随机卡死复盘:DataLoader × OpenCV 多进程死锁,三步定位与彻底修复
  • 【lucene】advanceshallow就是遍历跳表的,可以看作是跳表的遍历器
  • vscode下leetcode插件cookie登录
  • MySQL进阶知识梳理
  • 如何用c来编写一个判断闰年平年的微程序呢
  • 静态网站生成利器 Eleventy
  • 大文件稳定上传:Spring Boot + MinIO 断点续传实践
  • leetcode算法刷题的第二十四天
  • 网络数据包是怎么在客户端和服务端之间进行传输的?
  • 【Go语言并发编程:Goroutine调度原理】
  • Flink - 基础学习(1)-三种时间语义
  • PDF翻译怎么弄?一篇文章告诉你答案
  • 线扫相机搭配显微镜:解锁微观世界的 “全景高清” 观察模式
  • go 语言map是线程不安全的如何处理
  • C#实现与西门子S7-1200_1500 PLC通信
  • 【一张图看懂Kafka消息队列架构】
  • AI 在教育领域的落地困境:个性化教学与数据隐私的平衡之道
  • 278-基于Django的协同过滤旅游推荐系统
  • 多个大体积PDF文件怎么按数量批量拆分成多个单独文件
  • sed相关知识
  • 国行 iPhone17 会支持 eSIM 吗?最新爆料与区别解读
  • 华晨宇火星演唱会苏州站连唱三晚 万人狂欢共度浪漫七夕
  • 便携式显示器怎么选?:6大关键指标全解析