首页/新闻资讯/正文详情

Hadoop集群虚拟机克隆后的网络与配置改造指南

发布时间:2026/11/4 7:30:35 来源:云帆数科 栏目:资讯中心
Hadoop集群虚拟机克隆后的网络与配置改造指南
1. Hadoop集群虚拟机克隆后的二次改造实战指南在大数据运维工作中我们经常需要复制Hadoop集群环境用于教学、测试或开发。通过虚拟机克隆可以快速复制整个集群但克隆后的系统需要进行一系列关键修改才能正常使用。本文将详细介绍从IP地址修改到历史数据清理的完整改造流程。2. 环境准备与问题分析2.1 原集群与新集群规划原三节点集群配置如下主机名IP地址主要角色hadoop1192.168.121.160NameNode/ResourceManagerhadoop2192.168.121.161DataNode/SecondaryNameNodehadoop3192.168.121.162DataNode/Hive Metastore克隆后新集群规划主机名IP地址对应原节点hadoop4192.168.121.170hadoop1hadoop5192.168.121.171hadoop2hadoop6192.168.121.172hadoop32.2 克隆后不能直接使用的原因虚拟机克隆会产生以下问题需要解决网络标识冲突IP地址和主机名完全相同会导致网络通信异常SSH密钥重复所有节点的SSH主机密钥和用户密钥完全一致集群状态残留HDFS ClusterID、ZooKeeper epoch等状态信息需要重置配置指向错误所有配置文件仍指向原集群节点3. 网络配置修改3.1 修改静态IP地址每台节点需要修改自己的IP地址# hadoop4上执行 nmcli con modify ens33 ipv4.addresses 192.168.121.170/24 nmcli con modify ens33 ipv4.gateway 192.168.121.2 nmcli con modify ens33 ipv4.dns 8.8.8.8 nmcli con modify ens33 ipv4.method manual nmcli con up ens33注意ens33是网卡名称可通过nmcli device status查看实际网卡名3.2 修改主机名分别在每台节点上执行# hadoop4上 hostnamectl set-hostname hadoop4 # hadoop5上 hostnamectl set-hostname hadoop5 # hadoop6上 hostnamectl set-hostname hadoop63.3 更新hosts文件所有节点都需要更新/etc/hostscat /etc/hosts EOF 192.168.121.170 hadoop4 192.168.121.171 hadoop5 192.168.121.172 hadoop6 EOF完成后重启所有节点使配置生效。4. SSH密钥与免密登录配置4.1 重新生成SSH密钥克隆后所有节点的SSH密钥相同需要重新生成rm -f ~/.ssh/id_rsa ~/.ssh/id_rsa.pub ~/.ssh/known_hosts ~/.ssh/authorized_keys ssh-keygen -t rsa -N -f ~/.ssh/id_rsa4.2 配置节点间免密登录在hadoop4上执行ssh-copy-id roothadoop4 ssh-copy-id roothadoop5 ssh-copy-id roothadoop6在其他节点上重复相同操作。完成后验证ssh roothadoop4 hostname ssh roothadoop5 hostname ssh roothadoop6 hostname5. Hadoop组件配置修改5.1 修改Hadoop核心配置使用sed批量替换配置文件中的主机名# core-site.xml sed -i s/hadoop1/hadoop4/g /export/servers/hadoop-3.3.0/etc/hadoop/core-site.xml # hdfs-site.xml sed -i s/hadoop1/hadoop4/g; s/hadoop2/hadoop5/g; s/hadoop3/hadoop6/g \ /export/servers/hadoop-3.3.0/etc/hadoop/hdfs-site.xml # 更新workers文件 cat /export/servers/hadoop-3.3.0/etc/hadoop/workers EOF hadoop4 hadoop5 hadoop6 EOF5.2 修改ZooKeeper配置sed -i s/hadoop1/hadoop4/g; s/hadoop2/hadoop5/g; s/hadoop3/hadoop6/g \ /export/servers/zookeeper-3.7.0/conf/zoo.cfg注意myid文件不需要修改保持原有节点ID即可5.3 修改HBase配置sed -i s/hadoop1/hadoop4/g; s/hadoop2/hadoop5/g; s/hadoop3/hadoop6/g \ /export/servers/hbase-2.4.9/conf/hbase-site.xml # 更新regionservers cat /export/servers/hbase-2.4.9/conf/regionservers EOF hadoop4 hadoop5 hadoop6 EOF6. 历史数据清理6.1 清理HDFS数据# NameNode元数据(hadoop4) rm -rf /export/data/hadoop-3.3.0/dfs/name/* # DataNode数据(hadoop5/hadoop6) ssh roothadoop5 rm -rf /export/data/hadoop-3.3.0/dfs/data/* ssh roothadoop6 rm -rf /export/data/hadoop-3.3.0/dfs/data/*6.2 清理ZooKeeper数据# 保留myid只清理version-2目录 ssh roothadoop4 rm -rf /export/data/zookeeper/zkdata/version-2 ssh roothadoop5 rm -rf /export/data/zookeeper/zkdata/version-2 ssh roothadoop6 rm -rf /export/data/zookeeper/zkdata/version-26.3 格式化NameNodehdfs namenode -format -force7. 组件启动与验证7.1 启动顺序ZooKeeper集群HDFS集群YARN集群Hive MetastoreHBase集群7.2 启动命令示例# 启动ZooKeeper /export/servers/zookeeper-3.7.0/bin/zkServer.sh start # 启动HDFS /export/servers/hadoop-3.3.0/sbin/start-dfs.sh # 验证DataNode hdfs dfsadmin -report | head -308. 常见问题排查8.1 YARN节点注册不全如果yarn node -list显示节点不全可重启对应NodeManager/export/servers/hadoop-3.3.0/bin/yarn --daemon stop nodemanager /export/servers/hadoop-3.3.0/bin/yarn --daemon start nodemanager8.2 端口占用问题使用以下命令检查端口占用ss -tlnp | grep 9083 # 检查Hive Metastore端口 ps aux | grep -E hive|RunJar | grep -v grep8.3 SSH免密登录问题如果ssh-copy-id自身失败可手动添加公钥cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys9. 关键注意事项修改配置前务必备份使用cp命令备份重要配置文件清理数据前确认路径使用find命令确认实际数据目录位置检查systemd服务克隆前原集群的systemd服务会保留严格按照启动顺序ZooKeeper → HDFS → YARN → Hive → HBase验证各组件状态使用jps和组件自带命令验证服务状态通过以上步骤可以确保克隆后的Hadoop集群拥有独立的网络标识、全新的集群状态和正确的配置指向从而避免各种潜在问题。

相关推荐

VC++ ADO Command对象:_CommandPtr与参数化查询实战
VC++ ADO Command对象:_CommandPtr与参数化查询实战

简介:这份面向VC开发者的ADO实例包,围绕Command对象在数据库访问中的实际用法展开,适合已掌握Connection基础连接、希望进一步理解存储过程调用与参数化查询的读者对照学习。包内共11个文件,以3个cpp源文件和3个h头文件为核心&… · 2026/11/4 7:30:35

AI模型评估指南:从基础指标到工程实践
AI模型评估指南:从基础指标到工程实践

1. 从代码到模型:程序员的AI转型之路作为一名转行学习AI大模型的程序员,我深刻理解从传统编程思维转向机器学习评估体系时的困惑与挑战。记得第一次接触模型评估指标时,那些精确率、召回率、F1值就像天书一样令人头疼。但经过半年的实战摸索&… · 2026/11/4 7:30:35

WonderTrader依赖库源码编译与CMake注入避坑
WonderTrader依赖库源码编译与CMake注入避坑

简介:WonderTrader 依赖库面向在 Ubuntu 环境下编译 WonderTrader 量化交易框架的开发者,针对 GCC 11.4.0 与 Boost 等第三方依赖版本不匹配、编译链配置繁琐的问题,提供一套已在该环境验证通过的头文件集合。压缩包共约 2000 个文件&#xf… · 2026/11/4 7:30:35

Kimi-K3 上手指南:从零到首次推理的极简路径
Kimi-K3 上手指南:从零到首次推理的极简路径

Kimi-K3 上手指南:从零到首次推理的极简路径 【免费下载链接】Kimi-K3 项目地址: https://ai.gitcode.com/MoonshotAI/Kimi-K3 Kimi-K3 是 MoonshotAI 开源权重的原生多模态 Agentic 大模型,2.8T 参数、百万级上下文、MXFP4 原生量化。本文带你完… · 2026/11/4 16:06:57

如何快速在本地跑通 GitHub Actions?actrun 新手完整教程
如何快速在本地跑通 GitHub Actions?actrun 新手完整教程

【免费下载链接】actrun GitHub Actions compatible local runner 项目地址: https://gitcode.com/gh_mirrors/ac/actrun 点击查看 免费下载 还在为 GitHub Actions 的排队和慢启动烦恼吗?本文带你用 actrun(一个用 MoonBit 编写的 GitHub A… · 2026/11/4 16:06:57

Windows 冗余驱动怎么找、怎么删:Driver Store Explorer 新手实操
Windows 冗余驱动怎么找、怎么删:Driver Store Explorer 新手实操

Windows 冗余驱动怎么找、怎么删:Driver Store Explorer 新手实操 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Windows 用了好几年,驱动仓库悄悄吃掉好几个 G… · 2026/11/4 16:06:56

带宽被谁吃光?终端用 bandwhich 快速定位指南
带宽被谁吃光?终端用 bandwhich 快速定位指南

带宽被谁吃光?终端用 bandwhich 快速定位指南 【免费下载链接】bandwhich Terminal bandwidth utilization tool 项目地址: https://gitcode.com/gh_mirrors/ba/bandwhich 半夜,服务器出口带宽被顶满,你翻接口统计却查不到是谁干的。打… · 2026/11/4 15:57:52

Qwen3-VL-8B:如何用AI实现视觉推理与智能交互?
Qwen3-VL-8B:如何用AI实现视觉推理与智能交互?

Qwen3-VL-8B:如何用AI实现视觉推理与智能交互? 【免费下载链接】Qwen3-VL-8B-Thinking-unsloth-bnb-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-8B-Thinking-unsloth-bnb-4bit 导语:Qwen3-VL-8B-Thinking模… · 2026/11/4 15:56:52

从零开始学AI22——集成学习
从零开始学AI22——集成学习

集成学习核心思想是“三个臭皮匠,顶个诸葛亮”,通过组合多个弱模型提升整体性能。三大流派:Bagging(如随机森林)并行训练、投票降方差,适合抗噪稳定场景;Boosting(如XGBoost&#xf… · 2026/11/4 15:55:51

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码