• ElasticSearch日常使用脚本


    1.启动服务要切换到非root账户 (例子:su - elk --command="/usr/local/elk/kibana/bin/kibana serve &")
    2.常用操作命令
    vim 进入文件
    cd 进入指定目录
    w 智能提示
    q! 不保存
    wq 保存
    esc 停止编辑
    : 输入命令
    i 进入编辑
    & 加在最后可以使后台运行

    ps -ef | grep elastic 查找ES进程
    kill -9 2382(进程号) 杀掉ES进程
    sh elasticsearch -d 重启ES

    安装Wget:
    yum install wget (基于 YUM 的系统)
    apt--get install wget (基于 APT 的系统)
    du -sh ./* 查看目录属性(大小等)
    yum -y install java 安装java
    wget url 下载并安装指定的url包
    tar -zcvf v5.5.0.tar.gz /usr/local/elasticsearch/plugins/ik 解压
    chown -R elk.elk /路径 授权 (例子:chown -R elk.elk /usr/local/elk/elasticsearch/logs/elasticsearch.log)
    ifconfig 查看ip
    poweroff 关闭虚拟机
    su - elastic --command="/usr/local/elk/elasticsearch/bin/elasticsearch -d" 启动es (/usr/local/kibana/bin/kibana &)
    虚拟机乔连模式可以生成内网IP

    ES:
    来获取所有接口:curl '192.168.1.135:9200/_cat?help’
    检查集群健康:curl '192.168.1.135:9200/_cat/health?v'
    集群中的节点列表:curl '192.168.1.135:9200/_cat/nodes?v'
    列出所有的索引:curl '192.168.78.129:9200/_cat/indices?v'
    搜索:curl '192.168.78.128:9200/${index}/${type}/_search'
    查集群状态:curl '192.168.1.135:9200/_cat/nodes?v’
    查看分片状态:curl '192.168.1.135:9200/_cat/shards?v’
    查看映射 curl -XGET "http://192.168.1.135:9200/yqtrackv5_cache06/_mapping?pretty"
    删除索引 curl -XDELETE 'http://192.168.1.135:9200/shakespeare'

    ----修改ip

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    修改前:
    DEVICE=eth0
    BOOTPROTO=none
    ONBOOT=yes
    NM_CONTROLLED=no
    TYPE=Ethernet
    NETMASK=255.255.255.0
    IPADDR=172.16.1.186
    GATEWAY=172.16.1.1


    修改后:
    DEVICE=eth0
    TYPE=Ethernet
    HWADDR=00:0C:29:E6:8E:B6
    UUID=7fc9a981-f305-45fc-803c-fdaf471aa9d0
    NM_CONTROLLED=yes
    BOOTPROTO=none
    ONBOOT=yes
    IPADDR=192.168.1.135
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1

    ----搜索区别

    Filter 会根据情况缓存bitset,只根据提交筛选,没有其他排序功能
    query 不会缓存,可以根据条件搜索,可排序

    //设置副本数量

    curl -XPUT "http://172.16.1.141:9200/gather.v5api-apitrack-2018.11.20/_settings?pretty=1"   -d '{

      "index" :{

        "number_of_replicas" : 0

      }

    }'

    //删除索引

    curl -XDELETE http://172.16.1.141:9200/gather.restapi-countverify-2018.11.03

    //获取索引设置

    curl -XGET http://172.16.1.141:9200/indexName/_settings?pretty

    //迁移分片

    curl -XPOST 'http://172.16.1.141:9200/_cluster/reroute' -d '{

      "commands":[{

      "move":{

        "index":"indexName",

        "shard":0,

        "from_node":"elk05",

        "to_node":"elk03"

    }}]}'

    //重新分配副本分片到节点

    curl -XPOST "http://172.16.1.141:9200/_cluster/reroute?retry_failed=true" -d'

    {

        "commands" : [

            {

              "allocate_replica" : {

                    "index" : "seller.thirdpartsitemsg-sellersitemsgnotsupport-2018.11.23", "shard" : 0,

                    "node" : "elk04"

              }

            }

        ]

    }'

    //手动分配主节点

    curl -XPOST 'http://172.16.1.141:9200/_cluster/reroute' -d '{

        "commands" : [ {

              "allocate_stale_primary" : {

                  "index" : "indexName",

                  "shard" : 0,

                  "node" : "11EbIt7",

                  "accept_data_loss": true

              }

            }

        ]

    }'

    //关闭集群分片操作

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

    //开启集群分片操作

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

    //开启集群平衡(近针对副本)

    curl -XPUT http://72.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.rebalance.enable": "replicas"}}'

    //关闭集群平衡

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.rebalance.enable": "none"}}'

    //查看集群设置

    curl -XGET http://172.16.1.41:9200/_cluster/settings?pretty=1

    //设置索引刷新时间

    curl -XPUT "http://172.16.1.41:9200/gather.storage.track/_settings?pretty=1"   -d ' {

        "index" : {

            "refresh_interval" : "30s"

            }

    }'

    //添加索引别名

    curl -XPOST 'http://172.16.1.41:9200/_aliases?pretty' -d'

    {

         "actions" : [

             { "add" : { "index" : "seller.online.track.002", "alias" : "seller.online.track.20" } }

         ]

    }'

    //添加别名并同时删除索引

    curl -XPOST 'http://172.16.1.41:9200/_aliases?pretty' -d'

    {

         "actions" : [

             { "add" : { "index" : "message.apppush.2018", "alias" : "message.apppush" } },

             { "remove_index" : { "index" : "message.apppush" } }

         ]

    }'

    //添加索引并同时设置分片及刷新时间

    curl -XPUT "http://172.16.1.141:9200/indexName?pretty" -d '

    {

        "settings" : {

          "index" : {

            "refresh_interval" : "5s",

            "number_of_shards" : "1",

            "number_of_replicas" : "1"

          }

        }

    }'

    //设置集群线程池队列长度

    curl -XPUT http://172.16.1.14:9200/_cluster/settings?pretty=1 -d '{"persistent":{"thread_pool.bulk.queue_size": 200}}'

    //排除集群节点

    curl -XPUT http://172.16.1.14:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.exclude._ip": "172.16.1.1"}}'

    //清理排除集群节点设置

    curl -XPUT http://172.16.1.14:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.exclude._ip": ""}}'

    一、数据备份

    1、备份源数据库配置文件添加存储仓库(可设置多个)并重启(如果启动已经配置了则不需重启)

    path.repo: ["/log/backup"]

    2、添加快照位置到存储仓库

    curl -XPUT http://127.0.0.1:9200/_snapshot/backup -d '{"type": "fs","settings": {"location": "/log/backup"}}'

    3、执行备份可针对指定索引

    curl -XPUT http://127.0.0.1:9200/_snapshot/backup/snapshot_1?wait_for_completion=true -d '{"indices": ".kibana"}'

    二、数据恢复

    1、恢复目标数据库配置文件添加存储仓库(可设置多个)并重启(如果启动已经配置了则不需重启)

    path.repo: ["/data/backup"]

    2、添加快照位置到存储仓库

    curl -XPUT http://127.0.0.1:9200/_snapshot/backup -d '{"type": "fs","settings": {"location": "/data/backup"}}'

    3、恢复

    curl -XPOST http://127.0.0.1:9200/_snapshot/backup/snapshot_1/_restore?wait_for_completion=true -d '{"indices": ".kibana"}'

    三、删除备份

     curl -XDELETE http://127.0.0.1:9200/_snapshot/backup/snapshot_1

    注意事项:

    1、特别注意恢复和备份的位置对应的Elasticsearch进程是否有读写权限

    node.master: true

    node.data: true

    node.ingest: false

    /etc/security/limits.conf

    elastic soft memlock unlimited

    elastic hard memlock unlimited

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

    关闭分片操作

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.rebalance.enable": "all"}}'

    curl -XPUT http://72.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.rebalance.enable": "none"}}'

    curl -XGET http://172.16.1.41:9200/_cluster/settings?pretty

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{ "commands": [ { "allocate_replica": { "index": "seller.online.track.3", "shard": 4, "node": "yqtrack-es-06" } } ] }'

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

    curl -XPUT http://172.16.1.41:9200/_settings?pretty=1   -d ' {

        "index" : {

            "number_of_replicas" : 0

            }

    }'

    curl -XPUT http://172.16.1.41:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

    curl -XPUT 'http://node3:9200/xxindex/_settings'

    curl -XGET http://172.16.1.41:9200/buyer.online.track.7/trackinfo

    重新分配分片?retry_failed=true

    curl -XPOST "172.16.1.141:9200/_cluster/reroute?retry_failed=true" -H 'Content-Type: application/json' -d'

    {

        "commands" : [

            {

              "allocate_replica" : {

                    "index" : "buyer.orderapi-operatelog-2018.09.20", "shard" : 0,

                    "node" : "elk04"

              }

            }

        ]

    }

    '

    curl -XPOST 'http://172.16.1.141:9200/_cluster/reroute' -d '{

      "commands":[{

      "move":{

        "index":"nginx-access-2018.11.15",

        "shard":0,

        "from_node":"elk03",

        "to_node":"elk05"

    }}]}'

    设置副本

    curl -XPUT "http://172.16.1.141:9200/gather.restapi-requestcost-2018.11.15/_settings?pretty=1"   -d ' {

        "index" : {

            "number_of_replicas" : 0

            }

    }'

    curl -XPUT "http://172.16.1.41:9200/gather.storage.track/_settings?pretty=1"   -d ' {

        "index" : {

            "refresh_interval" : "30s"

            }

    }'

    设置副本

    curl -XPUT "http://172.16.1.141:9200/logstash-gather.schedule-2018.05.18/_settings?pretty=1"   -d ' {

        "index" : {

            "number_of_replicas" : 1

            }

    }'

    开启分片操作

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

    curl -XGET http://127.0.0.1:9200/_cluster/settings?pretty=1

    查看集群设置

    curl -XGET http://172.16.1.41:9200/_cluster/settings?pretty=1

    关闭再平衡

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.rebalance.enable": "none"}}'

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.rebalance.enable": "replicas"}}'

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"transient":{"cluster.routing.allocation.exclude._ip": ""}}'

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"transient":{"cluster.routing.allocation.exclude._ip": ""}}'

    四、ES别名

    curl -XPOST 'http://172.16.1.41:9200/_aliases?pretty' -H 'Content-Type: application/json' -d'

    {

         "actions" : [

             { "add" : { "index" : "seller.online.track.002", "alias" : "seller.online.track.2" } },

             { "add" : { "index" : "seller.online.track.003", "alias" : "seller.online.track.3" } },

             { "add" : { "index" : "seller.archived.track.002", "alias" : "seller.archived.track.2" } },

             { "add" : { "index" : "seller.archived.track.003", "alias" : "seller.archived.track.3" } }

         ]

    }

    '

    curl -XPOST 'http://172.16.1.41:9200/_aliases?pretty' -H 'Content-Type: application/json' -d'

    {

         "actions" : [

             { "add" : { "index" : "seller.online.track.002", "alias" : "seller.online.track.20" } }

         ]

    }

    '

    curl -XPOST 'http://172.16.1.41:9200/_aliases?pretty' -H 'Content-Type: application/json' -d'

    {

         "actions" : [

             { "add" : { "index" : "message.apppush.2018", "alias" : "message.apppush" } },

             { "remove_index" : { "index" : "message.apppush" } }

         ]

    }

    '

    迁移分片

    curl -XPOST 'http://172.16.1.41:9200/_cluster/reroute' -d '{

      "commands":[{

      "move":{

        "index":"gather.storage.track",

        "shard":3,

        "from_node":"yqtrack-es-06",

        "to_node":"yqtrack-es-05"

    }}]}'

    "actions" : [

    { "remove" : { "index" : "test1", "alias" : "alias1" } }

    ]

    "actions" : [

    { "remove" : { "index" : "test1", "alias" : "alias1" } },

    { "add" : { "index" : "test2", "alias" : "alias1" } }

    ]

    "actions" : [

    { "add": { "index": "test_2", "alias": "test" } },

    { "remove_index": { "index": "test" } } 

    ]

    curl -XPOST 'http://172.16.1.41:9200/_aliases?pretty' -H 'Content-Type: application/json' -d'

    {

       "actions" : [

           { "add" : { "index" : "seller.archived.track.10", "alias" : "seller.archived.track.10 } }

        ]

    }

    '

    Shard Rebalancing Settingsedit

    The following dynamic settings may be used to control the rebalancing of shards across the cluster:

    cluster.routing.rebalance.enable

    Enable or disable rebalancing for specific kinds of shards:

    • all - (default) Allows shard balancing for all kinds of shards.
    • primaries - Allows shard balancing only for primary shards.
    • replicas - Allows shard balancing only for replica shards.
    • none - No shard balancing of any kind are allowed for any indices.

    cluster.routing.allocation.allow_rebalance

    Specify when shard rebalancing is allowed:

    • always - Always allow rebalancing.
    • indices_primaries_active - Only when all primaries in the cluster are allocated.
    • indices_all_active - (default) Only when all shards (primaries and replicas) in the cluster are allocated.

    cluster.routing.allocation.cluster_concurrent_rebalance

    Allow to control how many concurrent shard rebalances are allowed cluster wide. Defaults to 2. Note that this setting only controls the number of concurrent shard relocations due to imbalances in the cluster. This setting does not limit shard relocations due to allocation filtering or forced awareness.

    curl -XPUT "http://172.16.1.141:9200/user.email-amazonsesstat-2018.01.27?pretty" -d '

    {

        "settings" : {

          "index" : {

            "refresh_interval" : "5s",

            "number_of_shards" : "1",

            "number_of_replicas" : "1"

          }

        }

    }

    '

    curl -XGET http://127.0.0.1:9200/user.email-amazonsesstat-2018.01.27/_settings?pretty

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.cluster_concurrent_rebalance": "1"}}'

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.rebalance.enable": "none"}}'

    curl -XGET http://172.16.1.141:9200/_cluster/settings?pretty=1

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

    [2018-01-28T12:50:06,115][INFO ][logstash.outputs.elasticsearch] retrying failed action with response code: 429 ({"type"=>"es_rejected_execution_exception", "reason"=>"rejected execution of org.elasticsearch.transport.TransportService$7@263307f7 on EsThreadPoolExecutor[bulk, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@52f1a6c1[Running, pool size = 12, active threads = 12, queued tasks = 200, completed tasks = 939958]]"})

    ifcfg-eth0

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"thread_pool.bulk.queue_size": 1000}}'

    curl -XPUT 'http://172.16.1.141:9200/_settings';; -d '{  

       "number_of_shards" : 1  

    }'  

    curl -XGET http://127.0.0.1:9200/_cat/health?v

    curl -XPUT http://172.16.1.141:9200/_cluster/settings?pretty=1 -d '{"persistent":{"cluster.routing.allocation.exclude._ip": "172.16.1.144"}}'

    curl -XPUT P.P.P.P:9200/_cluster/settings -d '{

      "transient" :{

          "cluster.routing.allocation.exclude._ip" : "X.X.X.X"

       }

    }'

    .通过Id删除一条

    curl -XDELETE 'http://192.168.1.216:9200/deals.log.search/info/6486873743665922049'

    .通过查询删除数据,SearchText是keyword类型,es5.x以上版本默认可以使用_delete_by_query,2.x版本需要装插件,scroll_size是每页删除个数,默认是1000,可以自己调整

    curl -XPOST "http://192.168.1.216:9200/deals.log.search/_delete_by_query?scroll_size=5" -d '
    {
      "query": {
        "term": {
          "SearchText": "all-battery.com"
        }
      }
    }
    '
  • 相关阅读:
    python 爬虫 杂七杂八
    QPS和并发数
    ConcurrentSkipListMap/Set 基于跳表的Map和Set
    ForkJoinPool
    org.springframework.util.FileCopyUtils
    mongodb 基本概念
    mysql 子查询
    ConcurrentHashMap 并发HashMap
    mongodb 查询
    org.springframework.util.ReflectionUtils
  • 原文地址:https://www.cnblogs.com/CuiRicky/p/9365821.html
Copyright © 2020-2023  润新知