• 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来结束进程,而不要直接关闭窗口。都会导致文件,数据的丢失。

  • 相关阅读:
    day03—JavaScript中DOM的Event事件方法
    day02-Javascript之document.write()方法
    day01-JavaScript中"Uncaught TypeError: Cannot set property 'innerHTML' of null"错误
    Linux安装Tomcat8
    CentOS7安装jdk8及环境变量配置
    Linux命令之lsof
    java如何停止一个运行的线程?
    大数据技术之Hadoop(HDFS)
    大数据技术之Hadoop入门
    用word2013 把word 文档发送到博客园
  • 原文地址:https://www.cnblogs.com/lnlvinso/p/6403657.html
Copyright © 2020-2023  润新知