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

克隆虚拟机组成集群

一、克隆虚拟机

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

相关文章:

  • 如何优化一条SQL语句的性能?
  • React中的useSyncExternalStore使用
  • Cross Encoder 架构类型
  • UART16550 IP core笔记二
  • SpringDataRedis的入门案例,以及RedisTemplate序列化实现
  • 小皮面板从未授权到RCE
  • 【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
  • 基于Python的高效批量处理Splunk Session ID并写入MySQL的解决方案
  • 【人工智能-agent】--Dify中自然语言生成SQL查询数据库
  • 如何快速入门大模型?
  • 精益数据分析(55/126):双边市场模式的挑战、策略与创业阶段关联
  • o.redisson.client.handler.CommandsQueue : Exception occured. Channel
  • 【深度学习】计算机视觉(18)——从应用到设计
  • 【大模型MCP协议】MCP官方文档(Model Context Protocol)一、开始——1. 介绍
  • Java—— 集合 Set
  • 【Spark】使用Spark集群搭建-Standalone
  • 在Web应用中集成Google AI NLP服务的完整指南:从Dialogflow配置到高并发优化
  • FFmpeg 项目中的三大核心工具详解
  • 企业管理软件:数字化转型的核心引擎
  • spdlog日志器(logger)的创建方法大全
  • 多地警务新媒体整合:关停交警等系统账号,统一信息发布渠道
  • 张笑宇:物质极大丰富之后,我们该怎么办?
  • 超新星|罚丢点球的那道坎,刘诚宇靠自己迈了过去
  • 演员发文抵制代拍获粉丝支持,媒体:追星“正确姿势”不妨多来点
  • 江西省司法厅厅长张强已任江西省委政法委分管日常工作副书记
  • 马克龙称法英正与乌克兰商议“在乌部署欧洲军队”