Linux下怎么部署Hadoop 3.x完全分布式

胖涛大大_5546

胖涛大大_5546

2026-06-30

769人浏览

原创

hadoop 3.x完全分布式集群成功运行的关键在于节点间通信畅通、配置准确、环境变量生效且启动顺序正确;需确保hosts映射一致、ssh免密双向验证、core-site.xml中fs.defaultfs使用主机名而非ip、workers文件无空行空格、hadoop.tmp.dir提前创建并赋权、namenode首次启动前必须格式化并检查日志,且各节点jdk版本必须统一兼容。

linux下怎么部署hadoop 3.x完全分布式

hadoop-3.x 完全分布式在 Linux 下能跑起来,关键不是“装完就行”,而是**节点间通信通、配置对、环境变量真生效、启动顺序不乱**。跳过任意一环,jps 看不到 DataNode 或 NodeManager 是常态。

网络与主机名必须提前对齐

三台机器之间 ping 不通、ssh hadoop102 提示 unknown host,后面所有配置都是白忙。这不是 Hadoop 的问题,是 Linux 基础没铺平。

  • 每台机器的 /etc/hosts 必须包含全部节点映射(不能只写本机),例如:
    192.168.10.100 hadoop100<br>192.168.10.101 hadoop101<br>192.168.10.102 hadoop102
  • 主机名用 hostnamectl set-hostname hadoop100 设置,且重启后仍生效(检查 hostname 输出是否匹配 /etc/hosts 里的 key)
  • 静态 IP 要配在 /etc/sysconfig/network-scripts/ifcfg-ens33 里,别依赖 DHCP;子网掩码、网关、DNS 都得一致

免密登录必须双向验证

很多人只在 master 上执行 ssh-copy-id,结果从 hadoop101 启动 DataNode 时卡住——因为 hadoop101 没法无密码 ssh 到自己或 hadoop102。

Computer Use Linux
Computer Use Linux

顶级 Linux 计算机使用技能,配套独立自举运行时,无需本地 Claude 安装、私有原生模块等。

下载
  • 每台机器都要生成密钥:ssh-keygen -t rsa -P ''(空密码)
  • 每台机器都要把自身的 id_rsa.pub 追加进自己的 ~/.ssh/authorized_keys(即 localhost 免密)
  • 再统一从 master 执行:ssh-copy-id hadoop101 和 ssh-copy-id hadoop102,然后立刻验证:ssh hadoop101 hostname 和 ssh hadoop102 hostname
  • 如果提示输入密码,说明 ~/.ssh 权限不对:确保 chmod 700 ~/.ssh,chmod 600 ~/.ssh/authorized_keys

core-site.xml 和 workers 文件最容易写错

这两个文件出错,start-dfs.sh 表面成功,但 DataNode 根本不注册;start-yarn.sh 启动后 NodeManager 在 jps 里消失。

  • core-site.xml 中 fs.defaultFS 的值必须是 hdfs://<namenode-hostname>:9000</namenode-hostname>,不是 IP,也不是 localhost —— hostname 必须和 /etc/hosts 里定义的一致
  • workers(Hadoop 3.x 替代了旧版 slaves)每行只写一个 hostname,末尾不能有空格,文件不能有空行,也不能有 Windows 换行符(用 dos2unix workers 清理)
  • hadoop.tmp.dir 路径要提前创建并赋权:mkdir -p /opt/module/hadoop-3.3.6/data,然后 chown -R $USER:$USER /opt/module/hadoop-3.3.6/data

启动前必须格式化且确认日志输出

第一次启动不格式化 NameNode,start-dfs.sh 会静默失败;格式化后不看 $HADOOP_HOME/logs/ 下的 hadoop-*-namenode-*.log,就等于蒙眼开车。

  • 只在 NameNode 所在节点执行:hdfs namenode -format(注意不是 hadoop namenode -format,后者已弃用)
  • 启动后立刻查日志:tail -n 20 $HADOOP_HOME/logs/hadoop-*-namenode-*.log | grep -i error,重点看是否有 Failed to start namenode 或 Address already in use
  • 确认端口没被占:netstat -tulnp | grep :9000(NameNode)、:8020(IPC)、:8088(YARN UI)
  • jps 在各节点分别执行:NameNode 节点应有 NameNode、SecondaryNameNode(如果配了)、ResourceManager;DataNode 节点应有 DataNode、NodeManager
真正卡住的地方,往往不是 XML 写错一行,而是某台机器的 java -version 输出是 OpenJDK 11,而 Hadoop 3.3+ 明确要求 JDK 8 或 JDK 11(但必须一致);或是 HADOOP_HOME 在 /etc/profile 里设了,却忘了在 ~/.bashrc 里也 export,导致 start-dfs.sh 找不到命令。这些细节不逐台验证,集群永远“看起来启动了”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1933

5

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.07

2754

5

hadoop是什么
hadoop是什么

hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。本专题为大家免费提供hadoop相关的文章、下载和课程。

2023.06.30

811

5

hadoop三大核心组件介绍
hadoop三大核心组件介绍

Hadoop的三大核心组件分别是:Hadoop Distributed File System(HDFS)、MapReduce和Yet Another Resource Negotiator(YARN)。想了解更多hadoop的相关内容,可以阅读本专题下面的文章。

2024.03.13

1645

9

hadoop的核心
hadoop的核心

hadoop的核心由分布式文件系统 (hdfs) 和资源管理框架 (mapreduce) 组成。想了解更多hadoop的相关内容,可以阅读本专题下面的文章。

2024.05.16

1946

8

Java 大数据处理基础(Hadoop 方向)
Java 大数据处理基础(Hadoop 方向)

本专题聚焦 Java 在大数据离线处理场景中的核心应用,系统讲解 Hadoop 生态的基本原理、HDFS 文件系统操作、MapReduce 编程模型、作业优化策略以及常见数据处理流程。通过实际示例(如日志分析、批处理任务),帮助学习者掌握使用 Java 构建高效大数据处理程序的完整方法。

2025.12.08

1229

12

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3810

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3293

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2413

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚学堂Mahout视频教程
尚学堂Mahout视频教程

共18课时 | 3.7万人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习