本篇博文主要对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

HBase和ElasticSearch索引类型及存储位置的更多相关文章

  1. mysql索引类型(按存储结构划分)

    关于mysql索引类型,网上有很多相关的介绍,给人的感觉很乱.鄙人在翻阅相关书籍后,特意梳理了一下.哪里有不对的地方,欢迎指正! 1. B-Tree索引 它使用B-Tree数据结构来存储数据,实际上很 ...

  2. Elasticsearch - 搜索类型与搜索位置

    一.搜索类型: Elasticsearch同意用户选择其所希望的处理查询的方式. 由于存在一些不同的情形,对其使用不同的搜索类型才是合适的.为了控制查询的运行方式,我们能够在请求中使用search_t ...

  3. elasticsearch 索引 类型 id

    zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat logstash_indexer01.conf  input {         redi ...

  4. C语言变量的类型和存储位置

    . C语言变量主要分为全局变量.静态全局变量.局部变量.静态局部变量和寄存器变量.其中静态变量用static关键字进行修饰.程序所占用的内存可以分为以下几个部分: ()代码段-存放程序代码,只读的,不 ...

  5. Elasticsearch索引原理

    转载 http://blog.csdn.net/endlu/article/details/51720299 最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计 ...

  6. 【Java编程思想阅读笔记】Java数据存储位置

    Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...

  7. Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)

    Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...

  8. 匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置

    0x00 前言: 匹夫在日常和别人交流的时候,常常会发现一旦讨论涉及到“类型”,话题的热度就会立马升温,因为很多似是而非.或者片面的概念常常被人们当做是全面和正确的答案.加之最近在园子看到有人翻译的& ...

  9. mysql中常见的存储引擎和索引类型

    存储引擎 1.      定义 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类 ...

随机推荐

  1. Linux下docker中安装宝塔面板教程

    本人云服务器,装的cent os7.6,在cent os7.6已装了docker,没装的可以借鉴 https://www.cnblogs.com/xiaoyige/p/12673076.html 1. ...

  2. 第2章 HTML中的JavaScript

    目录 1. script标签 1.1 标签位置 1.2 defer推迟执行脚本 1.3 async异步执行脚本 1.4 动态加载脚本 2. noscript标签 1. script标签 <scr ...

  3. Lesson_strange_words3

    can 电话耳机,(头戴式听筒) determine 决定 perform 执行 regular 常规的 duty 责任 compatible 兼容 preset 预置,预设 in either or ...

  4. redis 6.0新特性

    防止忘记,记录一下 1.多线程IO Redis 6引入多线程IO,但多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程.之所以这么设计是不想因为多线程而变得复杂,需要去控制 key. ...

  5. 通过写n本书的积累,我似乎找到了写好技术文章的方法(回复送我写的python股票电子书)

    我写的书不算少,写的博文就更多了,但大多数书的销量也就一般,而我写的技术文章里,虽然也有点击过万的,但不少点击量也就只有三位数. 通过不断反思,也通过对比了一些畅销书和顶流文章,我似乎找到了一些原因, ...

  6. 【Linux】常用的Linux可插拔认证模块(PAM)应用举例:pam_limits.so、pam_rootok.so和pam_userdb.so模块

    常用的Linux可插拔认证模块(PAM)应用举例:pam_limits.so.pam_rootok.so和pam_userdb.so模块 pam_limits.so模块: pam_limits.so模 ...

  7. SwiftUI 中一些和响应式状态有关的属性包装器的用途

    SwiftUI 借鉴了 React 等 UI 框架的概念,通过 state 的变化,对 View 进行响应式的渲染.主要通过 @State, @StateObject, @ObservedObject ...

  8. pyinstaller打包shotgun有关的程序

    By 鬼猫猫 http://www.cnblogs.com/muyr/ 背景 使用pyinstaller打包跟shotgun有关的程序后,在自己电脑上运行都OK,但是编译好的exe在其他人的电脑上运行 ...

  9. 转 9 jmeter之检查点

    9 jmeter之检查点   jmeter有类似loadrunner检查点的功能,就是断言中的响应断言. 1.响应断言(对返回文字结果进行相应的匹配)右击请求-->添加-->断言--> ...

  10. Android N wifi auto connect流程分析

    定义 当有两个或者两个以上的已经保存的无线网络可以连接时,系统通过选择算法来选择一个最优网络. 在Android L,wifi的自动重连机制是由WifiAutoJoinController 类来实现, ...