当前位置: 首页 > article >正文

克隆虚拟机组成集群

一、克隆虚拟机

1. 准备基础虚拟机
  • 确保基础虚拟机已安装好操作系统(如 Ubuntu)、Java 和 Hadoop。
  • 关闭防火墙并禁用 SELinux(如适用):

    bash

    sudo ufw disable  # Ubuntu
    sudo systemctl disable firewalld  # CentOS
    
  • 生成 SSH 密钥并配置无密码登录:

    bash

    ssh-keygen -t rsa -P ""
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
2. 克隆虚拟机
  • 使用虚拟化软件(如 VMware 或 VirtualBox)克隆基础虚拟机。
  • 至少克隆 3 台虚拟机(1 个 NameNode + 2 个 DataNode)。
  • 为每个克隆机分配唯一的静态 IP 地址(如:192.168.1.101~103)。

二、配置集群

1. 修改主机名和 hosts 文件
  • 在每台虚拟机上修改主机名:

    bash

    sudo hostnamectl set-hostname hadoop-master  # 主节点
    sudo hostnamectl set-hostname hadoop-slave1  # 从节点1
    sudo hostnamectl set-hostname hadoop-slave2  # 从节点2
    
  • 编辑 /etc/hosts 文件,添加所有节点的 IP 和主机名映射:

    plaintext

    192.168.1.101 hadoop-master
    192.168.1.102 hadoop-slave1
    192.168.1.103 hadoop-slave2
    
2. 配置 SSH 无密码登录
  • 在主节点(hadoop-master)上收集所有节点的公钥:

    bash

    ssh-copy-id hadoop-master
    ssh-copy-id hadoop-slave1
    ssh-copy-id hadoop-slave2
    
  • 测试连接:

    bash

    ssh hadoop-slave1  # 应无需密码登录
    
3. 配置 Hadoop

在主节点上修改 Hadoop 配置文件(路径:$HADOOP_HOME/etc/hadoop):

core-site.xml

xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop-master:9000</value></property>
</configuration>
hdfs-site.xml

xml

<configuration><property><name>dfs.replication</name><value>2</value>  <!-- 副本数,通常等于从节点数量 --></property><property><name>dfs.namenode.name.dir</name><value>file:/opt/hadoop/data/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>file:/opt/hadoop/data/datanode</value></property>
</configuration>
mapred-site.xml

xml

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
yarn-site.xml

xml

<configuration><property><name>yarn.resourcemanager.hostname</name><value>hadoop-master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration>
workers

plaintext

hadoop-slave1
hadoop-slave2

三、同步配置并启动集群

1. 同步配置文件到所有从节点

bash

scp $HADOOP_HOME/etc/hadoop/* hadoop-slave1:$HADOOP_HOME/etc/hadoop/
scp $HADOOP_HOME/etc/hadoop/* hadoop-slave2:$HADOOP_HOME/etc/hadoop/
2. 格式化 NameNode(仅首次启动时执行)

bash

hdfs namenode -format
3. 启动集群

bash

start-dfs.sh  # 启动 HDFS
start-yarn.sh  # 启动 YARN
4. 验证集群状态

bash

# 在主节点查看进程
jps# 应看到以下进程:
# - NameNode、ResourceManager(主节点)
# - DataNode、NodeManager(从节点)# 访问 Web UI
http://hadoop-master:9870  # HDFS 管理界面
http://hadoop-master:8088  # YARN 资源管理界面

四、运行 WordCount 测试

bash

# 创建输入目录并上传文件
hdfs dfs -mkdir -p /user/input
hdfs dfs -put $HADOOP_HOME/README.txt /user/input# 执行 WordCount
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /user/input /user/output# 查看结果
hdfs dfs -cat /user/output/part-r-00000

相关文章:

克隆虚拟机组成集群

一、克隆虚拟机 1. 准备基础虚拟机 确保基础虚拟机已安装好操作系统&#xff08;如 Ubuntu&#xff09;、Java 和 Hadoop。关闭防火墙并禁用 SELinux&#xff08;如适用&#xff09;&#xff1a; bash sudo ufw disable # Ubuntu sudo systemctl disable firewalld # CentO…...

Docker:安装配置教程(最新版本)

文章目录 一、前言二、具体操作2.1 卸载 Docker (可选)2.2 重新安装&#xff08;使用清华大学镜像&#xff09;2.3 配置轩辕镜像加速2.4 Docker 基本命名2.5 测试是否成功 三、结语 一、前言 Docker 是一种容器化技术&#xff0c;在软件开发和部署中得到广泛的应用&#xff0c…...

R语言实战第5章(1)

第一部分&#xff1a;数学、统计和字符处理函数 数学和统计函数&#xff1a;R提供了丰富的数学和统计函数&#xff0c;用于执行各种计算和分析。这些函数可以帮助用户快速完成复杂的数学运算、统计分析等任务&#xff0c;例如计算均值、方差、相关系数、进行假设检验等。字符处…...

Redis设计与实现——单机Redis实现

RedisDB RedisDB的核心结构 键空间&#xff08;dict*dict&#xff09; 结构&#xff1a;哈希表&#xff08;字典&#xff09;&#xff0c;键为字符串对象&#xff08;SDS&#xff09;&#xff0c;值为 Redis 对象&#xff08;字符串、列表、哈希等&#xff09;。 功能&#x…...

neo4j官方示例

目录 一、准备数据 1.执行查看结果 二、操作 1.find 单个节点 2.同上&#xff0c;已某个属性去查询 3. 指定查询个数 4.条件查询 5.查询某个人出演的电影汇总 6.查询tom出演的电影中&#xff0c;还有其他演员的信息。 7.查询跟电影(Cloud Atlas)有关的演员&#xff0…...

探讨关于智能体(Agent)结合 Dify、大语言模型(LLM)以及 Qwen-3 模型的项目或概念

1. Dify 的作用 Dify 是一个开源的 AI 框架&#xff0c;它可以帮助开发者快速搭建和部署 AI 应用。它可以作为一个基础架构&#xff0c;为智能体提供以下支持&#xff1a; 应用开发与部署&#xff1a;Dify 可以帮助开发者快速搭建智能体的前端和后端架构&#xff0c;包括用户界…...

前端自学入门:HTML 基础详解与学习路线指引

在互联网的浪潮中&#xff0c;前端开发如同构建数字世界的基石&#xff0c;而 HTML 则是前端开发的 “入场券”。对于许多渴望踏入前端领域的初学者而言&#xff0c;HTML 入门是首要挑战。本指南将以清晰易懂的方式&#xff0c;带大家深入了解 HTML 基础&#xff0c;并梳理前端…...

C++.Windows图形

Windows图形 1. 基础知识1.1 Windows图形编程基础1.2 GDI与GDI+1.3 窗口消息处理2.1 注册窗口类2.2 创建窗口2.3 显示窗口3.1 创建按钮3.2 按钮消息处理4.1 设置窗口透明度4.2 透明窗口示例5.1 使用区域创建异形窗口5.2 异形窗口示例6.1 GDI+抗锯齿设置6.2 抗锯齿绘图示例7.1 D…...

vue实现与后台springboot传递数据【传值/取值 Axios 】

vue实现与后台springboot传递数据【传值/取值】 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是node.js和vue的使用。前后每一小节的内容是存在的有&#xff1a;学习and理解的关联性。【帮帮志系列文章】&#xff1a;每…...

【英语笔记(三)】介绍谓语动词的分类,初步讲解四种基本状态:一般、进行、完成、完成进行

1. 五大类谓语动词 2. 谓语动词分类 3. 动词时间 过去--------------------------现在-----------------------未来 3. 动词状态 3.1 进行状态 3.2 完成状态 3.3 完成进行状态 3.4 一般状态 4. 时间 状态 名称说明例句现在现在现在现在进行时态现在某物正在做什么事情一只…...

【Python】让Selenium 像Beautifulsoup一样,用解析HTML 结构的方式提取元素!

我在使用selenium的find_element的方式去获取网页元素&#xff0c;一般通过xpath、css_selector、class_name的方式去获取元素的绝对位置。 但是有时候如果网页多了一些弹窗或者啥之类的&#xff0c;绝对位置会发生变化&#xff0c;使用xpath等方法&#xff0c;需要经常变动。…...

2025 后端自学UNIAPP【项目实战:旅游项目】3、API接口请求封装,封装后的简单测试以及实际使用

一、创建请求封装目录 选中自己的项目&#xff0c;右键鼠标---->新建---->目录---->名字自定义【我的是api】 二、创建两个js封装文件 选中封装的目录&#xff0c;右键鼠标---->新建---->js文件---->名字自定义【我的两个js文件分别是my_http和my_api】 三…...

Mysql--基础知识点--91.2--processlist

在 MySQL 中&#xff0c;SHOW PROCESSLIST 是一个常用命令&#xff0c;用于查看当前数据库服务器上所有正在运行的线程&#xff08;进程&#xff09;信息。以下是关键点说明&#xff1a; 1. 命令用法 SHOW FULL PROCESSLIST;输出字段&#xff1a; 列名含义Id线程唯一标识符&am…...

C#中程序集的详解一

程序集&#xff08;Assembly&#xff09;是 .NET 平台中的一个重要概念&#xff0c;它是代码和资源的逻辑单元&#xff0c;也是应用程序的部署、版本控制和安全权限的最小单位。下面详细介绍其定义和常见用法&#xff1a; 1. 程序集的定义 程序集是 .NET 应用程序的构建块&am…...

解决LangChain4j报错HTTP/1.1 header parser received no bytes

问题描述 当使用langchain4j-open-ai调用自己部署的大模型服务时报错&#xff1a; public static void main(String[] args) {OpenAiChatModel model OpenAiChatModel.builder().apiKey("none").modelName("qwen2.5-instruct").baseUrl("http://19…...

Ascend的aclgraph(二)_npu_backend中还有些什么秘密?

1 _npu_backend 文章还是从代码开始 import torch_npu, torchair config torchair.CompilerConfig() # 设置图下沉执行模式 config.mode "reduce-overhead" npu_backend torchair.get_npu_backend(compiler_configconfig) opt_model torch.compile(model, back…...

ventoy安全启动怎么选_ventoy安全启动支持是开还是关

ventoy安全启动怎么选&#xff1f;Ventoy新一代多系统启动U盘解决方案。国产开源U盘启动制作工具&#xff0c;支持Legacy BIOS和UEFI模式&#xff0c;理论上几乎支持任何ISO镜像文件&#xff0c;支持加载多个不同类型的ISO文件启动&#xff0c;无需反复地格式化U盘&#xff0c;…...

MySQL文章总结,简单整理和详细整理

这篇博客文章《MySQL 有这一篇就够&#xff08;呕心狂敲37k字&#xff0c;只为博君一点赞&#xff01;&#xff01;&#xff01;&#xff09;》是一篇非常全面的MySQL基础教程&#xff0c;适合初学者和需要复习MySQL知识的开发者。以下是文章的核心内容整理&#xff1a; 一、SQ…...

CC53.【C++ Cont】二分查找的普通模版

目录 1.知识回顾 2.关键点 特点 三个模版 普通的模版(有局限) 以LeetCode上的一道题为例:704. 二分查找 分析 引入二段性:分两段,舍一段,操作另一段(这个是二分查找的本质!) 代码 提交结果 当然也可以使用随机数来分两段 普通模版总结 1.知识回顾 之前在C语言专栏…...

泛型加持的策略模式:打造高扩展的通用策略工具类

一、传统策略模式的痛点与突破 1.1 传统策略实现回顾 // 传统支付策略接口 public interface PaymentStrategy {void pay(BigDecimal amount); }// 具体策略实现 public class AlipayStrategy implements PaymentStrategy {public void pay(BigDecimal amount) { /* 支付宝支…...

【优选算法 | 链表】链表操作技巧:常见算法

算法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;双指针滑动窗口二分查找前缀和位运算模拟 链表是一种灵活的数据结构&#xff0c;广泛用于需要频繁插入和删除的场景。掌握链表的常见操作技巧&#xff0c;如插入、删除、翻转和合并等&#xff0c;能帮助开发者更…...

HTTP:十三.HTTP日志

日志记录 日志记录了跟踪使用情况、安全性、计费、错误检验。记录事务的基本信息。通常会记录下来的几个字段示例为: HTTP方法:主要记录事务用了什么方法客户端和服务器的HTTP版本:给出客户端和服务器有关的提示,比如兼容性提示什么的所请求资源的URL:记录Web站点某个资源…...

web 自动化之 selenium 元素四大操作三大切换等待

文章目录 一、元素的四大操作二、三大切换&等待1、切换窗口:当定位的元素不在当前窗口&#xff0c;则需要切换窗口2、切换iframe&#xff1a;当定位的元素在frame/iframe&#xff0c;则需要切换3、切换弹出窗口 一、元素的四大操作 1、输入 2、点击 3、获取文本 4、获取属…...

FEKO许可证的安全与合规性

在电磁仿真领域&#xff0c;FEKO软件因其出类拔萃的性能和广泛的应用场景&#xff0c;赢得了全球用户的广泛赞誉。但在这背后&#xff0c;是什么让FEKO在众多竞争者中脱颖而出&#xff1f;答案是其许可证的安全与合规性。它们不仅为用户提供了坚固的保障&#xff0c;更确保了用…...

w~大模型~合集30

我自己的原文哦~ https://blog.51cto.com/whaosoft/13284996 #VideoMamba 视频理解因大量时空冗余和复杂时空依赖&#xff0c;同时克服两个问题难度巨大&#xff0c;CNN 和 Transformer 及 Uniformer 都难以胜任&#xff0c;Mamba 是个好思路&#xff0c;让我们看看本文是…...

PBR材质-Unity/Blender/UE

目录 前言&#xff1a; 一、Unity&#xff1a; 二、Blender&#xff1a; 三、UE&#xff1a; 四、全家福&#xff1a; 五、后记&#xff1a; 前言&#xff1a; PBR流程作为表达物理效果的经典方式&#xff0c;很值得一学。纹理贴图使用的是上一期的Textures | cgbookcas…...

websocketpp 安装及使用

介绍 WebSocket 是从 HTML5 开始支持的一种网页端和服务端保持长连接的消息推送机制。 传统的 web 程序都是属于 "一问一答" 的形式&#xff0c;即客户端给服务器发送了一个 HTTP 请求&#xff0c;服务器给客户端返回一个 HTTP 响应。这种情况下服务器是属于被动…...

web:InfiniteScroll 无限滚动

InfiniteScroll 无限滚动 分页加载 <div class"data-box" v-infinite-scroll"loadMore"> <li v-fori in dataList></li> </div>form: {current: 1,size: 10,}loadMore(){console.log(this.dataList.length, this.total ,8888)if…...

LeetCode[101]对称二叉树

思路&#xff1a; 对称二叉树是左右子树对称&#xff0c;而不是左右子树相等&#xff0c;所以假设一个树只有3个节点&#xff0c;那么判断这个数是否是对称二叉树&#xff0c;肯定是先判断左右两个树&#xff0c;然后再看根节点&#xff0c;这样递归顺序我们就确认了&#xff0…...

c/c++爬虫总结

GitHub 开源 C/C 网页爬虫探究&#xff1a;协议、实现与测试 网页爬虫&#xff0c;作为一种自动化获取网络信息的强大工具&#xff0c;在搜索引擎、数据挖掘、市场分析等领域扮演着至关重要的角色。对于希望深入理解网络工作原理和数据提取技术的 C/C 开发者&#xff0c;尤其是…...