• Hadoop 学习笔记(十)HDFS 之 集群安全模式 & DateaNode


    一、集群安全模式

    概述

     语法:

    集群处于安全模式,不能执行重要操作(写操作)。集群启动完成后,自动退出安全模式。

    (1)bin/hdfs dfsadmin -safemode get        (功能描述:查看安全模式状态)

    (2)bin/hdfs dfsadmin -safemode enter    (功能描述:进入安全模式状态)

    (3)bin/hdfs dfsadmin -safemode leave     (功能描述:离开安全模式状态)

    (4)bin/hdfs dfsadmin -safemode wait      (功能描述:等待安全模式状态)

    示例:

    查看当前集群模式:

    [hui@hadoop103 hadoop]$ hdfs dfsadmin -safemode get
    Safe mode is OFF

    强制进入安全模式:

    [hui@hadoop103 hadoop]$ hdfs dfsadmin -safemode enter
    Safe mode is ON
    [hui@hadoop103 hadoop]$ hdfs dfsadmin -safemode get                        
    Safe mode is ON
    [hui@hadoop103 hadoop]$ 

    安全模式下,只能进行读取数据,但是不能进行写操作

    hdfs dfsadmin -safemode wait
    hdfs dfs -put /opt/module/hadoop-2.7.2/README.txt /
    
    [hui@hadoop103 hadoop-2.7.2]$ chmod 777 safemode.sh
    
    [hui@hadoop103 hadoop-2.7.2]$ ./safemode.sh 
    #终止
    [hui@hadoop103 hadoop-2.7.2]$ bin/hdfs dfsadmin -safemode leave

    二、DataNode 介绍

    DateNode 工作机制

    1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

    2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。

    3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。

    4)集群运行中可以安全加入和退出一些机器。

    三、DataNod 数据完整性

    1)当DataNode读取Block的时候,它会计算CheckSum。

    2)如果计算后的CheckSum,与Block创建时值不一样,说明Block已经损坏。

    3)Client读取其他DataNode上的Block。

    4)DataNode在其文件创建后周期验证CheckSum,

    四、DataNod 掉线时间设置

     需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒

    <property>
        <name>dfs.namenode.heartbeat.recheck-interval</name>
        <value>300000</value>
    </property>
    <property>
        <name> dfs.heartbeat.interval </name>
        <value>3</value>
    </property>

    五、集群添加新节点 

    1.    环境准备

           (1)在hadoop105主机上再克隆一台hadoop106主机

           (2)修改IP地址和主机名称

           (3)删除原来HDFS文件系统留存的文件(/opt/module/hadoop-2.7.2/data 和log

           (4)source 一下配置文件: 

    [hui@hadoop106 hadoop-2.7.2]$ source /etc/profile

    2.    服役新节点具体步骤

    (1)直接启动DataNode,即可关联到集群.

    [hui@hadoop106 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode
    [hui@hadoop106 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager

    (2)在hadoop105上上传文件

    hadoop fs -put /opt/module/hadoop-2.7.2/LICENSE.txt /
  • 相关阅读:
    angular中集中页面传参(我只是知识的搬运工)
    使用Cookie传递参数 ,a页面保存Cookie,b页面读取,代码如下:
    获取并处理地址栏中参数方法
    常见的css命名规范/ID命名规范/常用功能模块的命名
    angularjs 1.x 项目完整的较完整的登录验证具体代码(仅供参考)
    用angular自带的方法获取input中内容(以用户名和密码为例)的字符串长度方法
    jquery 层弹窗传值
    伯乐在线node高手的基础经验 您值得一读
    javascript 代码规范
    正确看待技术
  • 原文地址:https://www.cnblogs.com/wdh01/p/13811845.html
Copyright © 2020-2023  润新知