镜缘浮影 小人本住在 苏州的城外 家里有屋又有田 生活乐无边

Elasticsearch 常用命令

2015-09-08
wilmosfang
原文地址 http://soft.dog/2015/09/08/elasticsearch-command/

前言

Elasticsearch 是一个使用得非常广泛的分布式全文检索数据库

主要有以下特性:

  • Distributed, scalable, and highly available
  • Real-time search and analytics capabilities
  • Sophisticated RESTful API

更为详细的文档可以参考 Elasticsearch Reference

下面对它常用的一些命令进行分享


概要


确认相同java版本

java -version

Note: 注意是一个 - 而不是两个 ; Elasticsearch 集群中的各节点要使用相同的java版本


配置

详细配置可以参考 Configuration

系统配置

File Descriptors

建议配置文件句柄到 32k 或 64k

可以使用 ulimit 也可以在 /etc/security/limits.conf 中进行配置

使用如下方法查看每个节点的最大文件句柄数,关注 max_file_descriptors 属性

curl localhost:9200/_nodes/process?pretty

Virtual memory

ES会使用很多的内存映射来存储索引,默认情况下操作系统对 mmap 数量配置得很少,可能会导致内存溢出的异常

查看

sysctl  vm.max_map_count

修改

sysctl -w vm.max_map_count=262144

Tip: 也可以在 /etc/sysctl.conf 中进行配置


swap

使用如下方法禁用 swap

sudo swapoff -a

Tip: 也可以在 /etc/fstab 中进行配置,注释掉包含swap的那一行


swappiness

查看

sysctl vm.swappiness 

修改

sysctl -w vm.swappiness=0

ES配置

mlockall

config/elasticsearch.yml 中配置

bootstrap.mlockall: true

使用下面命令进行查看,关注 mlockall 的值

curl http://localhost:9200/_nodes/process?pretty

Note: 如果JVM尝试去分配多于可用内存的情况下,mlockall可能会导致异常退出


cluster.name

config/elasticsearch.yml 中配置

这个是用来发现和自动加入集群的配置

cluster.name: abctest

Note: 生产环境下一定要手动指定,否则默认加入 elasticsearch 集群其它新生成的节点在没配置的情况下很容易就加入了这个集群,产生意外


node.name

这个用来指定节点名

node.name: "ES node1"

Note: 生产环境中,尽量手动指定,默认情况下ES会从3000个名字中随机挑选一个用来命名这个节点,但是这显然不便于管理


network.host

用来同时设定 network.bind_hostnetwork.publish_host

network.host: 10.10.10.200
  • network.bind_host :指定绑定IP,用来与客户端通信
  • network.publish_host :指定发布IP,用来与节点同步通信

iptables

/etc/sysconfig/iptablesfilter中要加入以下几条

-A INPUT -d 224.2.2.4/32 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT

第一条开放组播,用于相互发现

第二条开放默认的服务端口,用于提供服务

第二条开放默认的同步端口,用于节点之间通讯


启动服务

/data/elasticsearch-1.2.2/bin/elasticsearch -d -Xms512m -Xmx512m

停止服务


常用查询命令

查询健康状态

[root@esvm03 ~]# curl localhost:9200/_cat/health?v
epoch      timestamp cluster status node.total node.data shards pri relo init unassign 
1441722453 22:27:33  escluster  green           3         3     40  20    0    0        0 
[root@esvm03 ~]# 

Tip: green 代表正常 red 代表数据有丢失 yellow 代表数据完整但缺少副本集


查询节点信息

[root@esvm03 ~]# curl localhost:9200/_cat/nodes?v
host          ip            heap.percent ram.percent load node.role master name      
esvm01        10.10.10.200           23          78 0.05 d         *      ES esvm01 
esvm02        10.10.10.201           20          39 0.01 d         m      ES esvm02 
esvm03 	      10.10.10.203           49          24 0.01 d         m      ES esvm03 
[root@esvm03 ~]# 

查询分配信息

[root@esvm03 ~]# curl 'localhost:9200/_cat/allocation?v'
shards disk.used disk.avail disk.total disk.percent host          ip            node      
    13    20.9gb    274.2gb    295.2gb            7 esvm01        10.10.10.200 ES esvm01 
    14    15.6gb     82.7gb     98.4gb           15 esvm02        10.10.10.201 ES esvm02 
    13   100.5gb      1.6tb      1.6tb            5 esvm03 	  10.10.10.203 ES esvm03 
[root@esvm03 ~]# 

查询索引信息

[root@esvm03 ~]# curl localhost:9200/_cat/indices?v
health index      pri rep docs.count docs.deleted store.size pri.store.size 
green  posts        5   1   14762492       309181        4gb            2gb 
green  topics       5   1      69015            0     15.3mb          7.6mb 
green  users        5   1      16810            6     11.2mb          5.6mb 
green  bet_orders   5   1      96720           17     93.2mb         46.6mb 
[root@esvm03 ~]# 

查询节点负载

[root@esvm03 ~]# curl 'localhost:9200/_cat/fielddata?v'
id                     host          ip            node      total created_at 
sp7UBOgfSGKJaw_XPhyu-Q esvm02        10.10.10.201 ES esvm02 3.3mb      3.3mb 
LNX8Y35TTEarNaW8zZYVeQ esvm01        10.10.10.200 ES esvm01 4.4mb      4.4mb 
NeyBeQw1Qn6jsuJInDxJCQ esvm03 	     10.10.10.203 ES esvm03    0b         0b 
[root@esvm03 ~]# 

查询master信息

[root@esvm03 ~]# curl 'localhost:9200/_cat/master?v'
id                     host   ip            node      
LNX8Y35TTEarNaW8zZYVeQ esvm01 10.10.10.200 ES esvm01 
[root@esvm03 ~]# 

查询等待中的任务信息

[root@esvm03 ~]# curl 'localhost:9200/_cat/pending_tasks?v'
insertOrder timeInQueue priority source 
[root@esvm03 ~]# 

查询插件信息

[root@esvm03 ~]# curl 'localhost:9200/_cat/plugins?v'
name      component      version type url 
ES esvm01 analysis-mmseg NA      j        
ES esvm02 analysis-mmseg NA      j        
ES esvm03 analysis-mmseg NA      j        
[root@esvm03 ~]# 

查询恢复信息

[root@esvm03 ~]# curl 'localhost:9200/_cat/recovery?v'
index      shard time  type       stage source_host target_host   repository snapshot files files_percent bytes     bytes_percent 
users      0     405   relocation done  esvm01      esvm03        n/a        n/a      28    100.0%        1176005   100.0%        
users      0     52    replica    done  esvm01      esvm02        n/a        n/a      1     100.0%        1176005   100.0%        
users      1     358   relocation done  esvm01      esvm03 	  n/a        n/a      39    100.0%        1194365   100.0%        
users      1     64    replica    done  esvm01      esvm02        n/a        n/a      1     100.0%        1194365   100.0%        
users      2     671   replica    done  esvm01      esvm03 	  n/a        n/a      26    100.0%        1177678   100.0%        
users      2     6     gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
users      3     385   replica    done  esvm01      esvm03 	  n/a        n/a      14    100.0%        1168462   100.0%        
users      3     29    gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
users      4     5     gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
users      4     66    replica    done  esvm01      esvm02        n/a        n/a      1     100.0%        1187941   100.0%        
topics     0     514   replica    done  esvm01      esvm03   	  n/a        n/a      32    100.0%        1611760   100.0%        
topics     0     5     gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
topics     1     1096  relocation done  esvm01      esvm03 	  n/a        n/a      38    100.0%        1612483   100.0%        
topics     1     203   replica    done  esvm01      esvm02        n/a        n/a      17    100.0%        1459163   100.0%        
topics     2     725   relocation done  esvm01      esvm03 	  n/a        n/a      20    100.0%        1606817   100.0%        
topics     2     161   replica    done  esvm01      esvm02        n/a        n/a      14    100.0%        1466632   100.0%        
topics     3     4     gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
topics     3     94    replica    done  esvm01      esvm02        n/a        n/a      7     100.0%        1469455   100.0%        
topics     4     4     gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
topics     4     445   replica    done  esvm01      esvm02        n/a        n/a      7     100.0%        1480195   100.0%        
posts      0     25371 relocation done  esvm01      esvm03	  n/a        n/a      190   100.0%        422296109 100.0%        
posts      0     906   replica    done  esvm01      esvm02        n/a        n/a      56    100.0%        369011722 100.0%        
posts      1     32351 replica    done  esvm01      esvm03 	  n/a        n/a      202   100.0%        422354945 100.0%        
posts      1     853   gateway    done  esvm01      esvm01        n/a        n/a      60    100.0%        13380484  100.0%        
posts      2     24603 replica    done  esvm01      esvm03 	  n/a        n/a      178   100.0%        422154544 100.0%        
posts      2     723   gateway    done  esvm01      esvm01        n/a        n/a      48    100.0%        26706801  100.0%        
posts      3     905   gateway    done  esvm01      esvm01        n/a        n/a      52    100.0%        26862482  100.0%        
posts      3     1396  replica    done  esvm01      esvm02        n/a        n/a      57    100.0%        368898357 100.0%        
posts      4     236   gateway    done  esvm01      esvm01        n/a        n/a      64    100.0%        26563718  100.0%        
posts      4     1324  replica    done  esvm01      esvm02        n/a        n/a      51    100.0%        368808964 100.0%        
bet_orders 0     10210 replica    done  esvm01      esvm03 	  n/a        n/a      23    100.0%        4884128   100.0%        
bet_orders 0     14    gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
bet_orders 1     1446  relocation done  esvm01      esvm03 	  n/a        n/a      39    100.0%        4897417   100.0%        
bet_orders 1     80    replica    done  esvm01      esvm02        n/a        n/a      1     100.0%        4438870   100.0%        
bet_orders 2     3378  relocation done  esvm01      esvm03 	  n/a        n/a      36    100.0%        4874906   100.0%        
bet_orders 2     126   replica    done  esvm01      esvm02        n/a        n/a      1     100.0%        4441795   100.0%        
bet_orders 3     3     gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
bet_orders 3     206   replica    done  esvm01      esvm02        n/a        n/a      1     100.0%        4435120   100.0%        
bet_orders 4     6     gateway    done  esvm01      esvm01        n/a        n/a      0     0.0%          0         0.0%          
bet_orders 4     59    replica    done  esvm01      esvm02        n/a        n/a      1     100.0%        4430414   100.0%        
[root@esvm03 ~]# 

查询线程池信息

[root@esvm03 ~]# curl localhost:9200/_cat/thread_pool?v
host          ip            bulk.active bulk.queue bulk.rejected index.active index.queue index.rejected search.active search.queue search.rejected 
esvm01        10.10.10.200           0          0             0            0           0              0             0            0               0 
esvm02        10.10.10.201           0          0             0            0           0              0             0            0               0 
esvm03        10.10.10.203           0          0             0            0           0              0             0            0               0 
[root@esvm03 ~]# 

查看分片信息

[root@esvm03 ~]# curl localhost:9200/_cat/shards?v
index      shard prirep state      docs   store ip            node      
topics     4     p      STARTED   13804   1.5mb 10.10.10.200 ES esvm01 
topics     4     r      STARTED   13804   1.5mb 10.10.10.201 ES esvm02 
topics     0     r      STARTED   13804   1.5mb 10.10.10.203 ES esvm03 
topics     0     p      STARTED   13804   1.5mb 10.10.10.200 ES esvm01 
topics     3     p      STARTED   13803   1.5mb 10.10.10.200 ES esvm01 
topics     3     r      STARTED   13803   1.5mb 10.10.10.201 ES esvm02 
topics     1     p      STARTED   13802   1.5mb 10.10.10.203 ES esvm03 
topics     1     r      STARTED   13802   1.5mb 10.10.10.201 ES esvm02 
topics     2     p      STARTED   13804   1.5mb 10.10.10.203 ES esvm03 
topics     2     r      STARTED   13804   1.5mb 10.10.10.201 ES esvm02 
users      4     p      STARTED    3378   1.1mb 10.10.10.200 ES esvm01 
users      4     r      STARTED    3378   1.1mb 10.10.10.201 ES esvm02 
users      0     p      STARTED    3352   1.1mb 10.10.10.203 ES esvm03 
users      0     r      STARTED    3352   1.1mb 10.10.10.201 ES esvm02 
users      3     r      STARTED    3358   1.1mb 10.10.10.203 ES esvm03 
users      3     p      STARTED    3358   1.1mb 10.10.10.200 ES esvm01 
users      1     p      STARTED    3371   1.1mb 10.10.10.203 ES esvm03 
users      1     r      STARTED    3371   1.1mb 10.10.10.201 ES esvm02 
users      2     r      STARTED    3351   1.1mb 10.10.10.203 ES esvm03 
users      2     p      STARTED    3351   1.1mb 10.10.10.200 ES esvm01 
posts      4     p      STARTED 2953598 408.8mb 10.10.10.200 ES esvm01 
posts      4     r      STARTED 2953598 410.4mb 10.10.10.201 ES esvm02 
posts      0     p      STARTED 2952734 410.8mb 10.10.10.203 ES esvm03 
posts      0     r      STARTED 2952734 410.8mb 10.10.10.201 ES esvm02 
posts      3     p      STARTED 2951829 410.7mb 10.10.10.200 ES esvm01 
posts      3     r      STARTED 2951829 410.7mb 10.10.10.201 ES esvm02 
posts      1     r      STARTED 2953276 410.9mb 10.10.10.203 ES esvm03 
posts      1     p      STARTED 2953277   411mb 10.10.10.200 ES esvm01 
posts      2     r      STARTED 2951441 410.6mb 10.10.10.203 ES esvm03 
posts      2     p      STARTED 2951441 410.7mb 10.10.10.200 ES esvm01 
bet_orders 4     p      STARTED   19351   9.3mb 10.10.10.200 ES esvm01 
bet_orders 4     r      STARTED   19351   9.3mb 10.10.10.201 ES esvm02 
bet_orders 0     r      STARTED   19351   9.3mb 10.10.10.203 ES esvm03 
bet_orders 0     p      STARTED   19351   9.3mb 10.10.10.200 ES esvm01 
bet_orders 3     p      STARTED   19351   9.3mb 10.10.10.200 ES esvm01 
bet_orders 3     r      STARTED   19351   9.3mb 10.10.10.201 ES esvm02 
bet_orders 1     p      STARTED   19350   9.3mb 10.10.10.203 ES esvm03 
bet_orders 1     r      STARTED   19350   9.3mb 10.10.10.201 ES esvm02 
bet_orders 2     p      STARTED   19350   9.3mb 10.10.10.203 ES esvm03 
bet_orders 2     r      STARTED   19350   9.3mb 10.10.10.201 ES esvm02 
[root@esvm03 ~]# 

查询段信息

curl 'http://localhost:9200/_cat/segments?v'

太长就不列出来了


关掉一个节点

curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown'
curl -XPOST 'http://localhost:9200/_cluster/nodes/nodeId1,nodeId2/_shutdown'
curl -XPOST 'http://localhost:9200/_cluster/nodes/_master/_shutdown'

关掉所有节点

curl -XPOST 'http://localhost:9200/_shutdown'
curl -XPOST 'http://localhost:9200/_cluster/nodes/_shutdown'
curl -XPOST 'http://localhost:9200/_cluster/nodes/_all/_shutdown'

命令汇总

  • curl localhost:9200/_cat/health?v
  • curl localhost:9200/_cat/nodes?v
  • curl 'localhost:9200/_cat/allocation?v'
  • curl localhost:9200/_cat/indices?v
  • curl 'localhost:9200/_cat/fielddata?v'
  • curl 'localhost:9200/_cat/master?v'
  • curl 'localhost:9200/_cat/pending_tasks?v'
  • curl 'localhost:9200/_cat/plugins?v'
  • curl 'localhost:9200/_cat/recovery?v'
  • curl localhost:9200/_cat/thread_pool?v
  • curl localhost:9200/_cat/shards?v

原文地址 http://soft.dog/2015/09/08/elasticsearch-command/

评论