Follow me on GitHub
  1. 引发Elasticsearch OOM之type

    开源日志处理哪家强?当数 ELKstack ,但搭起来容易用起来难,尤其是ES,小脾气那叫一个多,不好好调教下时不时的就会给你来点颜色,什么脑裂,内存不足 OOM,要不就是索引过慢,性能跟不上;应有尽有,自从用起来,一把心酸.

    最近又出问题了,之前好好的集群(已经正常运行3个多月了),当新接入了一个服务(大部分只有写),变得频繁罢工,一周就要重启4次左右,搞得身心疲惫,终于发现故障的原因,故记之,警示后人.


    0x01 ES 几个基本概念

    集群

    • cluster (集群) 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的(可以设定主节点角色),主从节点是对于集群内部来说的.es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的.

    • shards (分片) 代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上 ...

    Read more...


  2. Mozilla Heka使用

    监控中时常需要对重要日志进行实时收集分析,之前一直使用 logstash 來做agent,由于 logstash 对系统强依赖 Java_JDK ,从而使用起来需要受系统环境限制. 作为对日志转发工具,对系统环境有限制的情况下可以有两个选择:

    1. awesant :基于perl写的轻量级logstash
    2. heka :基于go语言开发,无系统依赖,高并发

    0x01 Heka简介

    Heka 是 Mozilla 公司仿造 logstash 设计,用 Golang 重写的一个开源项目.采用了类 logstash 的 input -> splitters -> decoder -> filter -> encoder -> output 的流程概念.其特点在于,在中间的 decoder/filter/encoder 部分,设计了 sandbox 概念,可以采用内嵌 lua 脚本做这一部分的工作 ...

    Read more...


  3. elasticsearch配置小记

    基于 elasticsearch 1.4.4 版本.安装方式为RPM安装.所有涉及路径需根据实际情况来设置判断.

    0x01 内存调整

    调整ES内存分配有多种方式,建议调整 /etc/sysconfig/elasticsearch 中的设置(还可以直接修改bin下的启动脚本).

    # Directory where the Elasticsearch binary distribution resides
    ES_HOME=/usr/share/elasticsearch
    
    # Heap Size (defaults to 256m min, 1g max)
    # 修改此处即可,ES_HEAP_SIZE表示JVM参数的-Xms and -Xmx设置
    ES_HEAP_SIZE=32g
    
    # Heap new generation
    # 表示JVM参数的-Xmn设置
    #ES_HEAP_NEWSIZE=
    
    # max direct memory ...

    Read more...


  4. logstash-input-file以及logstash-output-kafka插件性能测试

    最近项目需求,要了解下logstash的一些性能,根据现有的技术方案,主要是针对 logstash-input-file 插件以及 logstash-output-kafka 插件进行测试,不过最近关注 logstash 的人应该清楚,目前处于新老版本迭代期,老版本1.4.2版本 和新版本 1.5.0RC2版本 ,1.4.2版本内存泄露 问题在1.5版本后得到改进,但是1.5还没出正式版本.以下是根据1.5RC2版本来进行测试对比.

    硬件环境:

    CPU 硬盘 内存
    Intel CorporationXeonE5 v2/Core i7 2TX1 128G

    软件环境:

    系统 java_jdk JVM Kafka Configuration
    centos6.5 1.7 ...

    Read more...


  5. elasticsearch之hadoop插件使用

    elastic与Hadoop的连接

    几个月前,由于资源有限,而需求无限,不得已想到es与hadoop的连接,本来想的很好,尝试把HDFS作为es的存储后端,把index存入HDFS中,这样就能节省存储空间了.当然官网也有相关使用配置(这里就不介绍了),经过几天的奋斗还是没能实现当初的想法,也幸亏没实现,实现了性能也是一大坑(猜测性能非常差以至于官方的 elasticsearch-hdfs 插件都几年没更新了!).

    不过倒是尝试了把HDFS作为后端存储,可以实现备份elasticsearch数据快照到HDFS或者是从HDFS中恢复数据.选择插件 repository-hdfs,其实就是使用了ES的 snapshot/restore 功能.

    安装插件

    我的es版本为 1.3.9-1,注意: 1.3.0-1.3.7 and 1.4.0-1.4.2 存在Grooy漏洞,所以选择版本的时候注意下,插件选择版本对应为2.0.2,后端Hadoop为2.5 ...

    Read more...


  6. logstash的kafka插件使用

    本篇为旧版,更新版本详见:

    http://bigbo.github.io/pages/2015/08/07/logstash_kafka_new/

    前言

    关于logstash可以产看其 官网 ,对于英文有障碍的人士,或是想知道更多插件使用技巧的用户请移步 @三斗室 所著作 logstash最佳实战 ,本片内容已经并入其中相关章节.


    Logstash-kafka简介

    https://github.com/joekiller/logstash-kafka

    插件已经正式合并进官方仓库,以下使用介绍基于logstash 1.4相关版本,1.5及以后版本的使用后续依照官方文档持续更新。

    插件本身内容非常简单,其主要依赖同一作者写的 jruby-kafka 模块。需要注意的是:该模块仅支持 Kafka-0.8 版本。如果是使用 0.7 版本 kafka 的,将无法直接使 ...

    Read more...


« Page 2 / 4 »