zoukankan      html  css  js  c++  java
  • 2020暑假第7周

      这周学习了HDFS的API系列操作。  

      首先,在Windows系统需要配置hadoop运行环境。

    然后

      然后,导入maven依赖。

       然后,使用url方式访问数据。

      然后,使用文件系统方式访问数据。

      在Java中操作HDFS,主要涉及Configuration类和FileSystem类。

      用方法:FileSystem fs = FileSystem.get(conf)来获取子类对象。

      获取FileSystem的几种方式:

      * 第三种方式

         遍历HDFS中所有文件。

         HDFS上创建文件夹。

       下载文件。

       HDFS文件上传。

      HDFS的权限访问控制,这一部分没有学太懂。

      小文件合并。

      由于Hadoop擅长存储大文件,因为大文件的元数据信息比较少,如果Hadoop集群当中有大量小文件,那么每个小文件都需要维护一份元数据信息,会大大增加集群管理元数据的内存压力,所以在HDFS的Shell命令模式下,可以通过命令:cd/export/servers         hdfs dfs -getmerge/config/*.xml  ./hello.xml     将很多hdfs文件合并成一个大文件下载到本地。

      另外,就是学习了HDFS的高可用机制。

      在Hadoop中,NameNode所处位置非常重要,整个HDFS文件系统的元数据信息都由NameNode来管理,NameNode的可用性直接决定了Hadoop的可用性,一旦NameNode进程不能工作了,就会影响整个集群的正常使用。

      在典型的HA集群中,两台独立的机器被配置为NameNode。在工作集群中,NameNode机器中的一个处于Active状态,另一个处于Standby状态。Active NameNode负责群集中的所有客户端操作,而Stanley充当从服务器。在需要的时候,Stanley机器保持足够的状态以提供快速故障切换。

      组件有:ZKFailoverController、HealthMonitor、ActiveStandbyElector、DataNode。

      Hadoop的联邦机制。

      单个NameNode的架构使得HDFS在集群扩展性和性能上都有潜在问题,NameNode成为了性能的瓶颈。Federation是联邦、联盟的意思,是NameNode的Federation,也就是说会有多个NameNode,也就会有多个namespace,即命名空间。

      解决了NameNode的横向扩展问题,但不能解决NameNode的单点故障问题。

  • 相关阅读:
    P1093 奖学金
    华容道
    回文数
    P1654 OSU!
    Noip P1063 能量项链
    Noip 寻宝
    NOIP 2009 普及组 第三题 细胞分裂
    拦截器
    OGNL
    Struts2 配置详解
  • 原文地址:https://www.cnblogs.com/fengjingfei/p/13572195.html
Copyright © 2011-2022 走看看