步骤

一、冷热分离集群配置

比如三个机器共六个node的es集群。

每个机器上各挂载一个ssd 和 一个sata。每个机器需要启动两个es进程、每个进程对应不同类型的磁盘。

关键配置:

node.max_local_storage_nodes: 2   #允许每个机器启动两个es进程

path.data: /home/centos/es/elasticsearch-2.1.0/data/ssd   #需要显示指定es对应的数据目录

启动命令中需要指定node tag

./elasticsearch -d -Des.path.conf=/home/centos/es/elasticsearch-2.1./config/ssd -d --node.tag=ssd
./elasticsearch -d -Des.path.conf=/home/centos/es/elasticsearch-2.1./config/sata -d --node.tag=sata

启动以后节点如下:

二、创建索引模板

http://192.168.126.132:9200/_template/hottest/    PUT

{
"order": 1,
"template": "hottest*",
"settings": {
"index": {
"number_of_shards": "3",
"number_of_replicas": "1",
"refresh_interval": "1s",
"routing.allocation.require.tag": "ssd"
}
},
"mappings": {
"_default_": {
"properties": {
"userid": {
"index": "not_analyzed",
"type": "string"
},
"username": {
"index": "not_analyzed",
"type": "string"
},
"sex": {
"index": "not_analyzed",
"type": "string"
},
"address": {
"index": "no",
"type": "string"
}
},
"_all": {
"enabled": false
}
}
},
"aliases": {
"hottest": {}
}
}
"routing.allocation.require.tag": "ssd"  指定默认写入到 ssd 节点。

三、插入数据

http://192.168.126.132:9200/hottest_20170805/def/100001/  PUT

{
"userid": "100001",
"username": "zhangsan",
"sex": "1",
"address": "beijing"
}

在head 中看到数据全部保存在的 ssd 节点。

四、定时迁移老数据到 sata

http://192.168.126.132:9200/hottest_20170805/_settings/  PUT

{
"index.routing.allocation.require.tag": "sata"
}

在head中看到数据移动到了 sata 节点

解决了两个问题

一、使用有限的ssd节点资源来实现同时支持高并发读写和大数据量的存储。

通过配置使最新的数据保存在ssd磁盘节点上,较老的数据自动迁移到廉价sata节点。

二、用户做一次大的查询,大量的读io和聚合操作导致集群load升高,阻塞新数据的写入,能做到一定程度的读写分离。

elasticsearch 冷热数据的读写分离的更多相关文章

  1. EFK教程(3) - ElasticSearch冷热数据分离

    基于ElasticSearch多实例架构,实现资源合理分配.冷热数据分离 作者:"发颠的小狼",欢迎转载与投稿 目录 ▪ 用途 ▪ 架构 ▪ 192.168.1.51 elasti ...

  2. 在现有的mysql主从基础上,搭建mycat实现数据的读写分离

    环境准备:MySQL服务器做好主从复制:centos6的系统 主:192.168.164.131 从:192.168.164.144 mycat服务器:192.168.164.141 a.将MySQL ...

  3. net.sz.framework 框架 轻松搭建数据服务中心----读写分离数据一致性,滑动缓存

    前言 前文讲述了net.sz.framework 框架的基础实现功能,本文主讲 net.sz.framework.db 和 net.sz.framework.szthread; net.sz.fram ...

  4. Spring和MyBatis实现数据的读写分离

    移步:   http://blog.csdn.net/he90227/article/details/51248200

  5. ELK冷热数据分离

      通常情况下,我们使用ELK日志分析平台最常用的数据时间为1周或一个月(因业务场景不同,可能存在差别),时间比较长的数据没有特殊情况可能我们就没有必要再进行查询了,但是因业务需求或者作为凭证,这些日 ...

  6. 阿里云RDS读写分离数据查询延迟解决

    mysql使用RDS做数据主从读写分离.在使用的过程中发现部分业务对其他服务以来严重.但是由于系统不是采用微服务的架构,造成部分数据插入数据库后,后续操作读取数据库没有查询到前面插入的数据.查看阿里云 ...

  7. MySQL+Amoeba实现数据库主从复制和读写分离

    MySQL读写分离是在主从复制的基础上进一步通过在master上执行写操作,在slave上执行读操作来实现的.通过主从复制,master上的数据改动能够同步到slave上,从而保持了数据的一致性.实现 ...

  8. sql server 本地复制订阅 实现数据库服务器 读写分离(转载)

    转载地址:http://www.cnblogs.com/echosong/p/3603270.html 再前段echosong 写了一遍关于mysql 数据同步实现业务读写分离的文章,今天咱们来看下S ...

  9. sql server 本地复制订阅 实现数据库服务器 读写分离

    再前段echosong 写了一遍关于mysql 数据同步实现业务读写分离的文章,今天咱们来看下SQL Server的复制订阅实现数据的读写分离 比起mysql的复制,SQL server 复制相对强大 ...

随机推荐

  1. 【LuoguP5383】[模板]普通多项式转下降幂多项式

    传送门 Sol (怎么老是有人喜欢出新的多项式毒瘤板子,懒得整到一起了) 核心就是把 幂用下降幂来代替. 使用斯特林数展开幂为下降幂: \[x^n=\sum_{i=0}^n{x\choose i}i! ...

  2. Linux命令-文件管理(一)

    Linux命令-文件管理(一) 1.命令:cat cat命令用于把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 使用权限:所有使用者 语法格式:cat [-AbeEn ...

  3. 深入理解二阶段提交协议(DDB对XA悬挂事务的处理分析)(一)

    https://sq.163yun.com/blog/article/165554812476866560

  4. JS框架_(JQbar.js)柱状图动态百分比进度条特效

    百度云盘 传送门 密码:q6rt 柱状图动态百分比进度条效果 <html> <head> <title>jqbar.js柱状图动态百分比进度条特效</titl ...

  5. Java并发编程的艺术笔记(四)——ThreadLocal的使用

    ThreadLocal,即线程变量,是一个以ThreadLocal对象为键.任意对象为值的存储结构.这个结构被附带在线程上,也就是说一个线程可以根据一个ThreadLocal对象查询到绑定在这个线程上 ...

  6. 第四周课程总结&实验报告

    实验报告 1.写一个名为Rectangle的类表示矩形. 其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求 ...

  7. C# 隐藏显示桌面图标

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. TCP keepalive的详解(解惑)

    TCP是面向连接的,一般情况,两端的应用程序可以通过发送和接收数据得知对端的存活. 当两端的应用程序都没有数据发送和接收时,如何判断连接是否正常呢? 这就是SO_KEEPALIVE的作用. 1. SO ...

  9. Oracle非分区索引,全局分区索引和本地分区索引。

    1.如果按照索引是否分区作为划分依据,Oracle 的索引类型可以分为非分区索引,全局分区索引和本地分区索引. 2.创建演示实例 --创建非分区表create table test_partition ...

  10. OpenFlow/SDN 的缘起与发展

    目录 文章目录 目录 从虚拟机动态迁移对大二层网络的需求说起 OpenFlow 起源 从 OpenFlow 扩展为 SDN OpenFlow 的应用场景 网络虚拟化 – FlowVisor 负载均衡 ...