大数据
文章平均质量分 76
ESOO
君子不器
展开
-
[zeppelin] 支持多组LdapRealm登录
需求:zeppelin(v:0.8.0) 目前接入了单个邮箱的Ldap验证,公司资源整合之后,需要支持多个邮箱Ldap验证,经研究发现,zeppelin使用的是shiro进行权限验证,shiro配置是支持多组Realm验证,配置上筛选器就可以。shiro 多Realm配置解析zeppelindir/conf/shiro.ini 为zepplin中shiro 配置路径简单示例:用户[users]#用户zhang的密码是123,此用户具有role1和role2两个角色zhang=123,r原创 2020-05-09 13:59:37 · 1189 阅读 · 2 评论 -
RabbitMQ监控(5)——OpenCharts展示
有了前几篇博客的基础,我们可以从容应对监控的实现,但是还有一个问题,我们没有解决,就是图形化展示监控结果,在网页上画图,我们的确有很多种方案,以前我们使用过highcharts,但是学习还好,在公司使用不是很合适,我们需要一款,简单,易上手,的绘图插件,这里带领大家一起熟悉一款这样的软件,opencharts。原创 2016-03-23 14:17:23 · 2510 阅读 · 4 评论 -
flume高并发优化——(2)精简结构
大家在上篇博客中,可以看到,对flume本身的优化,我们可以说是一个较大的进步,但是,后期梳理时,发现,数据的处理经过了很多没有必要的步骤,我们的处理有些多余,但是精简哪里,又成为了一个问题,本篇博客带领大家一起看看,精简的关键位置及效果。还是老样子,大家会议上篇博客的架构: 不难看出,有一个性能点就是从主端口下发的时候,三个端口到es的过程中,为了让数据有较好的缓冲,我们使用了ka原创 2016-04-25 16:51:27 · 8220 阅读 · 9 评论 -
flume高并发优化——(7)RandomAccessFile升级多文件source
本篇文章旨在解决tail文件io断裂问题,我们使用linux原生的tail ,启动多个线程,做到对多个文件的数据收集,但是,随着业务日志增多,日志以日期分割,是个常用的做法,但是这样,就使得我们的flume插件在日期交换的凌晨,出现io断裂,造成不能继续收集数据原创 2016-05-11 11:54:02 · 5474 阅读 · 2 评论 -
flume高并发优化——(6)开发多文件检索source插件
To detect all files in a folderstep: 1,config one path 2,find all file with RegExp 3,tail one children file 4,batch to channal demo: demo.sources.s1.type = org.apache.flume.source.ExecTailSource demo.sources.s1.filepath=/export/原创 2016-05-03 18:20:01 · 8803 阅读 · 3 评论 -
翼龙贷——优化经验分享
原创 2016-05-31 13:38:53 · 5783 阅读 · 7 评论 -
flume高并发优化——(14)解决空行停止收集数据问题,及offsets变小问题
日志平台运行一段时间,发现日志有部分丢失,通过检查日志,发现有两个问题导致数据丢失,一个是遇到空行后,日志停止收集,还有就是kafka监控offsets时变小,通过分析代码,找到如下方法:空行问题: 在系统稳定运行一段时间之后,发现了一个致命性的bug就是在遇到空行时,无法自动跳过,导致识别为文件结束,再次读取还是空行,跳入了死循环解决办法: 解决的办法也非常简单,就是增加对文件大小与当前行数的原创 2017-07-21 15:42:48 · 2616 阅读 · 2 评论 -
flume高并发优化——(15)中间件版本升级
在系统平稳运行一年的基础上,为提供更好的服务,现针对java,kafka,flume,zk,统一进行版本升级,请各位小伙伴跟着走起来,不要掉队啊! 名称 老版本号 新版本号 jdk 1.7.0_25 1.8.0 kafka 2.10-0.8.0.1 2.10-0.10.2.1 flume 1.6.0 1.7.0 zookeeper 3.4.6原创 2017-07-21 16:10:53 · 3480 阅读 · 2 评论 -
flume高并发优化——(16)解决offsets变小问题
offsets初始化在上篇博客中《flume高并发优化——(14)解决空行停止收集数据问题,及offsets变小问题 》我们遗留了一个小问题,就是offsets变小的问题,迟迟未解决,经过研究flume代码发现,flume中,是自己管理offsets关系的,每个kafkachannel的代码中保留了一份topic-offsets的关系,源码:@Override public void start原创 2017-07-31 10:24:51 · 2578 阅读 · 5 评论 -
大数据下的日志-flume(二)高并发下的优化
不得不读的flume优化文章!原创 2015-12-27 19:00:46 · 7166 阅读 · 4 评论 -
ElasticJobListener 2.1.5 分布式唯一性保证bug修复
最近执行esjob的时候,发现有一定的情况下,出现分布式监听执行了多次的情况,通过对比源码,我们发现一个问题old version: @Override public final void beforeJobExecuted(final ShardingContexts shardingContexts) { guaranteeService.registerStart(s...原创 2018-07-10 16:08:29 · 2270 阅读 · 2 评论 -
jstack分析cpu占用高应用
第一步:查看进程号top命令发现某个进程(pid)占用cpu达到很高 第二步:查看哪个线程占用最多资源ps p pid -L -o pcpu,pid,tid,time,tname,stat,psr |sort -n -k1 -r; (命令查看这个进程下面的所有线程占用情况,pid 替换为查找到的pid数字)第三步:jstack输出堆栈信息:jstack pid 进行查看...原创 2018-07-24 17:24:52 · 4853 阅读 · 2 评论 -
elasticsearch EsRejectedExecutionException[rejected execution (queue capacity 50)
线上服务经过一段时间跑之后,发现es有丢消息的情况,经过排查发现,出现了一些bug,以下是bug全貌:[8663]: index [logstash_apifile-trans-usercenter-22], type [perform_log_trans-userCenter], id [AWVfVq-CIB0x6NjELW1y], message [RemoteTransportExce...原创 2018-08-23 17:00:42 · 2516 阅读 · 1 评论 -
翻译(zh-CN):Apache Griffin API
此页面列出了Apache Griffin提供的主要RESTful API。Apache Griffin默认的BASE_PATH是 http://<your ip>:8080.HTTP响应设计我们遵循一般规则来设计Apache Griffin的REST API。在发送到客户端的HTTP响应中,状态代码(三位数字)伴随着一个简单描述代码含义的原因短语(也称为状态文本)。状态代码按...原创 2019-07-06 09:58:06 · 1634 阅读 · 2 评论 -
翻译(zh-CN):Apache Griffin DSL
目的Griffin DSL 是为 DQ 测量而设计的,作为一种类似 SQL 的语言,它试图描述 DQ 请求。包括各种测量类型:a Accuracy profiling uniqueness timeliness …包括各种数据源类型:batch hive avro … streaming kafka 包括各种数据格式类型:Structured d...原创 2019-07-06 10:00:55 · 1521 阅读 · 1 评论 -
Griffin Workflow
转载 2019-07-06 10:03:51 · 620 阅读 · 0 评论 -
Java 并发编程 常见面试总结
目录一. Socket流阻塞二. wait和notify三. 线程实现的两种方式四. synchronized同步代码块示例五. ReentrantLock的方法示例六. Lock和synchronized的一些区别和选择考虑的因素七. Java并发包中的线程池种类及其特性介绍八. 线程池&Future九. BlockingQueue十. vola...原创 2019-08-04 09:05:18 · 718 阅读 · 0 评论 -
RabbitMQ监控(4)——URL监控
在监控的过程中,我们除了监控一些服务性能情况,还有一些服务的存活也需要监控,这时候,我们就可以用到java自带的url操作类,完成,整体思路是通过一个请求的状态码判断某请求,是否存在,达到监控的目的,为了更可靠,我们重复请求五次,都失败再警告,现在我们一起来实现它。原创 2016-03-23 14:00:43 · 3494 阅读 · 3 评论 -
RabbitMQ监控(3)——核心监控类实现
在监控时,我们的思路大概是这样的,使用rabbitmq的java客户端开发检测端口,发现不符合要求的性能参数,予以警告,给负责人发送短信或邮件,并提供前台可视化的监控界面,大家先看整体设计:原创 2016-03-23 13:45:19 · 3988 阅读 · 2 评论 -
详谈数据库的锁
1 前言 数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类 共享锁(Shared lock)。例1:----转载 2015-08-07 19:32:48 · 1018 阅读 · 6 评论 -
深入浅出SQL Server中的死锁
简介 死锁的本质是一种僵持状态,是多个主体对于资源的争用而导致的。理解死锁首先需要对死锁所涉及的相关观念有一个理解。 一些基础知识 要理解SQL Server中的死锁,更好的方式是通过类比从更大的面理解死锁。比如说一个经典的例子就是汽车(主体)对于道路(资源)的征用,如图1所示。 图1.对于死锁的直观理解 在图1的例子中,每队转载 2015-08-07 19:35:09 · 1145 阅读 · 7 评论 -
java集群优化——多线程下的单例模式
在最初学习设计模式时,我为绝佳的设计思想激动不已,在以后的工程中,多次融合设计模式,而在当下的设计中,我们已经觉察出了当初设计模式的高瞻远瞩,但是也有一些不足,需要我们去改进,有人说过,世界上没有绝对的事,当然,再简单的事情,环境变了,也会发生变化,今天和大家一起分享在多线程下单例模式的优化。 细节的优化,就像雕琢一件艺术品,我们接触的高人越多,这样的思想就越浓厚,所以,我们常常判断一个人事怎么的品格与素质,通过他接触的人,朋友就可以推测出来,而计算机内,也是如此,我们接触的优秀框架多了,自原创 2015-07-28 17:13:23 · 4535 阅读 · 9 评论 -
java集群优化——Nginx+tomcat集群配置-理论篇
我们了解一个道理,就是数据的增长是我们必然面对的问题,因为在技术日益变化的当下,我们收集数据的方式和存储及处理技术不断升级,迫使我们面对这一问题,并且,在数据挖掘日益火热的今天,我们也要对这样的问题加以重视,改变在所难免! 我们曾经想过,在极致优化的情况下,一台普通服务器,是可以挖掘出无穷的潜力的,我的们的确曾做到这一点,用一台2万元的设备,承载了同时1万余人的并发,但是随着技术的衍生,我们需要更灵活地处理应用,我们需要更及时的响应速度,我们需要实时地对数据进行分析和处理!这时,我们必然接触一个词汇原创 2015-08-03 09:00:49 · 5253 阅读 · 9 评论 -
Java集群优化——dubbo+zookeeper构建高可用分布式集群
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等原创 2015-08-14 21:28:35 · 45245 阅读 · 7 评论 -
Java集群优化——必须了解的内存溢出与内存泄露
我们操作某些变量,ide环境给我们提供了非常好的便利性,jvm为我们封装了优秀的自动垃圾回收机制,但是,我们还是那句话,人是不可靠的,这句话使我们反复认识自己,同样,内存的问题,我们也要深入研究,因为这是大型软件优化不可避免的地方!原创 2015-08-14 20:25:04 · 3908 阅读 · 7 评论 -
Java IO:了解I/O模型
初听IO,我也是一头雾水,难道除了写入,读出,还有其他的吗?的确在IO的世界中,只有写入读出,但是业务不同,选择的框架不同,IO也会表现不一,而在互联网编程中,IO编程,越来越成为瓶颈,这次,咱们一起来学习下,当下流线个IO概念,下面从同步和异步的概念 说起,然后是阻塞和非阻塞的区别及阻塞IO和非阻塞IO的区别,然后介绍同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO原创 2015-08-14 19:47:05 · 2155 阅读 · 5 评论 -
项目修炼之路(1)服务化
服务化,一个企业必不可少的阶段,如何有效利用这个阶段提升团队战斗力,我们一起来研究下!原创 2016-01-15 18:24:45 · 2020 阅读 · 6 评论 -
大数据下的日志--ElasticSearch部分(一)--初识
随着公司日益剧增的交易量,平台的日志积累到了一个海量的级别,这时候的检索和排错是个相当痛苦的过程原创 2015-10-05 19:34:17 · 6980 阅读 · 6 评论 -
项目修炼之路(3)3百亿交易额的处理
如何让百亿交易,数百个产品的交易,普通pc机上,20分钟内完成,在这里,我们一起探讨原创 2016-01-29 18:06:16 · 1752 阅读 · 4 评论 -
提升用户体验之A/B测试(2)——Sixpack安装
上篇博客给大家介绍了A/B测试的相关流程,是不是已经摩拳擦掌了,别着急,跟着我,咱们马上进入,sixpck的世界,而且不要担心,更文太慢,这次一次发表5篇博客,力求最大可能帮助大家认识和熟悉sixpack,帮助大家提升自己的眼界与掌握一个流行的中间件。原创 2016-03-02 13:23:52 · 2094 阅读 · 1 评论 -
提升用户体验之A/B测试(3)——sixpack-js客户端
在上篇博客中,我们介绍了sixpack的安装,在安装好后,我们再接再厉,试试一个官网提供的小例子,结合例子,大家再体会下第一篇博客中介绍的A/B测试流程:原创 2016-03-02 13:24:16 · 1649 阅读 · 1 评论 -
项目修炼之路(5)高并发下优化Redis缓存效率
最近,公司给了个优化任务,某个耗时的操作,在百亿的交易额下,处理异常缓慢,需要优化,以为每日发息做准备,在这里给大家介绍下我的优化思路,共同探讨下:原创 2016-02-17 17:31:11 · 13355 阅读 · 3 评论 -
项目修炼之路(6)Redis批量删除某数据库下的key
我们做测试时,一直想模拟线上第一次运行的环境,所以会涉及对某个索引下的某类key值进行删除的操作,下面给大家介绍下具体操作步骤:原创 2016-02-19 11:09:34 · 5620 阅读 · 3 评论 -
RabbitMQ监控(1)——RabbitMQ简介
最近公司想要开发一套针对RabbitMQ的监控系统,和短信及邮件接口整合,对性能做到实时的监控,表示这个真的很及时,这样我们就能“24小时不离岗”只要手机开着,就对网站性能有较好的把控,下面将分几部介绍如何实现。原创 2016-03-23 12:54:57 · 4676 阅读 · 2 评论 -
RabbitMQ监控(2)——RabbitMQ-javaclient使用
本文旨在为大家打开java关于rabbitmq操作的窗户,简单应用,帮助理解官方文档,详细内容,还是要参考官方文档,这里是官方文档的中文过渡区原创 2016-03-23 13:20:00 · 6455 阅读 · 3 评论 -
Hadoop解析--初次见面
云计算,就是联合N台机器一起完成某个计算,当然随着业务复杂度的提升,对系统的要求肯定会越来越高,那么系统的复杂度也会越来越高,这样模块化开发肯定就提上了日程,所以就分化除了几个模块,也是为了解决不同的问题,下面就让我们一起研究研究这些模块。原创 2015-07-27 20:07:08 · 1347 阅读 · 8 评论