硬件配置及版本选择

153090台机器 Data Client

  • [x] 内存 32G
$ cat /proc/meminfo |grep MemTotal
MemTotal:       32947548 kB
  • [x] 磁盘 1T SSD
$ df -h
文件系统        容量  已用  可用 已用% 挂载点
udev             16G     0   16G    0% /dev
tmpfs           3.2G  4.4M  3.2G    1% /run
/dev/vda1        40G  5.0G   33G   14% /
tmpfs            16G  4.0K   16G    1% /dev/shm
tmpfs           5.0M     0  5.0M    0% /run/lock
tmpfs            16G     0   16G    0% /sys/fs/cgroup
/dev/vdb1      1008G   72M  957G    1% /mnt
tmpfs           3.2G     0  3.2G    0% /run/user/1000
  • [x] CPU

逻辑CPU个数:4,物理CPU个数:1

$ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 
4  Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
1
$ cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"
model name    : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
model name    : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
model name    : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
model name    : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
physical id    : 0
physical id    : 0
physical id    : 0
physical id    : 0
  • [x] 操作系统版本 Ubuntu 16.04
$  head -n 1 /etc/issue
Ubuntu 16.04.2 LTS \n \l
$ uname -a
Linux iZ2ze2q8du3j7164j0v6umZ 4.4.0-63-generic #84-Ubuntu SMP Wed Feb 1 17:20:32 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  • [x] 版本统一 elkelasticsearch v5.3.0kibana v5.3.0logtash v5.3.0

Lucene 6.x ,磁盘空间少一半;索引时间少一半;查询性能提升25%

Sliced Scroll类型 并发进行数据遍历

Shrink APIelasticsearch索引的shard数是固定的,设置好了之后不能修改,如果发现shard太多或者太少的问题,那么我们就可以想象成这样一种场景,在写入压力非常大的收集阶段,设置足够多的索引,充分利用shard的并行写能力,索引写完之后收缩成更少的shard,提高查询性能。

Rollover API 首先创建一个logs-0001 的索引,它有一个别名是 logs_write, 然后我们给这个 logs_write 创建了一个 rollover 规则,即这个索引文档不超过 1000 个或者最多保存 7 天的数据,超过会自动切换别名到logs-0002, 你也可以设置索引的 settingmapping 等参数 , 剩下的 es 会自动帮你处理。这个特性对于存放日志数据的场景是极为友好的。

Reindex

curl -XPOST http://localhost:9222/_reindex?slices=5 -d '
{
  "source": {
    "remote": {
      "host": "http://10.0.0.1:9200"
    },
    "index": "weixiners",
    "size": 50000
  },
  "dest": {
    "index": "weixiners-test",
    "type": "weixiner-test"
  },
  "script": {
    "inline": "ctx._source.uid = ctx._source.remove(\"_id\"); ctx._source.score = 1.0"
  }
}'

restclient5.0里面提供了第一个Java原生的REST客户端SDK,相比之前的TransportClient,版本依赖绑定,集群升级麻烦,不支持跨Java版本的调用等问题,新的基于HTTP协议的客户端对Elasticsearch的依赖解耦,没有jar包冲突,提供了集群节点自动发现、日志处理、节点请求失败自动进行请求轮询,充分发挥Elasticsearch的高可用能力,并且性能不相上下

数据结构:half_floatTextKeyword

results matching ""

    No results matching ""