elasticsearch es 安装,常用语句
来源:原创
时间:2019-01-30
作者:脚本小站
分类:Linux
安装jdk:
yum install -y java-1.8.0-openjdk-devel
安装ES
下载 elasticsearch:
https://www.elastic.co/cn/downloads/elasticsearch
使用rpm安装:
下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.rpm
安装:
yum install elasticsearch-6.6.0.rpm
tar包安装方法:
下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
创建用户:
useradd es
改属主属组:
chown -R es:es elasticsearch-6.5.0
修改limits:修改后登出再登录
vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536
修改vm参数:限制一个进程可以拥有的VMA(虚拟内存区域)的数量
/etc/sysctl.conf vm.max_map_count=655360 #修改后运行 sysctl -p
运行
bin/elasticsearch
配置:
集群配置中最重要的两项是 node.name 与 network.host ,每个节点都必须ping通。其中 node.name 是节点名称主要是在 Elasticsearch 自己的日志加以区分每一个节点信息。
discovery.zen.ping.unicast.hosts 是集群中的节点信息,可以使用IP或主机名。
vim /etc/elasticsearch cluster.name: aubin-cluster # 集群名称 node.name: els1 # 节点名称,仅仅是描述名称,用于在日志中区分 path.data: /var/lib/elasticsearch # 数据的默认存放路径 path.logs: /var/log/elasticsearch # 日志的默认存放路径 network.host: 192.168.0.1 # 当前节点的IP地址 http.port: 9200 # 对外提供服务的端口,9300为集群服务的端口 discovery.zen.ping.unicast.hosts: ["172.18.68.11", "172.18.68.12","172.18.68.13"] # 集群个节点IP地址,也可以使用els、els.shuaiguoxia.com等名称,需要各节点能够解析 discovery.zen.minimum_master_nodes: 2 # 为了避免脑裂,集群节点数最少为 半数+1
查看版本:
# curl -XGET localhost:9200 { "name" : "es1", "cluster_name" : "vphotoses", "cluster_uuid" : "1q0u6R63QXGGgcfVegPqQg", "version" : { "number" : "5.3.0", "build_hash" : "3adb13b", "build_date" : "2017-03-23T03:31:50.652Z", "build_snapshot" : false, "lucene_version" : "6.4.1" }, "tagline" : "You Know, for Search" }
访问地址查看状态:
curl -XGET 'http://localhost:9200/_cat?pretty'
查看集群信息:
curl -XGET 'http://localhost:9200/_cat/nodes?pretty'
查看索引信息:
curl 'localhost:9200/_cat/indices?v' # 查看所有索引 # 创建一个名为“customer”的索引,然后再查看所有的索引 curl -XPUT 'localhost:9200/customer?pretty' curl 'localhost:9200/_cat/indices?v' # 查看某个索引 curl -XGET 'http://localhost:9200/logstash-2019.02.03/_search?pretty'
删除索引:
curl -XDELETE http://localhost:9200/customer
常用接口:
/_cat/allocation #查看单节点的shard分配整体情况 /_cat/shards #查看各shard的详细情况 /_cat/shards/{index} #查看指定分片的详细情况 /_cat/master #查看master节点信息 /_cat/nodes #查看所有节点信息 /_cat/indices #查看集群中所有index的详细信息 /_cat/indices/{index} #查看集群中指定index的详细信息 /_cat/segments #查看各index的segment详细信息,包括segment名, 所属shard, 内存(磁盘)占用大小, 是否刷盘 /_cat/segments/{index}#查看指定index的segment详细信息 /_cat/count #查看当前集群的doc数量 /_cat/count/{index} #查看指定索引的doc数量 /_cat/recovery #查看集群内每个shard的recovery过程.调整replica。 /_cat/recovery/{index}#查看指定索引shard的recovery过程 /_cat/health #查看集群当前状态:红、黄、绿 /_cat/pending_tasks #查看当前集群的pending task /_cat/aliases #查看集群中所有alias信息,路由配置等 /_cat/aliases/{alias} #查看指定索引的alias信息 /_cat/thread_pool #查看集群各节点内部不同类型的threadpool的统计信息, /_cat/plugins #查看集群各个节点上的plugin信息 /_cat/fielddata #查看当前集群各个节点的fielddata内存使用情况 /_cat/fielddata/{fields} #查看指定field的内存使用情况,里面传field属性对应的值 /_cat/nodeattrs #查看单节点的自定义属性 /_cat/repositories #输出集群中注册快照存储库 /_cat/templates #输出当前正在存在的模板信息
常用语句:
查看索引相关信息 curl -XGET kibana_sample_data_ecommerce 查看索引的文档总数 curl -XGET kibana_sample_data_ecommerce/_count 查看前10条文档,了解文档格式 curl -XPOST kibana_sample_data_ecommerce/_search { } 查看indices GET /_cat/indices/kibanna*?v&s=index 查看状态为绿的索引 GET /_cat/indices?v&health=green 按照文档总数排序,按照索引大小排序 GET /_cat/indices?v&s=docs.count:desc 查看具体的字段 GET /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,decs.count.mt 每个索引占用的内存 GET /_cat/indices?v&h=i,tm&s=tm:desc 磁盘使用 GET /_cat/allocation?v
按索引排序:
GET /_cat/indices?v&s=index:desc
安索引大小排序:
GET /_cat/indices?v&s=pri.store.size:desc
查看副本和分片数:
# 方式一 GET /k8s-prd-2021.09.02/_settings { "k8s-prd-2021.09.02": { "settings": { "index": { "creation_date": "1630540804949", "number_of_shards": "5", # 分片数 "number_of_replicas": "1", # 副本数 "uuid": "X5LslRAjQ_Obt6TnwlVWlA", "version": { "created": "6000099" }, "provided_name": "k8s-prd-2021.09.02" } } } } # 方式二 GET /_cat/shards/k8s-prd-2021.09.02 k8s-prd-2021.09.02 2 r STARTED 3837260 1.4gb 10.1.55.106 node-3 k8s-prd-2021.09.02 2 p STARTED 3837260 1.4gb 10.1.55.73 node-1 k8s-prd-2021.09.02 4 p STARTED 3835226 1.4gb 10.1.55.106 node-3 k8s-prd-2021.09.02 4 r STARTED 3835226 1.4gb 10.1.55.98 node-2 k8s-prd-2021.09.02 3 r STARTED 3833982 1.4gb 10.1.55.73 node-1 k8s-prd-2021.09.02 3 p STARTED 3833982 1.4gb 10.1.55.98 node-2 k8s-prd-2021.09.02 1 p STARTED 3838132 1.4gb 10.1.55.106 node-3 k8s-prd-2021.09.02 1 r STARTED 3838132 1.4gb 10.1.55.98 node-2 k8s-prd-2021.09.02 0 r STARTED 3836117 1.4gb 10.1.55.73 node-1 k8s-prd-2021.09.02 0 p STARTED 3836117 1.4gb 10.1.55.98 node-2
保留7天数据:
* 0 * * * /usr/bin/curl -u username:password -H'Content-Type:application/json' -d'{"query":{"range":{"@timestamp":{"lt":"now-7d","format":"epoch_millis"}}}}' -XPOST "http://127.0.0.1:9200/*-*/_delete_by_query?pretty"
查看某个索引使用通配符:
curl -XGET 'http://10.32.135.251:9200/_cat/indices?index=prod-applog-*' | sort -k 3
关闭索引自动平衡:通常使用在对单一节点进行重启操作之前的设置。
transient 临时:这些设置在集群重启之前一直会生效。一旦整个集群重启,这些设置就被清除。
persistent 永久:这些设置永久保存,除非再次被手动修改。是将修改持久化到文件中,重启之后也不影响。
GET _cluster/settings PUT _cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "none" # 关闭 } } PUT _cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "all" # 开启 } }