设为首页 收藏本站
查看: 1215|回复: 0

[经验分享] elasticsearch部分命令

[复制链接]

尚未签到

发表于 2019-1-29 06:35:56 | 显示全部楼层 |阅读模式
  一.ES相关操作
  1.ES启动与关闭相关命令

su elastic  # elastic用户为安装ES时创建的用户,es不能用root账号启动
cd /usr/local/elasticsearch-6.4.3/  # cd 进入es安装目录
./bin/elasticsearch -d -p pid # -p 选项可以将es进程PID记录到pid文件中,该文件可以指定  -d 后台运行
####
kill -SIGTERM PID  # PID 为ES进程的PID号
  2.查看ES相关信息

]$ curl -XGET http://localhost:9200/
{
"name" : "SonoxO1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Oktq2zxmSRWcU8Fvhat2TA",
"version" : {
"number" : "6.4.3",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "fe40335",
"build_date" : "2018-10-30T23:17:19.084789Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
  二.索引的相关操作
  1.查看索引

]# curl localhost:9200/_cat/indices?v
health status index                             uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logstash-nq-coupon-2018.11.14     V2ilbJErQZGW2m9rBLXeEw   5   1     182396            0     24.9mb         24.9mb
green  open   .kibana                           llTJB8gQTS-r6oGjF8fTdg   1   0          3            0     17.6kb         17.6kb
  2.删除索引

]# curl -XDELETE http://localhost:9200/logstash-2018.11.14
{"acknowledged":true}
  3.设置索引副本数量

curl -H 'Content-Type: application/json' -XPUT http://localhost:9200/prod*/_settings -d '{"index":{"number_of_replicas":0}}'
#  prod* 所有以prod开头的index
  4.设置index模板

curl -X PUT 127.0.0.1:9200/_template/my_template -H 'Content-Type: application/json' \
-d'{"index_patterns" : ["dev*","prod*"],"order" : 0,"settings" : {"number_of_replicas" : 0}}'
# my_template  模板名称
# index_patterns 模板匹配模式,支持通配符。名称与其匹配的index将使用该模板
# order 一个index与多个模板匹配成功,则通过order大小决定使用哪个模板,默认使用数字小的
# settings 设置了默认的副本数,如果ES只有一个节点,那么副本设置为0,否则设置为1
  三.备份与恢复
  1.创建备份仓库

}# mkdir  /data/elasticsearch/bakup  # 创建备份目录
}# chown elastic.elastic  /data/elasticsearch/bakup  # 更改目录权限
# 在elasticsearch.yml配置文件中新增一行,并重新启动ES
path.repo: /data/elasticsearch/bakup
#创建仓库   es_bakup 可自定义
}# curl -H 'Content-Type: application/json' -XPUT http://localhost:9200/_snapshot/es_bakup \
-d '{"type":"fs","settings":{"location":"/data/elasticsearch/bakup","compress": "true"}}'
{"acknowledged":true}
  注:在6.X的版本中需要添加 -H 'Content-Type: application/json' 设置header,原因可参考:https://www.elastic.co/blog/strict-content-type-checking-for-elasticsearch-rest-requests
  2.查看备份仓库

]# curl -XGET http://127.0.0.1:9200/_snapshot?pretty
{
"es_bakup" : {
"type" : "fs",
"settings" : {
"compress" : "true",
"location" : "/data/elasticsearch/bakup"
}
}
}
  3.备份索引

# 备份单个索引  log_bak_2018.11.14 快照名称,可自定义
]# curl -H'Content-Type: application/json' -XPUT http://127.0.0.1:9200/_snapshot/es_bakup/log_bak_2018.11.14 \
-d '{"indices":"logstash-2018.11.14"}'
# 备份多个索引
]# curl -H 'Content-Type: application/json' -XPUT http://127.0.0.1:9200/_snapshot/es_bakup/log_bak_2018.11.14 \
-d '{"indices": "idx_1,idx_2,idx_3"}'
# 备份所有索引
]# curl -H 'Content-Type: application/json' -XPUT http://127.0.0.1:9200/_snapshot/es_bakup/bakup_all_2018.11.16
  4.查看备份的索引

]# curl -XGET http://127.0.0.1:9200/_snapshot/es_bakup/log_bak_2018.11.14?pretty
{
"snapshots" : [
{
"snapshot" : "log_bak_2018.11.14",
"uuid" : "wrDpuL8aQHe7kNn5l11WqA",
"version_id" : 6040399,
"version" : "6.4.3",
"indices" : [
"logstash-2018.11.14"
],
"include_global_state" : true,
"state" : "SUCCESS",
"start_time" : "2018-11-16T07:22:49.001Z",
"start_time_in_millis" : 1542352969001,
"end_time" : "2018-11-16T07:22:49.914Z",
"end_time_in_millis" : 1542352969914,
"duration_in_millis" : 913,
"failures" : [ ],
"shards" : {
"total" : 5,
"failed" : 0,
"successful" : 5
}
}
]
}
  5.恢复索引

# 恢复单个索引
]# curl -H 'Content-Type: application/json' -XPOST http://127.0.0.1:9200/_snapshot/es_bakup/xp-coupon-2018.11.14/_restore  \
-d '{"indices":"logstash-2018.11.14"}'
# 恢复所有索引
]# curl -H 'Content-Type: application/json' -XPOST http://127.0.0.1:9200/_snapshot/es_bakup/bakup_all_2018.11.16/_restore  
# 恢复所有索引备份中的部分索引
]# curl -H 'Content-Type: application/json' -XPOST http://127.0.0.1:9200/_snapshot/es_bakup/bakup_all_2018.11.16/_restore \
-d '{"indices":"idx_1,idx_2"}'
  6.其他
  (1)备份目录中的文件可以打包压缩,恢复时解压至备份目录即可
  (2)恢复索引时,如果该索引存在则需要先关闭该索引,恢复完成之后重新开启该索引

# 关闭某个索引
]# curl -H 'Content-Type: application/json' -XPOST http://127.0.0.1:9200/logstash-2018.11.16/_close
# 打开某个索引
]# curl -H 'Content-Type: application/json' -XPOST http://127.0.0.1:9200/logstash-2018.11.16/_open
  四.示例脚本
示例脚本用于每天备份前一天的index,其他备份策略则需要修改脚本

#!/bin/bash
SNAP_DIR=/data/elasticsearch/bakup  # 快照目录
BAKUP_DIR=/tmp  # 备份文件存放目录
DATE=`date -d -1days +%Y.%m.%d`  # 备份文件时间 index后缀  eg: logstash-lab-xp-coupon-2018.11.15
BAKUP_FILENAME=${BAKUP_DIR}/es-bakup-${DATE}.tar.gz  # 备份文件名
# 进入快照目录,删除之前的备份的快照
cd $SNAP_DIR
rm -rf ./*  # 存在一定风险性,可以考虑其他方式,比如mv
# 创建快照  其中index名称使用 *通配符加上DATE变量的形式指定
curl -H'Content-Type: application/json' -XPUT http://127.0.0.1:9200/_snapshot/es_bakup/es_bakup_${DATE}?wait_for_completion=true -d '{"indices":"*'${DATE}'"}'
sleep 5
# 打包快照目录至备份目录
tar czf ${BAKUP_FILENAME} ./*



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668858-1-1.html 上篇帖子: 当Elasticsearch遇见Kafka 下篇帖子: 安装Elasticsearch
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表