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

十三、格式化 HDFS 文件系统、启动伪分布式集群

一、 格式化 HDFS 文件系统

Hadoop 生态中的文件系统 HDFS 类似一块磁盘,初次使用硬盘需要格式化,让存储空间明白该按什么方式组织存储数据。

格式化 HDFS,此操作仅需执行一次。

执行命令:

hdfs namenode -format

如图 3.23 所示,确认格式化结果。

2023-06-14 23:28:06,122 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.num.users = 10
2023-06-14 23:28:06,122 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.windows.minute = 1,5,25
2023-06-14 23:28:06,124 INFO namenode.FSNamesystem: Retry cache on namenode is enabled
2023-06-14 23:28:06,124 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
2023-06-14 23:28:06,125 INFO util.GSet: Computing capacity for map NameNodeRetryCache
2023-06-14 23:28:06,125 INFO util.GSet: VM type       = 64-bit
2023-06-14 23:28:06,126 INFO util.GSet: 0.029999999329447746% max memory 495.5 MB = 142.6 KB
2023-06-14 23:28:06,126 INFO util.GSet: capacity      = 2^14 = 16384 entries
2023-06-14 23:28:06,149 INFO namenode.FSImage: Allocated new BlockPoolId: BP-624839550-127.0.0.1-1686754686141
说明格式化成功
2023-06-14 23:28:06,163 INFO common.Storage: Storage directory /opt/module/hadoop-3.2.1/tmp/dfs/name has been successfully formatted.
2023-06-14 23:28:06,180 INFO namenode.FSImageFormatProtobuf: Saving image file /opt/module/hadoop-3.2.1/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 using no compression
2023-06-14 23:28:06,242 INFO namenode.FSImageFormatProtobuf: Image file /opt/module/hadoop-3.2.1/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 399 bytes saved in 3 seconds .
2023-06-14 23:28:06,251 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2023-06-14 23:28:06,255 INFO namenode.FSImage: FSImageSaver clean checkpoint: txid=0 when me et shutdown.
2023-06-14 23:28:06,256 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/

图 3.23 格式化结果确认

二、启动伪分布式集群

(1)启动 Hadoop 集群

执行命令:

start-all.sh
(2)查看各节点的服务进程,确认集群启动是否成功

执行命令:

jps

如图 3.24 所示,可以查看到 NameNodeDataNodeResourceManagerSecondaryNameNodeNodeManager 五个服务进程则表示 Hadoop 启动正常。

[root@localhost ~]# jps
2708 NodeManager
2078 NameNode
2341 SecondaryNameNode
3130 Jps
2155 DataNode
2589 ResourceManager

图 3.24 Hadoop 进程

(3)确认安装部署成功

① 打开 Google 浏览器,输入地址

 http://192.168.128.130:9870

可以打开 HDFS 页面。

图 3.25 HDFS 管理页面

如图 3.25 所示,在 HDFS 主页中可以获得许多信息。

  • Overview:集群概述。介绍了集群的基本情况,包括版本、集群 ID、安全模式、数据节点文件系统的容量和使用率、数据存储的路径等基本信息。

  • Datanode:数据节点。包含了数据节点使用率柱状图、每个数据节点的磁盘使用率、运行中的节点、进入维护的节点列表、退役的节点列表等信息。

  • datanode-volume-failures:数据节点卷故障。

  • snapshot:快照。包含了快照摘要、快照目录列表、已创建的快照目录等信息。

  • startup-progress:启动进度。包含了集群启动时加载的 fsimageedits 信息。

  • Utilities:包含了集群 DFS 存储系统的可视化浏览、各个集群组件的日志等信息。

② 打开 Google 浏览器,输入地址 http://192.168.128.130:8088,可以打开 Yarn 页面。

图 3.26 YARN 管理页面

如图 3.26 所示,在 Yarn 主页中可以获得许多信息。

  • Active Nodes:表示 Yarn 集群管理的节点的个数,其实就是 NodeManager 的个数,我们集群有 1 个 NodeManager

  • Memory Total:表示 Yarn 集群管理的内存的总大小,这个内存总大小等于所有的 NodeManager 管理的内存之和。

  • Vcores Total:表示 Yarn 集群管理的 CPU 的虚拟核心的总数,这个大小等于所有的 NodeManager 管理的虚拟核心之和。

  • Scheduler Type:表示资源分配的类型。

  • Minimum Allocation:最小分配资源,即当一个任务向 Yarn 申请资源时,Yarn 至少会分配 <memory: 1024, vCores: 1> 这个资源给这个任务。分配的最小内存可以由 yarn-site.xml 配置文件中的 yarn.scheduler.minimum-allocation-mb(默认值是 1024MB)来控制,最小核心数可以由 yarn-site.xml 配置文件中的 yarn.scheduler.minimum-allocation-vcores(默认值是 1)来控制。

  • Maximum Allocation:最大分配资源,即当一个任务向 Yarn 申请资源时,Yarn 最多会分配 <memory: 1630, vCores: 2> 这个资源给这个任务。这个分配的最大内存由 yarn-site.xml 配置文件中的 yarn.scheduler.maximum-allocation-mb(默认值是 8192MB)来控制,最多核心数可以由 yarn-site.xml 配置文件中的 yarn.scheduler.maximum-allocation-vcores(默认值是 32)来控制,当然这两个值肯定不能比集群管理的资源还要多。

③ 还可以使用 netstat -ntpl 命令查看 ip 和端口地址是否正常 执行命令:

netstat -nltp

如图 3.27 所示,使用 netstat -ntpl 命令查看 ip 和端口地址。

[root@localhost ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8030            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 0.0.0.0:8031            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 0.0.0.0:8032            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 0.0.0.0:8033            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 127.0.0.1:33739         0.0.0.0:*               LISTEN      2155/java
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      2087/java
tcp        0      0 0.0.0.0:8040            0.0.0.0:*               LISTEN      2708/java
tcp        0      0 0.0.0.0:8042            0.0.0.0:*               LISTEN      2708/java
tcp        0      0 0.0.0.0:9864            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:9866            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:9867            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:9868            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:34926           0.0.0.0:*               LISTEN      2341/java
tcp        0      0 0.0.0.0:9870            0.0.0.0:*               LISTEN      2087/java
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      887/sshd
tcp        0      0 0.0.0.0:9876            0.0.0.0:*               LISTEN      2087/java
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      2589/master
tcp        0      0 0.0.0.0:13562           0.0.0.0:*               LISTEN      2708/java
tcp6       0      0 :::22                   :::*                    LISTEN      887/sshd
tcp6       0      0 ::1:125                 :::*                    LISTEN      7808/jsvc
tcp6       0      0 :::*                    :::*                    LISTEN      1897/master

图 3.27 开发端口一览

[root@localhost ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8030            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 0.0.0.0:8031            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 0.0.0.0:8032            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 0.0.0.0:8033            0.0.0.0:*               LISTEN      2589/java
tcp        0      0 127.0.0.1:33739         0.0.0.0:*               LISTEN      2155/java
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      2087/java
tcp        0      0 0.0.0.0:8040            0.0.0.0:*               LISTEN      2708/java
tcp        0      0 0.0.0.0:8042            0.0.0.0:*               LISTEN      2708/java
tcp        0      0 0.0.0.0:9864            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:9866            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:9867            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:9868            0.0.0.0:*               LISTEN      2155/java
tcp        0      0 0.0.0.0:34926           0.0.0.0:*               LISTEN      2341/java
tcp        0      0 0.0.0.0:9870            0.0.0.0:*               LISTEN      2087/java
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      887/sshd
tcp        0      0 0.0.0.0:9876            0.0.0.0:*               LISTEN      2087/java
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      2589/master
tcp        0      0 0.0.0.0:13562           0.0.0.0:*               LISTEN      2708/java
tcp6       0      0 :::22                   :::*                    LISTEN      887/sshd
tcp6       0      0 ::1:125                 :::*                    LISTEN      7808/jsvc
tcp6       0      0 :::*                    :::*                    LISTEN      1897/master

三、报错问题处理

1、主机名映射到IP问题

从报错信息 Node1: ssh: Could not resolve hostname node1: Name or service not known 来看,这是因为系统无法解析主机名 Node1,导致在启动 NameNodeSecondaryNameNode 时出现问题 ,尽管你修改了 core-site.xml 中的 NameNode 地址,但这个主机名解析问题依然存在。以下是一些可能的原因及解决办法:

/etc/hosts 文件配置问题

/etc/hosts 文件用于将主机名映射到 IP 地址,Hadoop 启动时会依赖它来解析主机名。

vim /etc/hosts
  • 解决方法:使用文本编辑器打开 /etc/hosts 文件(命令 vim /etc/hosts),确保文件中有一行包含你主机的 IP 地址和主机名的映射关系。例如,如果你的主机 IP 是 192.168.1.100,主机名是 Node1,那么文件中应该有这样一行:

    192.168.128.130 Node1

    保存文件后,再尝试启动 HDFS

2、运行进程问题(停止进程、运行进程)

NameNode 正在以进程 ID 为 3671 的进程运行,要先停止它(才能执行格式化操作)。

解决办法

可以使用以下命令停止 NameNode 进程:

hdfs --daemon stop namenode

停止后,再执行 hdfs namenode -format 命令来格式化 NameNode。

执行 stop-all.sh 停止所有服务,再执行 start-all.sh 启动

stop-all.sh 
start-all.sh

3、网页无法打开,防火墙问题

检查防火墙设置

  • 若 Hadoop 服务器开启了防火墙,需确保9870端口在防火墙的允许访问规则内。

    • 对于 iptables 防火墙,可使用

       ​​​​​​​iptables -A INPUT -p tcp --dport 9870 -j ACCEPT

      命令开放端口(需根据实际系统调整)。

    • 对于 firewalld 防火墙,可使用

      firewall-cmd --zone=public --add-port=9870/tcp --permanent

      然后再使用

      firewall-cmd --reload

      来开放端口。

http://www.dtcms.com/a/428717.html

相关文章:

  • 国产化+国际化双驱适配,ZStack Cloud v5.4.0 LTS应用市场一键解锁更丰富的云服务能力
  • 电商网站建站开发语言网络营销策划的主要特点
  • C++---运行时类型信息(Run-Time Type Information,RTTI)
  • php是前端还是后端大连谷歌seo
  • 学校网站 建设措施外贸网站优化公司
  • 基础建设期刊在哪个网站可以查万网cname解析
  • 深圳市建设工程网站十大装修公司排行榜
  • 【完整源码+数据集+部署教程】苹果病害图像分割系统: yolov8-seg-EfficientRepBiPAN
  • 网站搜索框如何做wordpress 文章php
  • 做网站算 自由职业者wordpress 自动连接
  • 安徽省建设厅官方网站毕业设计网站开发题目
  • 极速在线网站网站做记录访客
  • 中医理论、学派
  • 网站开发有哪几种语言html5制作网页的步骤
  • Spring AI alibaba RAG知识库基础
  • 9. Spring AI 当中对应 MCP 的操作
  • 网站优化网络重庆网页设计培训学校
  • 便携设备的技术革新:在方寸之间创造无限可能
  • C++---悬垂引用(Dangling Reference)
  • 公司网站制作设计价格内部网站如何建设
  • 深圳手机网站公司深圳英文网站建设去哪家
  • 有关建筑网站建设方案怎么做宣传网站
  • AI与云协作加持:深度解析Chaos Vantage 3.0 颠覆性更新
  • 机器学习算法以及code实现
  • 怎样开自己的网站个人域名可以做网站吗
  • 如何理解“物以类聚,人以群分”?
  • 南通企业网站怎么建设wordpress不用邮箱
  • 企业网站做的好宁波网站制作建设
  • 广州商城网站建设地址wordpress首页不显示整篇文章
  • Tensor Core的MMA与WMMA