Hadoop学习总结(搭建Hadoop集群(伪分布式模式))

如果前面有搭建过Hadoop集群完全分布式模式,现在搭建Hadoop伪分布式模式可以选择直接克隆完全分布式模式中的主节点(hadoop001)。以下是在搭建过完全分布式模式下的Hadoop集群的情况进行

伪分布式模式下的Hadoop功能与完全分布式模式下的Hadoop功能相同。

一、克隆主节点为hadoop0

对完全分布式模式下的Hadoop集群主节点(hadoop001)进行克隆

点击完成后等待克隆

克隆完毕

二、修改主机名和hosts、宿主电脑的hosts

IP不用修改,还是使用hadoop001的IP,所以可以使用远程连接工具(Xshell或者SecurityCRT)进行修改

1、修改主机名为hadoop0

复制代码
vi /etc/hostname

2、修改主机hosts

复制代码
vi /etc/hosts

修改完成后进行重启,可以看到主机名为hadoop0

3、修改宿主机的hosts

通过win+R进入命令提示符页面,然后ping通虚拟机

三、重做免密登录

使用远程连接工具(Xshell或者SecurityCRT)

因为是通过对完全分布式模式下的Hadoop集群主节点(hadoop001)克隆的hadoop0,原来已经进行过免密登录了,可以删除原来生成的密钥重新生成新密钥再进行发密钥

以下删除原来生成的密钥重新生成新密钥再进行发密钥

删除原来的密钥

复制代码
rm -rf .ssh

重新生成密钥

复制代码
ssh-keygen -t rsa

一直回车

查看

进入 .ssh

复制代码
cd .ssh

发密钥:ssh-copy-id hadoop0

复制代码
ssh-copy-id hadoop0

进行查看是否生成

复制代码
cat authorized_keys

四、修改Hadoop集群节点

进入Hadoop里

复制代码
cd $HADOOP_HOME/etc/hadoop

1、修改 core-site.xml 文件

复制代码
 vi core-site.xml

该文件是Hadoop的核心配置文件,其目的是配置 HDFS 地址、端口号,以及临时文件目录。配置文件中配置了 HDFS 的主进程NameNode运行主机(也就是此次Hadoop集群的主节点位置)同时配置了Hadoop运行时生成数据的临时文件。

复制代码
添加以下内容
<property>
    <!--用于设置Hadoop的文件系统,由URL指定-->
    <name>fs.defaultFS</name>
    <!--用于指定namenode地址在hadoop0机器上-->
    <value>hdfs://hadoop0:9000</value>
</property>
<!--配置Hadoop的临时目录,默认/tmp/hadoop-${user.name}-->
<property>
    <name>hadoop.tmp.dir</name>
    <!--Hadoop安装路径-->
    <value>/opt/module/hadoop-2.7.4/data</value>
</property>

2、修改 hdfs-site.xml 文件

复制代码
vi hdfs-site.xml 

该文件作用于设置 HDFS 的NameNode 和 DataNode 两大进程。

复制代码
添加以下内容
<property>
    <!--指定 HDFS 副本的数量-->
    <name>dfs.replication</name>
    <value>3</value>
</property>
<!--secondary namenode 所在主机的IP和端口-->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop0:50090</value>
</property>

3、修改 yarn-site.xml 文件

复制代码
vi yarn-site.xml

本文件是 YARN 框架的核心配置文件,需要指定 YARN 集群的管理者。 在配置文件中配置 YARN 的主进程 ResourceManager 运行主机为hadoop0,同时配置了 NodeManager 运行时的附属服务,需要配置为 mapreduce_shuffle 才能正常运行 MapReduce 默认程序。

复制代码
添加以下内容
<property>
    <!--指定 YARN集群的管理者(ResourceManager)的地址-->
    <name>yarn.resourcemanager.hostname</name>
   <!-- 主机名-->
    <value>hadoop0</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

4、修改 slaves 文件

复制代码
vi slaves

该文件用于记录 Hadoop 集群所有从节点(HDFS 的 DataNode 和 YARN 的 NodeManager 所在主机)的主机名,用来配合一键启动集群从节点(并且还需要验证关联节点配置了 SSH 免密登录)。打开该配置,先文件删除里面的内容,然后修改为 hadoop0

5、 mapred-site.xml 文件

该文件不需要修改,因为是通过对完全分布式模式下的Hadoop集群主节点(hadoop001)克隆的hadoop0,在搭建hadoop001集群配置文件已经修改过了

五、格式化文件系统

通过 Hadoop 集群的安装和配置。此时还不能直接启动集群,因为在初次启动 HDFS 集群时,必须对主节点进行格式化处理

复制代码
hdfs namenode -format

或者

复制代码
hadoop namenode -format

执行上述任意一条都可以对 Hadoop 集群进行格式化。执行命令后,必须出现有 successfully formatted 信息才表示格式化成功

如果没有出现请检查一下Hadoop 安装和配置文件是否正确 ,如果都正确,则需要删除所有主机的 /hadoop-2.7.4 目录下的 tmp文件夹,重新执行格式化命令,对 Hadoop 集群进行格式化。

注意:格式化只能进行一次,如果多此进行可能会导致服务器运行的java进程不完全

六、启动集群服务

复制代码
start-all.sh

jps 进行查看

访问HDFS集群状态 http://hadoop0:50070/(集群服务IP + 端口号)

访问YARN集群状态 http://hadoop0:8088/(集群服务IP + 端口号)

如果集群启动不成功可以去看完全分布式模式的搭建文章,里面有解决办法

相关推荐
漂着的圆木几秒前
MCP 2026-07-28 长任务改造:别再用 HTTP 超时判断任务失败
分布式·架构·状态模式·ai agent
小雨笙笙15 分钟前
机器学习:线性回归学习
学习·机器学习·线性回归
微财经观圈16 分钟前
酒店配送机器人如何选型:普渡和优地从安全到场景的全面对比
大数据·安全·机器人
HugoStudio_SWAN18 分钟前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
学着改变27526 分钟前
2026便携式超声波流量计性能白皮书 户外巡检适用性横评
大数据·网络·人工智能·科技·产品运营·量子计算
是隼人1 小时前
buuctf-pwn [HarekazeCTF2019]baby_rop2(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
智途 Tech1 小时前
2026年分析多个Excel、CSV和网页数据的AI工具清单:Tabbit 浏览器多源引用
大数据·人工智能·excel
龙亘川1 小时前
数智赋能退役军人服务:V1.0 系统搭建全生命周期闭环服务体系
大数据·数据库·人工智能
aprilaaaaa2 小时前
(TC397 学习笔记)二、ICU和TIM的时钟计算
笔记·学习·fpga开发
Tongzhi20262 小时前
通芝科技考勤软件三大发展趋势:AI大模型、无感识别与数据底座
大数据·科技·算法·爬山算法