elasticsearch常用的一些集群命令

查看集群健康状态

get请求
/_cat/health?v epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1543918646 18:17:26 haha-elk yellow 1 1 3481 3481 0 0 3480 0 - 50.0%
时间戳 utc时间 集群名称 集群状态 总的节点数 储存节点 分片数量 复制分片数量 主要讲下 status
集群的状态有三种 green,yellow,red
- green 集群状态健康完善
- yellow 所有数据可用,但没有副本,当我们是单点集群的时候,我们就是yellow状态
- red 某些数据由于某种原因不可用。

查看集群的节点列表

get请求
/_cat/nodes?v
通过这个命令我们可以查看我们集群中有几个节点 ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1 72 89 9 0.23 0.26 0.21 mdi * haha-elastic-1
地址 堆所占百分比 内存使用的百分比 cpu 负载 1分钟 2分钟 15分钟(top) 是否为主节点 节点名称

查看所有的索引

get请求
/_cat/indices?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open ljf-order-service-2018-10-04 XhIN9cfFTO6ZaGLg4Ucuog 5 1 2874 0 1.1mb 1.1mb
yellow open ljf-account-service-2018-11-01 1NXXkKZnSxub5quXwNQqUQ 5 1 7603 0 2.4mb 2.4mb 健康状态 状态 索引名称 id 主分片 一个副本(默认值) 文档数量 删除文档的数量 大小 副本大小 您可能还注意到客户索引标记了黄色运行状况。回想一下我们之前的讨论,黄色表示某些副本尚未(尚未)分配。此索引发生这种情况的原因是因为默认情况下Elasticsearch为此索引创建了一个副本。由于我们目前只有一个节点在运行,因此在另一个节点加入集群的较晚时间点之前,尚无法分配一个副本(用于高可用性)。将该副本分配到第二个节点后,此索引的运行状况将变为绿色。

删除索引

get请求
XDELETE /'索引名称'?pretty 删除成功返回值
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

查询索引的某个文档内容

get请求
/indexname/type/id indexname ---> 索引名称 示例:l1-online-h5-service-2018-12-05 type ---> 文档类型 (一般为doc) id ---> id值

更新文档

elasticsearch  更新文档的时候是会删除旧的文档,给新的文档编制索引。

POST  /indexname/type/id/_update?pretty
{
"doc": { "name": "Jane Doe" }
}

删除文档

DELETE /indexname/type/id?pretty

查看分片的分布和里面文档的大小

get 请求

/_cat/shards?v

返回内容解析

index(索引名称)                      shard(分片位置)   prirep(主分片还是副本) state(状态)    docs(文档数量)    store(储存大小) ip(节点地址)           node(节点名称)
ljf-online-user-service-2018-11-13 2 p STARTED 4189 2.1mb 172.16.2.208 djx-elastic-1
ljf-online-user-service-2018-11-13 2 r STARTED 4189 2.1mb 172.16.2.209 djx-elastic-2
ljf-online-user-service-2018-11-13 3 p STARTED 4172 2.1mb 172.16.2.208 djx-elastic-1
ljf-online-user-service-2018-11-13 3 r STARTED 4172 2.1mb 172.16.2.209 djx-elastic-2
ljf-online-user-service-2018-11-13 1 p STARTED 4110 2.1mb 172.16.2.208 djx-elastic-1

截止LUCENE-5843,最大文档数限制是2,147,483,519(= Integer.MAX_VALUE - 128)文档。

自动创建索引

elasticsearch.yml 下的action.auto_create_index

默认是开启的,如果我们需要关闭的话,我们需要允许x-apck去创建索引。

添加以下内容:

action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

定时删除索引

#!/bin/bash
######################################################
# $Name: clean_amazon_index.sh
# $Version: v1.0
# $Function: clean amazon log index
# $Author: djx
# $Create Date: 2017-10-18
# $Description: shell
######################################################
#本文未加文件锁,需要的可以加
#脚本的日志文件路径
CLEAN_LOG="/var/log/clean_amazon_index.log"
#索引前缀
INDEX_PRFIX="amazon-mysql-log"
#elasticsearch 的主机ip及端口
SERVER_PORT=192.168.1.123:9200
#取出已有的索引信息
INDEXS=$(curl -s "${SERVER_PORT}/_cat/indices?v" |grep "${INDEX_PRFIX}"|awk '{print $3}')
#删除多少天以前的日志,假设输入10,意味着10天前的日志都将会被删除
DELTIME=10
# seconds since 1970-01-01 00:00:00 seconds
SECONDS=$(date -d "$(date +%F) -${DELTIME} days" +%s)
#判断日志文件是否存在,不存在需要创建。
if [ ! -f "${CLEAN_LOG}" ]
then
touch "${CLEAN_LOG}"
fi
#删除指定日期索引
echo "----------------------------clean time is $(date +%Y-%m-%d_%H:%M:%S) ------------------------------" >>${CLEAN_LOG}
for del_index in ${INDEXS}
do
indexDate=$( echo ${del_index} |cut -d "-" -f 4,5,6 )
#根据索引的名称的长度进行切割,不同长度的索引在这里需要进行对应的修改
indexSecond=$( date -d ${indexDate} +%s )
if [ $(( $SECONDS- $indexSecond )) -gt 0 ]
then
echo "${del_index}" >>${CLEAN_LOG}
#取出删除索引的返回结果
delResult=`curl -s -XDELETE "${SERVER_PORT}/"${del_index}"?pretty" |sed -n '2p'`
#写入日志
echo "clean time is $(date)" >>${CLEAN_LOG}
echo "delResult is ${delResult}" >>${CLEAN_LOG} fi
done

最后添加到定时任务即可。

elasticsearch(四) 之 elasticsearch常用的一些集群命令的更多相关文章

  1. hbase 在线修复集群命令

    前提:HDFS fsck确保hbase根目录下文件没有损坏丢失,如果有,则先进行corrupt block移除. 切记:一定要在所有Region都上线之后再修复,否则修复之后可能出现重复Region. ...

  2. redis集群命令及常规操作

    集群命令 [root@redis06 etc]# redis-cli --cluster help Cluster Manager Commands: create host1:port1 ... h ...

  3. Elasticsearch 6.x版本全文检索学习之集群调优建议

    1.系统设置要到位,遵照官方建议设置所有的系统参数. https://www.elastic.co/guide/en/elasticsearch/reference/6.7/setup.html 部署 ...

  4. Elasticsearch学习系列七(Es分布式集群)

    核心概念 集群(Cluster) 一个Es集群由多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识 节点(Node) 一个Es实例就是一个Node.Es的配置文件中可以通过node.ma ...

  5. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  6. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  7. 分布式缓存技术redis系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  8. Tomcat学习四步走:内核、集群、参数及性能

    主题简介: 内核实现原理 分布式集群 生产部署关键参数 性能监控和分析 一.内核实现原理 HTTP Web服务器与浏览器之间以HTTP协议通信,浏览器要访问服务器即向服务器发送HTTP请求报文. 如图 ...

  9. kubernetes实战(四):k8s持久化安装rabbitmq集群

    1.下载文件 https://github.com/dotbalo/k8s/ 2.创建namespace kubectl create namespace public-service 如果不使用pu ...

随机推荐

  1. Mongodb 存储日志信息

    线上运行的服务会产生大量的运行及访问日志,日志里会包含一些错误.警告.及用户行为等信息,通常服务会以文本的形式记录日志信息,这样可读性强,方便于日常定位问题,但当产生大量的日志之后,要想从大量日志里挖 ...

  2. 团队合作项目—(GG队)

    团队展示 一.队名:GG 二.队员信息 队员 学号 叶尚文(队长) 3116008802 蔡晓晴 3216008808 杜婷萱 3216008809 龙剑初 3116004647 于泽浩 311600 ...

  3. 基于Maven的S2SH(Struts2+Spring+Hibernate)框架搭建

    1. 前言 基于Maven的开发方式开发项目已经成为主流.Maven能很好的对项目的层次及依赖关系进行管理.方便的解决大型项目中复杂的依赖关系.S2SH(Struts2+Spring+Hibernat ...

  4. AndroidPn推送测试

    服务器搭建好了之后,往客户端推送.按照里面自带的一个client,可以分别在模拟器和真机上分别测试,不过由于这个框架真的不是很完善,会遇到各种问题. (1) 其中还遇到了一个安卓模拟器的问题,启动模拟 ...

  5. 5.WebAPI的Filter

    1.WebApi的Filter介绍: 大家知道什么是AOP(aspect oriented programming)吗?它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添 ...

  6. 解决win10不显示coreldraw x4/5/6菜单栏

    1.下载插件 https://pan.baidu.com/s/1nQ1kgUNSD7-9sjUbv5M6XA 复制链接下载插件 2.导入插件到工作区 3.设置工具栏显示 4.把工具栏拖动到菜单栏位置, ...

  7. Day 10 动态参数&名称空间,局部全部.函数嵌套&global nonlocal关键字.

    一.动态参数#形参 有3种动态参数#*args 动态参数,不定长参数def func (*args): print(args,type(args))func(1,2,"alex", ...

  8. python web开发——c2 flask框架和flask_script

    重定向/error 通过flask中的redirect方法和自定义的newpath函数.redirect_demo函数实现重定向: #coding:utf-8 from flask import Fl ...

  9. 838. Push Dominoes

    There are N dominoes in a line, and we place each domino vertically upright. In the beginning, we si ...

  10. 无法启动此程序,因为计算机中丢失QtCored4.dll。尝试重新安装该程序以解决此问题。

    在创建一个win32控制台应用程序时包含了QtCore中的头文件,并且程序编译成功(至少说明属性配置是正确的),运行此程序会出现弹出如下的一个系统错误: 这样的情况该怎么解决?提示说计算机中丢失了Qt ...