- 博客(84)
- 资源 (5)
- 收藏
- 关注
原创 Elasticsearch5.4集群(三)Flume1.6sink兼容
Flume1.6不兼容用flume从kafka消费消息,然后用ElasticsearchSink往ES写入数据。ES从1.7.1升级到5.4.1后,flume的代码不改启动后sink大量报错,所有数据都写入失败。JDK升到1.8,elasticsearch版本升到5.4.1,Log4j也加上,还是不行。 org.apache.logging.log4j log4j-api
2017-07-04 19:33:44
5157
原创 Elasticsearch5.4集群(二)java API升级
Elasticsearch从1.7.1升到5.4.1后,java客户端遇到了一些错误。unsorportedClassVersion出现unsorportedClassVersion等类似问题。由于elasticsearch 5.0 以及以后版本 使用了Java lambda表达式等新特性,因此jdk 版本必须是1.8 以上版本(含1.8)log4j相关异常启动报错
2017-07-04 11:41:39
1825
原创 Elasticsearch5.4集群(一)安装部署
ES版本升级生产环境用的是1.7,Elasticsearch5.x在性能上有了很大的提升,计划升级到5.4,先在线下部署验证,过程中发现很多配置项都改了,各种报错。一定要看官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html,网上找到的很多都过时的低版本配置,要么不
2017-06-29 11:47:01
4890
转载 ElasticSearch 5.1 基础概念及配置文件详解
配置文件基本概念接近实时NRT集群cluster索引index文档document映射mapping类型type分片shards副本replicas数据恢复recovery数据源River网关gateway自动发现discoveryzen通信Transport分片和复制shards and replicaselasticsearch yml 详解参考链接1. 配置文件
2017-06-23 19:26:14
1078
转载 ES运维--查看集群运行状态api
elasticsearch 使用 命令 查看 节点,索引 等 占用内存情况 具体细节 参考官网文档 参考文档https://www.elastic.co/guide/en/elasticsearch/reference/5.3/cat.htmlhttps://www.elastic.co/blog/elasticsearch-command-line-debugging-with-
2017-06-21 23:09:00
15089
原创 ES运维--快速重启
启动初始化时间长修改es配置,重启集群成本巨大。ES集群已有25T数据,27个节点,24个数据节点(热盘12和hot节点,慢盘12个stale节点,3个mater节点),数据节点的启动,加入集群后需要初始化全部索引,这个过程过程很慢。全部重启一次可能要一天,非常耗时。重启后经常遇到少量索引一直处于unassigned状态,导致集群一直是red状态。目标有时调整配置,希望能快
2017-06-21 23:04:20
15127
1
原创 ES的JVM配置
JDK版本 使用JDK1.8的最新版本jdk-8u131-linux-x64.tar.gz(官方推荐ES5.4.1使用jdk-8u131以上的版本,我们现在es是1.7.1,计划升到5.X,所以用最新的) JVM堆大小设置 Elasticsearch很耗内存、cpu。标准的建议是把50%的内存给elasticsearch,剩下的50%给Lu
2017-06-21 15:59:30
9212
1
原创 ES热盘数据批量迁移到慢盘脚本
每天定时迁移热盘数据到慢盘,过一段时间发现快盘越来越容易满,每天数据量没有太大变化。查看es存储目录的索引文件,发现部分索引迁移失败导致的。我们的日志索引是按"YYYY-mm-dd_项目名"命名,最近2天的数据存在热盘路径/data1/es/es_8351、es_8352、es_8353下。写个脚本,遍历下历史索引在快盘存储目录下的文件大小,如果已经迁移到慢盘,快盘下存储的索引信息一般只有
2017-06-12 15:43:43
581
转载 activemq的几种基本通信方式总结
原文地址:http://shmilyaw-hotmail-com.iteye.com/blog/1897635简介 在前面一篇文章里讨论过几种应用系统集成的方式,发现实际上面向消息队列的集成方案算是一个总体比较合理的选择。这里,我们先针对具体的一个消息队列Activemq的基本通信方式进行探讨。activemq是JMS消息通信规范的一个实现。总的来说,消息规范里面定
2017-03-25 23:04:18
663
转载 ActiveMQ简单介绍以及安装
原文地址:http://blog.youkuaiyun.com/jiuqiyuliang/article/details/47160259现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的。上篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了消息通信的规范JMS,我们这篇博文介绍一款开源的JMS具体实现——ActiveMQ
2017-03-25 23:01:30
314
转载 ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
How can I monitor ActiveMQIn ActiveMQ 4.x you can monitor the broker to see what destinations are being used, their activity along with connections and subscriptions using the following toolsJMX
2017-03-16 13:59:17
2934
1
转载 Flume日志收集分层架构应用实践
转载原文:http://shiyanjun.cn/archives/1497.html 原作者:时延军Flume作为一个日志收集工具,非常轻量级,基于一个个Flume Agent,能够构建一个很复杂很强大的日志收集系统,它的灵活性和优势,主要体现在如下几点:模块化设计:在其Flume Agent内部可以定义三种组件:Source、Channel、Sink组合式设计:可以在Flume
2016-12-12 01:28:28
800
转载 Flume(NG)架构设计要点及配置实践
转载原文:http://shiyanjun.cn/archives/915.html 原作者:时延军Flume NG是一个分布式、可靠、可用的系统,它能够将不同数据源的海量日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中。由原来的Flume OG到现在的Flume NG,进行了架构重构,并且现在NG版本完全不兼容原来的OG版本。经过架构重构后,Flume NG更像是一个
2016-12-12 00:13:55
514
转载 日志收集之flume-ng源码分析
Flume-ng 源码分析我们使用flume1.6。参照ExecSource,实现自己的Source组件TailSource。由于要求实时性高,使用tail命令。支持后面说的1到6的功能,支持log4j日志文件的按天分隔文件创建,自动追踪;断点续传;对catalina.out日志的带堆栈日志合并成一条日志。继续改进实现功能:动态实时抽取docker容器里的项目日志;去flume的properties文件,启动时动态生成source、channel、sink等组件;细粒度source-sink控制,比如
2016-12-11 23:35:35
576
原创 批量删除es索引
发现elasticsearch集群的状态是red,unassign的分片数很多,看了下都是些旧的日期的索引(应该是定时任务删除失败导致的)。curl -XGET ip:port/_cat/shards | grep UNASSIGNED数量有几百个,写个脚本处理下,先恢复成green。red状态好像会影响索引创建和数据迁移先把需要删除的索引导出到文件curl -XGET ip:por
2016-11-30 17:57:04
14663
1
转载 手动释放linux缓存——/proc/sys/vm/drop_caches
原文地址:http://blog.youkuaiyun.com/wyzxg/article/details/7279986/elasticsearch的机器跑了一段时间后,cached占用了几十G,导致新的进程启动失败,手动释放下
2016-11-30 17:19:13
10267
原创 Java常用命令工具
下面是自己常用到的命令,列个表忘记时过来查下,之后继续补录系统状态磁盘空间:df -h目录占用空间:du -h --max-depth=1 [目录或者文件]内存:free -m系统负载及cpu:top -ccpu各核状态:mpstat -P ALL进程状态:ps aux | grep xxx端口状态:netstat -tln | grep [port]jstatjs
2016-11-30 15:59:56
430
原创 elasticsearch启动警告
elasticsearch启动警告Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being swapped out. Increase RLIMIT_MEMLOCK (ulimit).内存锁定值的限制(max locked memory)这个值只对普通用户起作用,对超级用户不起作
2016-11-24 16:05:52
3846
转载 JavaG1垃圾回收
G1全称是Garbage First Garbage Collector,使用G1的目的是简化性能优化的复杂性。例如,G1的主要输入参数是初始化和最大Java堆大小、最大GC中断时间。G1 GC由Young Generation和Old Generation组成。G1将Java堆空间分割成了若干个Region,即年轻代/老年代是一系列Region的集合,这就意味着在分配空间时不需要一个连续的内
2016-11-24 15:12:17
706
转载 UI设计技巧
觉得不错,收藏下原作作者:牧云云 原文地址:http://www.cnblogs.com/MuYunyun/p/6037262.html最近做项目有些忙,百忙之中老师让我给新生讲下界面设计的知识o(╯□╰)o(只因自己会小弄些PS戳我),这就尴尬了讲什么好呢?偶然间看到刘哇勇前辈翻译过这篇文章,但是发现前辈第40点以后就没译了。我就打算在前辈的翻译的基础上把剩下的部分
2016-11-20 20:56:04
1545
转载 最完整的Elasticsearch 基础教程
Elasticsearch基础教程 翻译:潘飞(tinylambda@gmail.com)基础概念 Elasticsearch有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个
2016-11-04 17:57:03
1916
转载 JQuery选择器大全
经常用到,这里收藏下。原文地址:http://www.cnblogs.com/hulang/archive/2011/01/12/1933771.htmljQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法$("#myELement")-----选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的
2016-10-18 12:05:42
285
转载 Flume-NG启动过程源码分析(3)
原文地址:http://www.myexception.cn/software-architecture-design/1692546.html本篇分析加载配置文件后各个组件是如何运行的? 加载完配置文件订阅者Application类会收到订阅信息执行: @Subscribe public synchronized void handleConfigurationE
2016-09-27 11:31:04
420
转载 Flume-NG启动过程源码分析(2)
原文地址:http://www.myexception.cn/software-architecture-design/1692535.html本节分析配置文件的解析,即PollingPropertiesFileConfigurationProvider.FileWatcherRunnable.run中的eventBus.post(getConfiguration())。分析getCo
2016-09-27 10:00:03
477
转载 Flume-NG启动过程源码分析(1)
原文地址:http://www.myexception.cn/software-architecture-design/1692533.html从bin/flume 这个shell脚本可以看到Flume的起始于org.apache.flume.node.Application类,这是flume的main函数所在。 main方法首先会先解析shell命令,如果指定的配置文件不存在就甩出
2016-09-26 16:43:08
401
转载 spark createDirectStream保存kafka offset(JAVA实现)
问题描述最近使用Spark streaming处理kafka的数据,业务数据量比较大,就使用了KafkaUtils的createDirectStream()方式,此方法直接从kafka的broker的分区中读取数据,跳过了zookeeper,并且没有receiver,是spark的task直接对接kakfa topic partition,能保证消息恰好一次语意,但是此种方式因为没有经过z
2016-09-21 08:48:06
3940
2
原创 2个网卡分别配置到2个局域网
本地开发需要连接到两个网段,一个开发用网段不能上因特网,另一个可以连网,老是来回切换太费劲。两个网卡能分别正常连上2个局域网,但是系统默认对外的请求都走到一个网卡的网关出去。请教了下网络组,需要手动改route规则了,由于研发内网我只需要能正常访问几台服务器就行了,单独加上这几台机器的路由解析规则即可
2016-07-30 23:10:01
1470
原创 Scala安装
Windows下安装Scala环境Win10。下载安装文件scala-2.11.8.msi(http://www.scala-lang.org/download/2.11.8.html)设置环境变量 SCALA_HOME为D:\dev\scala(安装路径);Path里加上%SCALA_HOME%\binDos窗口输入scala -version确认scala -version
2016-07-30 22:40:32
1599
原创 Linux最大线程数限制
研发环境上的Linux项目启动报错:Caused by: java.lang.OutOfMemoryError: unable to create new native thread开始以为是内存不足导致无法创建线程,把jvm的-Xms,-Xmx的2个参数都加大一倍:-Xms2048m -Xmx2048m。把-Xss参数调小,还是启动失败。应该是系统方面的限制了,这台机器上搞了100个过t
2016-06-30 11:02:54
15659
转载 Linux下高效编写Shell——shell特殊字符汇总
Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好,往往能给我们起到事半功倍的效果,为此,特地将Shell里面的一些符号说明罗列成对照表的形式,以便快速的查找。看看你知道下表中哦你的哪些Shell符号呢?Shell符号及各种解释对照表:
2016-06-24 18:03:49
1166
原创 flume断点续传
使用Flume做日志收集,flume+kafka做日志收集存储,后面接es存历史日志,storm用于实时分析。对于历史日志来说,尽可能做到不丢不重,实际经验内网环境kafka还是很稳定可靠的,丢日志主要发生在flume重启,所以针对flume进行改造,实现断点续传。主要环境及配置,jdk7,flume1.6版本,agent使用内存channel。自扩展source基于原生ExecSource改造,
2016-06-19 09:53:39
7675
原创 Tomcat使用Log4j输出catalina.out日志
Tomcat默认的日志是用java.util.logging,有几点不足,文件catalian.out不能像log4j一样按天生成,将越来越大。日志格式和项目中用log4j打出来的不一致,不利于解析。从tomcat官网(https://tomcat.apache.org/tomcat-7.0-doc/logging.html)上找了下,修改一些配置、替换扩展包即可使用log4j输出cata
2016-05-22 23:47:02
23083
转载 JavaScript正则表达式下——相关方法
上篇博客JavaScript 正则表达式上——基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实例的几个属性 RegExp实例对象有五个属性global:是否全局搜索,默认是falseignoreCase:是否大小写敏感,默认是falsemultiline:多行搜索,默认值是fa
2016-01-26 00:14:28
369
转载 JavaScript 正则表达式上——基本语法
定义JavaScript种正则表达式有两种定义方式,定义一个匹配类似 的字符串1. 构造函数var reg=new RegExp(']+%>','g');2. 字面量var reg=/]%>/g;g: global,全文搜索,默认搜索到第一个结果接停止i: ingore case,忽略大小写,默认大小写敏感m: multiple lines,多行搜索
2016-01-26 00:11:42
354
转载 Kafka配置参数
Kafka为broker,producer和consumer提供了很多的配置参数。 了解并理解这些配置参数对于我们使用kafka是非常重要的。本文列出了一些重要的配置参数。官方的文档 Configuration比较老了,很多参数有所变动, 有些名字也有所改变。我在整理的过程中根据0.8.2的代码也做了修正。Boker配置参数下表列出了Boker的重要的配置参数, 更多的配置请参
2016-01-23 01:56:36
878
转载 Quartz定时任务使用配置
第一步:引包 要使用Quartz,必须要引入以下这几个包: 1、log4j-1.2.16 2、quartz-2.1.7 3、slf4j-api-1.6.1.jar 4、slf4j-log4j12-1.6.1.jar 这些包都在下载的Quartz包里面包含着,因此没有必要为寻找这几个包而头疼。 第二步:创建要被定执行的任务类 这一步也很简单,只需要创建
2016-01-23 01:28:42
1799
原创 javascript捕获键盘组合事件
jsp页面需要捕获用户的键盘快捷键组合操作,网上找了不少代码,使用event.altKey && event.keyCode == 73判断,但在chrom和firefox下都不能正常起作用,debug调试时keyCode总是18。不知道是不是我使用的浏览器版本比较新。发现下面个js组件,经测试能用,主要是代码特别少。jquery.shortcuts.min.js文件只有692个字节,1K都不
2016-01-19 00:55:07
1346
转载 如何调优JVM - 优化Java虚拟机(大全+实例)
堆设置-Xmx3550m:设置JVM最大堆内存 为3550M。 -Xms3550m:设置JVM初始堆内存 为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xss128k:设置每个线程的栈 大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程
2016-01-19 00:30:58
485
原创 JVM1小时1次FGC调优
通过cat发现项目一个奇怪现象,每隔一个小时都会进行一次fgc,很有规律,且和项目使用高低峰无关。最开始以为是内存泄漏。通过观察,发现线下研发环境也一样,fgc时堆的年轻代,年老代,持久代的内存都未占满,应该不是内存泄漏问题。开始怀疑项目中使用了JMX监控zookeeper状态时,保留了JMXConnector的连接对象。研发环境把这块去掉,观察发现没有fgc问题。问题找到了,上网搜了下,果然有前辈遇到过有现成的解决方案
2016-01-19 00:08:25
4689
Java版node-zk-browser
2015-08-06
Java Concurrency in Practice电子书PDF加源码包
2015-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人