• HBase和ElasticSearch索引类型及存储位置


    本篇博文主要对HyperBase(HBase)、Search(ElasticSearch)的索引类型及具体存储位置进行概要总结,让大家从整体上了解TDH平台中HyperBase和Search索引的管理。后续会在大数据核心原理与实践专栏中对索引相关知识进行详细讲解。

    ESSearch索引类型存放位置
    在早期ESSearch1.X版本,会将索引存在内存,但之后发现没啥明显提升,就在2.X版本去掉了内存存储方式。故现在最新的ESSearch的索引应当存放在本地磁盘。

    具体的文件存储格式有如下几种:
        simplefs
        这是一个随机访问文件的文件存储系统,并发性能较差,多线程下存在性能瓶颈问题。如果我们想对ESSearch索引做持久化,推荐使用niofs。

        NIO FS(NIO文件系统)
        通过NIO将分片索引文件写到文件系统上,允许多线程同时读取文件。

        MMap FS(内存映射文件系统)
        将索引分片存储到文件系统上,再通过映射,将索引文件映射到内存中。map即为映射的意思。不过我们需要注意:索引文件映射到内存过程中,我们需要划分出与被映射文件大小一样的虚拟内存空间。
    # 设置Linux虚拟地址空间大小
    echo "vm.max_map_count=262144" >> /etc/sysctl.conf && sysctl -p

        MMap FS / NIO FS(缺省值, 即default_fs)
        它会为每个类型的文件选择最好的文件系统。

    HBase 索引类型及存放位置

    HBase索引分为3种:
        一级索引:即原表RowKey索引。这个当然是存放在原表中(此索引存在HDFS上)
        二级索引:在某个或某些列上建立二级索引,实现基于列的快速条件查询,此索引也是与原表一起存放(此索引存在HDFS上)
        全文索引:HBase底层借助ElasticSearch实现全文索引,而ElasticSearch的索引是存在本地磁盘上的,故HBase的全文索引也是存储在磁盘上。
        (注1:在最新版本,使用默认的存储设置default_fs就行。ESSearch会在Windows的64bit系统上使用 mmapfs,在windows的32bit系统上使用 simplefs ,除此之外默认使用 default_fs (hybrid niofs 和 mmapfs),如Linux。)
        (注2:在商业发行版大数据平台TDH上,也是默认存在本地磁盘,但同时也支持存在HDFS上)

    总结
    说了这么多,大家只要记住ElasticSearch将索引存储在本地磁盘,HBase一级索引、二级索引存在HDFS上,全文索引存在本地磁盘即可!

    原文链接:https://blog.csdn.net/whdxjbw/article/details/81133830

  • 相关阅读:
    关于云计算:IaaS的四个误解和四个猜想 浪峰小园子
    国外10个优秀的免费轻量级CMS系统 浪峰小园子
    Win8下80端口被System占用,造成Apache不能启动的解决办法 浪峰小园子
    [转载]基于内存数据库的分布式数据库架构何坤 浪峰小园子
    php短域名转换为实际域名函数 浪峰小园子
    [转载]苹果公司与分工原理 浪峰小园子
    PHPer的等级划分
    简单的无限分类树
    转换字符串编码
    php开启虚拟域名功能
  • 原文地址:https://www.cnblogs.com/qfdy123/p/12099056.html
Copyright © 2020-2023  润新知