克隆虚拟机组成集群

一、克隆虚拟机

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
相关推荐
云表无代码开发6 小时前
雷军救WPS“三次”!WPS注入新生力量,不再抄袭微软
大数据·microsoft
燧机科技SuiJi8 小时前
山体坍塌落石滑坡泥石流监测系统 落石泥石流监控摄像机
大数据·人工智能·深度学习·yolo
AOI小白新手上路10 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
TMT星球10 小时前
工博会2026丨它石智航联合创始人陈同庆:从模型到产线,让机器人在真实场景创造真实价值
大数据·人工智能
2401_8652616313 小时前
亦唐科技:大数据如何驱动精准商业决策
大数据·科技
xiaomuzuirenzhen13 小时前
2027秋招项目复盘:数据科学与大数据技术专业如何从代码实现讲到业务价值
大数据
派小心.14 小时前
网站统计采样数据的误差核对
大数据·服务器·前端·数据库·人工智能·小程序·数据分析
JAVA_AI人工智能项目实战14 小时前
大模型结构演进.学习笔记
大数据·人工智能·语言模型·架构
古法老登瞎折腾15 小时前
大数据智能运维实战(二):准备一个可复现的运维实验环境
java·大数据·运维·spring ai·mcp
数字新视界15 小时前
机房动环监控助力智能管理
大数据·服务器·数据库·动环监控系统·动力与环境监控系统