hadoop伪分布 完全分布式 高可用
目录hadoop伪分布式HDFS 基础文件操作完全分布式hadoop高可用iphostsroles192.168.73.156server1NameNode192.168.73.157server2DataNode192.168.73.158server3DataNode192.168.73.159server4DataNode192.168.73.160server5[rootserver1 ~]# wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gzHadoop 官方建议禁止使用 root 用户运行集群因此我们新建普通用户sxy用于整套 Hadoop 操作同时设置密码方便登录管理。 将提前下载好的hadoop-3.3.6.tar.gz和jdk-8u181-linux-x64.tar.gz移动至 sxy 家目录切换 sxy 用户进行解压部署。[rootserver1 ~]# useradd sxy[rootserver1 ~]# passwd sxy[rootserver1 ~]# mv hadoop-3.3.6.tar.gz jdk-8u181-linux-x64.tar.gz /home/sxy/[rootserver1 ~]# su sxy[sxyserver1 ~]$ tar zxf hadoop-3.3.6.tar.gz[sxyserver1 ~]$ tar zxf jdk-8u181-linux-x64.tar.gz[sxyserver1 ~]$ ln -s hadoop-3.3.6 hadoop[sxyserver1 ~]$ ln -s jdk1.8.0_181 jdkhadoop伪分布式Hadoop 伪分布式模式是学习 Hadoop 的入门部署方案仅使用单台服务器将 HDFS、YARN 所有组件以独立进程运行在本机模拟分布式架构。和完全分布式、高可用 HA 集群相比部署简单适合理解 Hadoop 基础组件通信流程也是后续学习完全分布式、Hadoop HA 高可用的基础。本文采用 Hadoop-3.3.6 JDK1.8 完成伪分布式完整部署。[sxyserver1 ~]$ vim .bash_profile编辑用户个人环境变量文件.bash_profile定义JAVA_HOME、HADOOP_HOME并将两个软件的 bin、sbin 目录加入系统 PATH。 执行source ~/.bash_profile让环境变量立即生效实现任意目录直接调用 java、hadoop 相关命令。说明.bash_profile仅对当前 sxy 用户生效如果需要全局所有用户生效则配置/etc/profile。[sxyserver1 ~]$ source ~/.bash_profile进入/home/sxy/hadoophadoop-env.sh是 Hadoop 的环境配置脚本必须指定 JAVA_HOMEHadoop 启动各守护进程时依赖 JDK 运行环境如果不配置会直接启动失败。[sxyserver1 hadoop]$ vim etc/hadoop/hadoop-env.sh进入/home/sxy/hadoop/etc/hadoop目录[sxyserver1 hadoop]$ vim core-site.xmlcore-site.xml 是 Hadoop 核心全局配置文件。 属性fs.defaultFS定义 HDFS 默认文件系统地址。伪分布式填写hdfs://localhost:9000代表本机监听 9000 端口作为 HDFS 访问入口。[sxyserver1 hadoop]$ vim hdfs-site.xml负责 HDFS 相关参数配置。 属性dfs.replication数据块副本数量。伪分布式只有一台服务器无法存储多副本因此设置值为 1生产完全分布式一般配置 3 副本。配置免密Hadoop 启停脚本start-dfs.sh/start-yarn.sh底层使用 SSH 远程登录管理各个节点进程伪分布式本机也必须配置localhost免密登录否则执行启停脚本会反复要求输入密码部署失败。[sxyserver1 ~]$ ssh-keygen[sxyserver1 ~]$ ssh-copy-id localhost/home/sxy/hadoop该命令用于初始化 NameNode 元数据目录生成集群唯一的 ClusterID搭建全新 HDFS 文件系统。⚠️ 重点提醒格式化仅允许执行一次多次格式化会造成 NameNode 与 DataNode 的集群 ID 不一致DataNode 无法正常注册集群启动失败。控制台输出successfully formatted代表格式化成功。启动 HDFS 集群 进程验证[sxyserver1 hadoop]$ bin/hdfs namenode -format[sxyserver1 hadoop]$ sbin/start-dfs.sh[sxyserver1 ~]$ jpsstart-dfs.sh一键启动 HDFS 三大守护进程NameNode、DataNode、SecondaryNameNode。jps是 JDK 自带工具用来查看本机 Java 进程伪分布式正常结果需要看到NameNode、DataNode、SecondaryNameNode。缺少任意进程代表启动异常需要查看日志排错。HDFS 基础文件操作[sxyserver1 hadoop]$ bin/hdfs dfs -mkdir /user[sxyserver1 hadoop]$ bin/hdfs dfs -mkdir /user/sxyHDFS 是分布式文件系统使用hdfs dfs作为文件操作命令语法类似 Linux 本地命令-mkdir在 HDFS 上创建目录遵循 Hadoop 规范创建用户工作目录/user/sxy-put将本地服务器文件上传至 HDFS 分布式文件系统此处上传配置 xml 文件作为 MapReduce 测试数据源[sxyserver1 hadoop]$ bin/hdfs dfs -mkdir input[sxyserver1 hadoop]$ bin/hdfs dfs -put etc/hadoop/*.xml input运行 MapReduce 官方示例程序grep 单词统计[sxyserver1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output dfs[a-z.]下载任务结果查看输出内容[sxyserver1 hadoop]$ bin/hdfs dfs -get output output[sxyserver1 hadoop]$ cat output/*访问地址http://192.168.73.156:9870页面Utilities→Browse the file system可以可视化浏览 HDFS 上所有目录、文件在线查看文件内容、副本数量方便运维查看集群数据替代命令行操作。完全分布式伪分布式仅单机运行无法体现多节点分布式存储特性完全分布式采用多台独立服务器部署 Hadoop 组件节点分工不同数据可以跨机器保存多副本贴近真实生产基础架构。本次实验采用三台机器 server1、server2、server3 搭建利用 NFS 共享目录实现三台服务器统一部署 Hadoop简化多机同步配置工作。添加server2 server3三台节点安装安装 nfs 服务[rootserver1 ~]# yum install -y nfs-utils编辑 NFS 导出配置/etc/exports写入rw,sync读写权限、同步写入保证数据一致性all_squash,anonuid1000,anongid1000所有访问用户映射为 sxy 用户 uid1000权限统一避免 hadoop 读写权限报错no_subtree_check关闭子树校验提升访问性能设置开机自启[sxyserver1 root]$ sudo systemctl enable --now nfs2,3建立用户并创建密码[rootserver3 ~]# useradd sxy[rootserver3 ~]# passwd sxy免密[sxyserver1 ~]$ ssh-copy-id server2[sxyserver1 ~]$ ssh-copy-id server3查找server1的对外共享目录[rootserver2 ~]# showmount -e server123均挂载[rootserver2 ~]# mount 192.168.73.156:home/sxy/ /home/sxy/停止原有伪分布式集群[sxyserver1 hadoop]$ sbin/stop-dfs.sh如果之前运行过伪分布式必须先正常关闭集群避免旧元数据干扰完全分布式部署。进入目录/home/sxy/hadoop/etc/hadoop[sxyserver1 hadoop]$ vim core-site.xml和伪分布式 localhost 不同完全分布式填写主节点主机名 server1所有节点通过域名访问统一的 NameNode 服务。[sxyserver1 hadoop]$ vim hdfs-site.xml副本数修改为 2三台节点环境下数据块保存 2 份副本实现跨机器冗余生产环境常用 3 副本。[sxyserver1 hadoop]$ vim workers写入 DataNode 从节点主机名重新格式化[sxyserver1 hadoop]$ pwd/home/sxy/hadoop[sxyserver1 hadoop]$ bin/hdfs namenode -format输入Y开启[sxyserver1 hadoop]$ sbin/start-dfs.sh报错第一次查看没有server3[rootserver3 ~]# cd /home/sxy/hadoop/logs[rootserver3 logs]# grep -E register|denied|ERROR hadoop-sxy-datanode-server3.log发现是hosts解析把server1的ip写错了修改之后就对了[sxyserver1 ~]$ cd hadoop[sxyserver1 hadoop]$ bin/hdfs dfs -mkdir /user[sxyserver1 hadoop]$ bin/hdfs dfs -mkdir /user/sxy[sxyserver1 hadoop]$ bin/hdfs dfs -mkdir input[sxyserver1 hadoop]$ bin/hdfs dfs -put etc/hadoop/*.xml input完全分布式和伪分布式的 HDFS 操作命令语法完全一致区别在于底层存储 伪分布式所有副本保存在单台机器完全分布式文件副本跨多台服务器存放具备基础数据容错能力。文件上传完成后可以访问 HDFS Web UI查看文件存储位置、副本分布验证多节点存储特性。hadoop高可用集群扩容新加server4新开server4创建用户设密码 并安装nfs共享工具[rootserver4 ~]# useradd sxy[rootserver4 ~]# passwd sxy[rootserver4 ~]# yum install -y nfs-utils同样设置免密[sxyserver1 ~]$ ssh-copy-id server4查看server1共享目录沿用 NFS 共享/home/sxy无需在 server4 重新上传、解压 Hadoop 和 JDK所有节点共用同一套程序文件统一维护配置降低多节点部署工作量。[rootserver4 ~]# showmount -e server1挂载[rootserver4 ~]# mount 192.168.73.156:home/sxy/ /home/sxy/[rootserver4 ~]# cd /home/sxy/[rootserver4 sxy]# cd hadoop/etc/hadoop/[rootserver4 hadoop]# vim workers添加server4[sxyserver1 hadoop]$ vim mapred-site.xml配置解释指定 MapReduce 任务运行调度框架为 YARN并配置 MR 程序依赖包路径保证 MapReduce 任务可以正常提交运行。[sxyserver1 hadoop]$ vim yarn-site.xml配置解释开启 YARN 的 shuffle 服务Map 阶段输出的数据依靠 shuffle 传递给 Reduce配置环境变量白名单NodeManager 容器可以读取 Hadoop 相关环境变量避免 MR 任务运行报环境缺失错误。[sxyserver1 hadoop]$ vim hdfs-site.xml配置解释集群扩容至 3 个数据节点修改数据块副本数为 3和生产环境标准配置保持一致三份副本分散存储在不同 DataNode提升数据容错能力。[sxyserver1 hadoop]$ pwd/home/sxy/hadoop在主节点启动YARN整套服务[sxyserver1 hadoop]$ sbin/start-yarn.shserver4手动验证进程也可直接使用一键脚本批量启停[sxyserver4 ~]$ /home/sxy/hadoop/bin/hdfs --daemon start datanode[sxyserver4 ~]$ /home/sxy/jdk/bin/jps正常启动后server4 节点必须看到两个进程DataNodeHDFS 数据存储进程NodeManagerYARN 节点资源管理进程查看节点server4已就位今天的博客到这里就结束了886~

相关新闻

大模型应用开发工程师面试指南与核心技术解析

大模型应用开发工程师面试指南与核心技术解析

1. 大模型应用开发工程师岗位解析大模型应用开发工程师是AI领域的新兴岗位,主要负责基于大语言模型(LLM)构建实际应用解决方案。这个角色需要同时具备深度学习理论基础和工程落地能力,是典型的"理论实践"复合型岗位。从…

2026/8/23 7:28:47 阅读更多 →
Revit核心进阶:掌握类与族构建BIM模型DNA

Revit核心进阶:掌握类与族构建BIM模型DNA

如果你是一名建筑设计师或BIM工程师,正在学习Revit,是否遇到过这样的困惑:软件操作明明都会,但面对一个真实的建筑项目,却不知从何下手?或者,辛辛苦苦建好的模型,总是被审图老师指出…

2026/8/23 7:28:47 阅读更多 →
状态机(FSM)核心概念与实战:从自动售货机到复杂系统设计

状态机(FSM)核心概念与实战:从自动售货机到复杂系统设计

1. 状态机:从“自动售货机”到复杂系统的思维模型如果你写过代码,尤其是处理过用户交互、订单流转或者设备控制,那你大概率已经和状态机打过交道了,只是可能没意识到。我第一次真正理解状态机,是在调试一个嵌入式设备的…

2026/8/23 7:28:47 阅读更多 →

最新新闻

模型构建三大路径:代码驱动、可视化与混合式构建全解析

模型构建三大路径:代码驱动、可视化与混合式构建全解析

1. 项目概述:模型构建的三种核心路径 在数据驱动的决策和自动化流程中,模型构建是核心环节。无论是数据分析师想预测下季度的销售额,还是工程师需要自动化处理地理信息数据,都绕不开“如何构建一个模型”这个问题。我从业这些年&a…

2026/8/23 8:25:28 阅读更多 →
【Agent】【memory】2.Chat Summary Memory Buffer 功能分析

【Agent】【memory】2.Chat Summary Memory Buffer 功能分析

本分析报告针对 LlamaIndex 框架中的 Chat Summary Memory Buffer 功能进行全面解析,这是一个用于管理对话历史的内存缓冲区组件。 1. 案例目标 Chat Summary Memory Buffer 案例的主要目标是: 演示如何使用 ChatSummaryMemoryBuffer 类来管理对话历史…

2026/8/23 8:25:28 阅读更多 →
工业级实时数据可视化系统:WebSocket+Redis+Canvas实战

工业级实时数据可视化系统:WebSocket+Redis+Canvas实战

1. 这不是“画个图表就完事”的玩具系统——它是一套能扛住每秒200数据点、毫秒级响应、生产环境可直接上线的实时可视化骨架你搜“实时数据可视化”时,刷出来的大多是Jupyter里跑个plt.plot()、或者用ECharts配个假数据轮播的Demo。但真正要落地——比如工厂产线传…

2026/8/23 8:25:28 阅读更多 →
描述系统日志架构

描述系统日志架构

系统日志记录操作系统内核和其他进程为系统运行时发生的事件记录日志。这些日志用于系统审核和问题的故障排除。您可以使用文本实用程序(如 less 和 tail 命令)来检查这些日志。红帽企业 Linux 使用基于 syslog 协议的标准日志记录系统来记录系统消息。许…

2026/8/23 8:25:28 阅读更多 →
从工业富联财报看AI转型:利润与现金流背离的技术逻辑分析

从工业富联财报看AI转型:利润与现金流背离的技术逻辑分析

最近在分析上市公司财报时,发现一个很有意思的现象:有些公司利润表光鲜亮丽,但现金流量表却“骨感”得吓人。比如工业富联,其2023年财报显示净利润同比暴增,但经营活动现金流净额却大幅下滑。这背后究竟是AI转型带来的…

2026/8/23 8:25:28 阅读更多 →
深入解析TCP保活机制:原理、配置与高可用长连接实践

深入解析TCP保活机制:原理、配置与高可用长连接实践

1. 项目概述:TCP保活机制是什么,以及我们为什么需要它在网络编程和系统运维的日常里,TCP连接就像一条条看不见的“数据管道”,连接着客户端和服务器。我们通常认为,一旦握手成功建立了连接,这条管道就是稳定…

2026/8/23 8:24:28 阅读更多 →

日新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/22 18:08:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →