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

发布于:2025-09-04 ⋅ 阅读:(19) ⋅ 点赞:(0)

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,添加:


网站公告

今日签到

点亮在社区的每一天
去签到