zoukankan      html  css  js  c++  java
  • 大数据之hadoop集群安全模式

    集群安全模式
    1.概述
    (1)NameNode启动
    NameNode启动时,首先将镜像文件(Fsimage)载入内存,并执行编辑日志(Edits)中的各项操作。-旦在内存中成功建立文件系统元数据的影像,则创建一个新的Fsimage文件和一个空的编辑日志。此时,NameNode开始监听DataNode请求。这个过程期间,NameNode一直运行在安全模式,即NameNode的文件系统对于客户端来说是只读的
    (2)DataNode启动
    系统中的数据块的位置并不是由NameNode维护的,而是以块列表的形式存储在DataNode中,在系统的正常操作期间,NameNode会在内存中保留所有块位置的映射信息。在安全模式下,各个DataNode会向NameNode发送最新的块列表信息,NameNode了解到足够多的块位置信息之后,即可高效运行文件系统。
    (3)安全模式退出判断
    如果满足“最小副本条件”,NameNode会在30秒钟之后就退出安全模式。所谓的最小副本条件指的是在整个文件系统99.9%的块满足最小副本级别(默认值:dfs.replication=1)。在启动一个刚刚格式化的HDFS集群时,因为系统中还没有任何块,所以NameNode不会进入安全模式。
    2.基本语法
    集群处于安全模式,不能执行重要操作(写操作)。集群启动完成后,自动退出安全模式。

    1)bin/hdfs dfsadmin -safemode get    (功能描述:查看安全模式状态)
    (2)bin/hdfs dfsadmin -safemode enter (功能描述:进入安全模式状态)
    (3)bin/hdfs dfsadmin -safemode leave    (功能描述:离开安全模式状态)
    (4)bin/hdfs dfsadmin -safemode wait    (功能描述:等待安全模式状态)

    3.案例
    模拟等待安全模式
    (1)查看当前模式

    [linyouyi@hadoop01 hadoop-2.7.7]$ hdfs dfsadmin -safemode get
    Safe mode is OFF

    (2)先进入安全模式

    [linyouyi@hadoop01 hadoop-2.7.7]$ bin/hdfs dfsadmin -safemode enter

    (3)创建并执行下面的脚本
    在/hadoop/module/hadoop-2.7.7路径上,编辑一个脚本safemode.sh

    [linyouyi@hadoop01 hadoop-2.7.7]$ touch safemode.sh
    [linyouyi@hadoop01 hadoop-2.7.7]$ vim safemode.sh
    #!/bin/bash
    hdfs dfsadmin -safemode wait
    hdfs dfs -put /hadoop/module/hadoop-2.7.7/README.txt /
    
    [linyouyi@hadoop01 hadoop-2.7.7]$ chmod 777 safemode.sh
    [linyouyi@hadoop01 hadoop-2.7.7]$ ./safemode.sh 

    (4)再打开一个窗口,执行

    [linyouyi@hadoop01 hadoop-2.7.7]$ bin/hdfs dfsadmin -safemode leave

    (5)观察
    (a)再观察上一个窗口

    [linyouyi@hadoop01 hadoop-2.7.7]$ bin/hdfs dfsadmin -safemode get
    Safe mode is OFF

    (b)HDFS集群上已经有上传的数据了。

  • 相关阅读:
    RESTful API 设计指南【转】
    一款 .NET 下的轻量级 REST 和 HTTP API 客户端
    Windows 服务开发框架介绍
    实例演示 kino.razor (前端 Javascript 模板工具,Razor 风格)的使用
    深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的
    扩展 IEnumerable<T>,让它根据另一个集合的顺序来排列
    谷歌正式发布Google APIs Client Library for .NET
    身为码农,为12306说两句公道话
    12306外包给阿里巴巴/IBM到底是否可行?
    自定义一个叫 ReadOnlyXmlMembershipProvider 的 MembershipProvider,用 XML 作为用户储藏室
  • 原文地址:https://www.cnblogs.com/linyouyi/p/11309413.html
Copyright © 2011-2022 走看看