zoukankan      html  css  js  c++  java
  • es随想二

    一、es运行状态的监控

      es长时间批量入库时,需要对入库的性能进行监控,否则可能导致es重启,入库任务失败。

         可以编写shell脚本,每分钟用cat命令监控pending的数量,数量逐渐增大时就需要注意。

         还可以监控translog文件的大小,当translog文件不断增大,而不新建新的translog时,也说明输入的文档速度超过了处理速度。

         监控es运行状况的脚本moitorES.sh:  

    result=""
    while [ "$result"!="0000" ]
    do
    #阻塞任务统计 
       result=`curl -s -XGET 'http://27.10.3.170:9200/_cluster/pending_tasks'`
       date >>./esMonitorlog.txt
       echo "pending task: "$result >>./esMonitorlog.txt
    #获取索引中的记录数
       result=`curl -s -XGET 'http://27.10.3.170:9200/_cat/count/base_person_es`'
       echo "index file count: "$result >>./esMonitorlog.txt
    #获取bulk操作线程池状态
        result=`curl -s -XGET 'http://27.10.3.170:9200/_cat/thread_pool?v&h=id,host,active,bulk.active,bulk.size,bulk.queue,bulk.reject,bulk.completed`'
        echo $result  >>./esMonitorlog.txt
    #ping主节点
      ping -w 3 -c 2 27.10.3.170 |sed -n '2,3p' >>./esMonitorlog.txt
      echo "----------------------------------" >>./esMonitorlog.txt
      sleep 3
    done
      

    二、es的配置文件yml中,空格后面一定要有空格,否则启动时报错。

         如: master = true

    三、监控网络状况,网络不好时客户端5s内收不到相应主动断开连接,可以设置为20s。

    四、ES默认的内存为Xms1g,Xmx4g,这些在实际服务器中是需要调整的。

          bin目录中的进行设置,Xms和Xmx设置大小相等。机器内存小于64g时,es内存为机器内存一半。es机器内存不要超过32g,这也是jvm设置的建议。

          例如机器为128g内存,可以开2个32g的es节点。

    五、不要用kill -9来杀死es进程,es属于磁盘读写较多的程序,使用kill而非kill -9。

          windows下的es使用ctrl+c来结束进程,而不要直接关闭窗口。都会导致文件,数据的丢失。

  • 相关阅读:
    Linux写时拷贝技术(copy-on-write)
    crontab使用进程锁解决冲突
    Better Linux Disk Caching & Performance with vm.dirty_ratio & vm.dirty_background_ratio
    精确度量Linux下进程占用多少内存的方法
    在Linux系统的服务器上使用Memtester进行内存压力测试
    How to speed up insertion performance in PostgreSQL
    Mongo的备份和恢复(mongodump 和mongorestore )
    MongoDB:删除操作
    MongoDB插入数据的3种方法
    Centos 软连接和硬链接
  • 原文地址:https://www.cnblogs.com/lnlvinso/p/6403657.html
Copyright © 2011-2022 走看看