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

相关文章:

  • 从 WPF 到 Avalonia 的迁移系列实战篇6:ControlTheme 和 Style区别
  • R 语言科研绘图第 71 期 --- 散点图-边际
  • 小白也能看懂!“找不到 msvcp140.dll无法继续执行代码” 的6种简易解决方法,5 分钟快速修复
  • Watt Toolkit下载安装并加速GitHub
  • C# 原型模式(C#中的克隆)
  • 基因表达数据的K-M生存曲线的数据处理及绘制
  • Anaconda安装与使用详细教程
  • 服务器CPU飙高?排查步骤与工具推荐
  • 深入探索 HarmonyOS Stage 模型与 ArkUI:构建现代化、高性能应用
  • 【NestJS】HTTP 接口传参的 5 种方式(含前端调用与后端接收)
  • 面试新纪元:无声胜有声,让AI成为你颈上的智慧伙伴
  • 基于YOLO8的番茄成熟度检测系统(数据集+源码+文章)
  • 利用飞算Java打造电商系统核心功能模块的设计与实现
  • Controller返回CompletableFuture到底是怎么样的
  • 【DSP28335 入门教程】定时器中断:为你的系统注入精准的“心跳”
  • 在windows平台oracle 23ai 数据库上使用bbed
  • zephyr设备树的硬件描述转换为c语言
  • 梳理一下 @types/xxx
  • 【Python语法基础学习笔记】竞赛常用标准库
  • 数据库的锁级别
  • Git在idea中的实战使用经验(一)
  • 深度学习之第五课卷积神经网络 (CNN)如何训练自己的数据集(食物分类)
  • SQLShift 实现Oracle 到 OceanBase 的存储过程转换初体验
  • FlowGPT-GPT提示词分享平台
  • 深入剖析Java设计模式之策略模式:从理论到实战
  • 【音视频】 WebRTC GCC 拥塞控制算法
  • 从Java全栈到前端框架:一场真实的技术面试实录
  • Leetcode二分查找(5)
  • 【算法】哈希表专题
  • 单元测试总结2