*HDFS集群安全模式的作用?什么情况下会进入到安全模式?安全模式的解决办法?

1.进入安全模式的情况
集群启动时必定会进入安全模式:
1.NameNode启动时,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中
的各项操作.一旦在内存中成功建立文件系统元数据的映像,则创建一个新的fsimage文件
和一个空的编辑日志.此时,NameNode开始监听DataNode请求.但是此刻,NameNode
运行在安全模式,即NameNode的文件系统对于客户端来说是只读的。
2.系统中的数据块的位置并不是由NameNode维护的,而是以块列表的形式存储在
DataNode中。在系统的正常操作期间,NameNode会在内存中保留所有块位置的映射信息。
3.在安全模式下,各个DataNode会向NameNode发送最新的块列表信息,NameNode了解到
足够多的块位置信息之后,即可高效运行文件系统。
2以下情况不会进入到安全模式
4.如果满足“最小副本条件”,NameNode 会在30秒钟之后就退出安全模式。所谓的最
小副本条件指的是在整个文件系统中99.9%的块满足最小副本级别(默认值:dfs.replication.min=1)。
5.在启动一个刚刚格式化的HDFS集群时,因为系统中还没有任何块,所以NameNode不会进入安全模式。
2.异常情况下导致的安全模式
原因: block 确实有缺失,当namenode发现集群中的block丢失数量达到一个阀值时,
namenode就进入安全模式状态,不再接受客户端的数据更新请求。
[解决办法]
(1)调低阀值.
hdfs-site.xml中:
dfs.namenode.safemode.threshold-pct
0.999f
(2)强制离开。
hdfs dfsadmin -safemode leave
(3)重新格式化集群。
(4)修复损坏的块文件。
[基本语法]
集群处于安全模式,不能执行重要操作(写操作)。集群启动完成后,自动退出安全模式。
(1) bin/hdfs dfsadmin -safemode get (功能:查看安全模式状态)
(2) bin/hdfs dfsadmin -safemode enter (功能:进入安全模式状态)
(3) bin/hdfs dfsadmin -safemode leave (功能:离开安全模式状态)
(4) bin/hdfs dfsadmin -safemode wait (功能:等待安全模式状态)

### HDFS 小节测验与学习内容 #### 关于 HDFS 的核心概念 HDFSHadoop 核心组件之一,主要负责分布式环境下的大规模数据存储[^1]。它设计用于运行在通用硬件上的高容错性系统,并提供高吞吐量的数据访问能力。 #### HDFS 基础操作指南 以下是关于 HDFS 的基础操作说明及其对应的命令: 1. **创建目录** 使用 `hadoop fs -mkdir` 创建指定路径的目录。例如,在 `/user/root/` 下创建名为 `testdir` 的目录: ```bash hadoop fs -mkdir /user/root/testdir ``` 2. **上传文件** 可以通过 `hadoop fs -put` 或者 `-copyFromLocal` 将本地文件上传至 HDFS 中。例如,将本地日志文件 `email_log.txt` 上传到 HDFS 路径 `/user/root/`: ```bash hadoop fs -put email_log.txt /user/root/ ``` 3. **复制文件**HDFS 内部进行文件复制可以通过 `hadoop fs -cp` 实现。例如,将 `/demo/test/test.txt` 文件复制到 `/test/temp` 目录下: ```bash hadoop fs -cp /demo/test/test.txt /test/temp/ ``` 4. **下载文件** 如果需要从 HDFS 下载文件到本地,则可使用 `hadoop fs -get` 或 `-copyToLocal` 命令。例如,将 HDFS 上的文件 `/user/root/email_log.txt` 下载到当前工作目录: ```bash hadoop fs -get /user/root/email_log.txt . ``` 5. **删除文件或目录** 删除单个文件或者整个目录可以使用 `hadoop fs -rm` 和 `hadoop fs -rmdir` 命令。需要注意的是,默认情况下会提示确认;加上参数 `-skipTrash` 则直接跳过回收站机制立即删除。 6. **查看文件内容** 查看 HDFS 文件的内容可以直接利用 `hadoop fs -cat` 或其他相关浏览工具完成。比如显示 `/user/root/email_log.txt` 的全部内容: ```bash hadoop fs -cat /user/root/email_log.txt ``` 7. **退出安全模式**集群处于安全模式时,某些写入类的操作会被禁用。此时可通过如下指令解除限制以便正常执行后续任务: ```bash hadoop dfsadmin -safemode leave ``` 8. **启动服务节点** 开始任何实际动手实践之前,请确保已经成功启用了 NameNode、DataNode 和 SecondaryNameNode 等必要角色的服务进程。这通常由脚本 `start-dfs.sh` 自动处理完毕[^4]。 #### 测验题目示例 为了检验对以上知识点的理解程度,这里给出几个简单的问答形式练习题供参考: 1. 描述什么是 HDFS?它的主要用途是什么? 2. 如何向 HDFS 添加一个新的子目录结构并验证其存在状态? 3. 给定一个位于本地磁盘中的文本文档,请写出具体步骤将其迁移到远程 HDFS 平台之上。 4. 阐述如何实现两个不同位置之间已存在的资源互换动作(即交换源目标两者的位置关系)。 5. 解释为什么有时候我们需要手动干预来关闭系统的保护屏障——也就是所谓的“离开安全模式”。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热心市民爱抽烟屁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值