自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 CLOSE_WAIT和TIME_WAIT

来自:http://blog.csdn.net/shootyou/article/details/6622226在服务器的日常维护过程中,会经常用到下面的命令: [plain] view plain copy  print?netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]...

2017-06-19 11:16:46 184

原创 ycsb nosql基准测试工具

YCSB一个NoSql数据库的基准测试工具,可以测试HBase、Redis、MongoDB项目地址:https://github.com/brianfrankcooper/YCSB  

2017-06-14 15:28:51 309

原创 kafkacat

kafkacat是一款非常好用的kafka工具,可以查看kafka相关的信息,比如topic信息,查看消息等等项目地址:https://github.com/edenhill/kafkacat用法示例:kafkacat -b jx-op-kafka03.xx.com:9092 -C -t app-00-log -f 'Topic %t [%p] at offset %o: key %...

2017-05-26 14:20:44 1483

原创 strace定位系统问题

strace可以跟踪程序执行过程中产生的系统调用及接收到的信号,帮助我们分析程序或命令执行中遇到的异常情况.strace -p 20533 -tt -T -s10240 -f -o a.txt-p是进程号-tt打印运行时间-T是打印调用消耗时间(监控性能问题)-f是打印follow forks-o指定文件地址-s指定打印字符串的长度,默认只打印前32个字符 通...

2017-05-24 14:43:51 164

原创 onlyoffice-开源在线文档编辑软件

在公司有很多邮件下发excel的数据需求,为了保证数据安全防止数据任意扩散,需要让用户现在查看excel数据,而不是将excel直接发送给用户onlyoffice是一款开源的在线文档编辑软件,可以将生成的数据放到amazon s3中,然后将onlyoffice跟s3打通实现excel在线查看和编辑项目地址:http://www.onlyoffice.org/git地址:https:...

2017-01-16 20:56:46 9655 1

原创 linux nc

通过nc命令可以很方便的进行文件传输,具体步骤:1、在目的主机上运行:nc -l 4444 > filename (在目的主机上侦听4444端口,并将socket内容写入到指定的文件中)2、在源主机上运行:nc 目的主机IP 4444 < filename (将源主机上的指定文件写入到目的主机的4444端口的socket中)...

2017-01-03 12:12:36 123

原创 git回滚

  文章摘自:http://gitbook.liuhui998.com/index.htmlGit的撤消操作 - 重置, 签出 和 撤消Git提供了多种修复你开发过程中的错误的方法. 方法的选择取决于你的情况: 包含有错误的文件是否提交了(commited); 如果你把它已经提交了, 那么你是否把有错误的提交已与其它人共享这也很重要.修复未提交文件中的错误(重置)如果你...

2016-10-31 12:19:46 94

原创 saiku源码构建

最近在调研saiku,综合了网上很多资料终于build成功了,分享一下build的经验。我们选择的是3.7的源码进行构建,因为3.8需要获取许可1、在github上拉去3.7的源码:https://github.com/OSBI/saiku2、修改pom文件,主要修改仓库地址,注释无用的modlue引用,具体步骤参照:http://blog.csdn.net/gsying1474/...

2016-10-19 18:25:07 515

原创 druid

  什么是Druid Druid 是一个开源的,能在海量时序数据上 (万亿级别数据量, 1000 TB级别数据)上面提供实时分析查询的OLAP数据仓库,Druid提供了廉价的实时数据插入和任意数据探索的能力。Druid的主要功能    为分析而生 - Druid是为了解决在OLAP工作流中进行探索分析而生的. 它提供了大量的filters, aggregators和 query...

2016-10-14 19:05:05 124

原创 MapReduce原理与设计思想

 MapReduce原理与设计思想简单解释 MapReduce 算法一个有趣的例子你想数出一摞牌中有多少张黑桃。直观方式是一张一张检查并且数出有多少张是黑桃?MapReduce方法则是:给在座的所有玩家中分配这摞牌让每个玩家数自己手中的牌有几张是黑桃,然后把这个数目汇报给你你把所有玩家告诉你的数字加起来,得到最后的结论...

2016-08-23 20:20:17 239

原创 MapReduce工作原理

文章转自:http://weixiaolu.iteye.com/blog/1474172 1.MapReduce作业运行流程 下面贴出我用visio2010画出的流程示意图:        流程分析:   1.在客户端启动一个作业。  2.向JobTracker请求一个Job ID。  3.将运行作业所需要的资...

2016-08-23 14:43:37 81

原创 prestogres 通过pgsql访问presto

PostgreSQL protocol gateway for PrestoPrestogres is a gateway server that allows clients to use PostgreSQL protocol to run queries on Presto.You can use any PostgreSQL clients (see also Limitati...

2016-08-22 10:17:51 690

原创 Shib+Presto 即席查询

1.1.即席查询的目标使用者是产品/运营/销售运营的数据分析师;要求数据分析师掌握查询SQL查询脚本编写技巧,掌握不同业务的数据存储在不同的数据集市里;不管他们的计算任务是提交给 数据库 还是 Hadoop,计算时间都可能会很长,不可能在线等待;所以,使用者提交了一个计算任务(PIG/SQL/Hive SQL),控制台告知任务已排队,给出大致的计算时间等友情提示, 这些...

2016-08-22 10:08:39 1096

原创 Presto

Presto不是什么虽然Presto一直被一些个人或者团体称为 数据库 ,但是Presto并不是数据库。千万不要以为Presto可以解析SQL,那么Presto就是一个标准的数据库。Presto并不是传统意义上的数据库。Presto并不是 MySQL、PostgreSQL或者Oracle的代替品。Presto并不能用来处理在线事务。其实很多其他的数据库产品也是被用来设计为数据仓库或 ...

2016-08-18 19:53:30 614

原创 Trafodion-大数据领域中的关系数据库

Trafodion简介Trafodion是一个构建在Hadoop/HBase基础之上的关系型数据库,它完全开源免费。Trafodion能够完整地支持ANSI SQL,并且提供ACID事务保证。和传统关系数据库不同的地方在于,Trafodion利用底层Hadoop的横向扩展能力,可以提供极高的扩展性。而传统数据库,比如MySQL,在数据量达到P级别的时候就很难处理。而Trafodion却可以借...

2016-08-12 10:33:58 297

原创 kylin

Kylin简介Kylin 是一个开源的分布式的 OLAP 分析引擎,来自 eBay 公司开发,基于 Hadoop 提供 SQL 接口和 OLAP 接口,支持 TB 到 PB 级别的数据量。Kylin 是:超级快的 OLAP 引擎,具备可伸缩性为 Hadoop 提供 ANSI-SQL 接口交互式查询能力MOLAP Cube可与其他...

2016-05-28 09:34:04 166

原创 开源BI系统

saiku:https://github.com/OSBI/saikuspagobi:http://www.spagobi.orgpentaho http://www.pentaho.combirt:http://www.eclipse.org/birt/JasperReports:http://community.jaspersoft.com

2016-05-28 09:27:59 844

原创 OLAP简介及Mondrian快速入门

转载自:http://www.huqiwen.com/2012/06/15/olap-abstruct-and-mondrian-quick-start/OLAP简介及Mondrian快速入门2012年06月15日 技术分享 评论 2 条 阅读 18,464 views 次OLAP(On-Line Analysis Processing)在线分析处理是一种共享多维信息的快速...

2016-05-28 09:18:08 359

原创 saiku

转载自:  http://blog.csdn.net/sunyingyuan/article/details/41944035简介Saiku成立于2008年,由Tom Barber和Paul Stoellberger研发。最初叫做Pentaho分析工具,起初是基于OLAP4J库用GWT包装的一个前端分析工具。经过多年的演化、重写之后,于2010年,改名为Saiku。OLAP分析...

2016-05-28 09:17:45 199

原创 Hbase+Solr解决Hbase多条件查询

Hbase只支持单索引,而且只能按照rowkey查询,如果多条件查询会非常麻烦,也不能很好的支持分页功能,可以借助solr将需要查询的列和对应的rowkey建立索引,多条件查询时根据列值到solr中查找对应的rowkey,然后通过rowkey到Hbase中查询数据可以借助Coprocessor实现Hbase插入后自动建立solr索引 具体博客链接:http://database.5...

2016-04-28 17:14:18 396

原创 maven升级项目版本号

项目发布之后,一般都需要升级现有项目的版本,这个时候,由于工程中的子模块非常多,如果手动来修改难免会有遗漏和出错,此时可以通过下面两个命令来实现项目版本的升级: 1、更新父模块的版本号:mvn versions:set -DnewVersion=1.0.1-SNAPSHOT 2、更新所有子模块的版本号:mvn -N versions:update-child-modules...

2016-03-27 14:32:35 2022

原创 mac卸载软件后遗留文件清理

以卸载XXX文件为例,在应用程序中删除软件后删除一下文件:Config: ~/Library/Preferences/XXXSystem: ~/Library/Caches/XXXPlugins: ~/Library/Application Support/XXXLogs: ~/Library/Logs/XXX...

2016-03-27 14:32:25 2561

原创 mysql命令行数据导出

通过mysq命令导出导出指定sql的内容:mysql -h host -P 3306  -u user -p password -N --default-character-set=utf8 -e "select * from test“ database > test.txt 参数说明-h指定数据库ip地址-P指定端口号-u指定用户名-p指定密码 --d...

2016-01-29 13:40:53 261

原创 通过tcpdump和wireshark分析应用慢请求问题

最近通过报警发现应用频繁有超过1s的慢请求,通过查看日志、tcpudmp和wireshark最后定位是网络问题,在排查过程中也参考了网上的很多文章,但是写的都不是全,现在有空分享一下问题排查的一些经验,希望对遇到类似问题的码农们有所帮助,具体排查步骤如下:查看程序日志,程序中对超过100ms的请求都有日志输出,通过查看日志发现有大量的数据库和redis超时查看redis的慢请求,re...

2016-01-23 21:27:27 2049

原创 BoneCP数据库连接池源码解析

传统的连接池比如proxool,会使用List存放所有的连接,通过读写锁来修改连接的状态,标示该连接是否是可用,而BoneCP采用了分区的方式提高了获取数据库连接的并发性,类似ConcurrentHashMap解决并发问题的思想。 下面看下主要的几个类:BoneCPDataSource:实现了DataSource接口,接收数据库的配置并对外提供获取数据库连接的功能,第一次获取连接...

2016-01-08 16:03:27 335

原创 LRU算法解析

在项目中用到了common-collections中LRUMap,最近有空看了一下源码,对LRU算法有了更具体的认识,LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。LRUMap实现的核心思想是使用一个链表,将经常使用的放在链表的尾部,如果LRUMap的size已经到最...

2016-01-02 11:57:43 388

原创 redis批量删除

在使用redis时难免要修正线上缓存数据,最简单的方式就是直接清除指定类型的所有key进入到redis的bin目录,执行:./redis-cli -p 6479 keys "id.bui.*" | xargs ./redis-cli -p 6479 del -p是指定端口号 该条命令删除所有以id.bui.开头的key-a指定密码-n指定db-h指定服务器ip ...

2015-12-31 16:01:25 83

原创 服务器性能优化

       在做压力测试时,经常会遇到性能瓶颈,这时除了分析程序的问题外还要关注一下服务器的各种参数,毕竟程序最终是运行在服务器上的,因此服务器的调优是必须的,而且还是一个技术活,这里跟大家分享几个不错的系统参数:open files:运行ulimit -a可以查看系统设置的值,建议修改成65535。在linux中所有的处理都离不开文件描述符,比如网络连接的建立,如果太小可能连网络连接...

2015-12-31 16:01:15 110

原创 “一步千里”之数组找数

原文地址:http://blog.csdn.net/morewindows/article/details/10645269首先看看题目要求(题目来源:http://weibo.com/lirenchen,特此鸣谢):有这样一个数组A,大小为n,相邻元素差的绝对值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。现在,给定A和目标整数t,请找到t在A中的位置。除了依次遍历,...

2015-08-03 14:39:50 81

原创 数组中只出现一次

原文章地址:http://blog.csdn.net/morewindows/article/details/12684497 首先看看题目要求:数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。 这个题目非常有意思,在本人博客中有《位操作基础篇之位操作全面总结》这篇文章介绍了使用位操作的异或来解决——数组中其他数字出现二次,而x出...

2015-08-03 11:36:40 74

原创 随机生成和为S的N个正整数

随机生成和为S的N个正整数——投影法      随机生成和为S的N个正整数有很多种解法。下面讲解一种比较高效且比较有趣味性的解法——投影法。    以生成和为20的4个数为例,可以先生成随机生成0到20之间的三个数字再排序,假设得到了4,7,18。然后在X-Y数轴上画出这三个数,如下图:然后将这些数值投影到Y轴上,可得下图:由图很容易看出AB,BC,CD,DE这四段的长度...

2015-08-03 11:30:15 238

原创 分组topN

数据库表结构:scsid:学生idcid:课程idsocre:分数需求:查询每门课程分数最高的三个学生 select a.* from sc a where 3 > (select count(*) from sc where a.cid=cid and a.socre>score)order by a.cid,a.score desc 分析:利...

2015-07-29 16:15:59 169

原创 awk两个文件对比

最简单的方式是使用linux的comm命令,但是需要文件有序,comm命令的参数:-1 不显示只在第1个文件里出现过的列。-2 不显示只在第2个文件里出现过的列。-3 不显示只在第1和第2个文件里出现过的列。comm命令是一个非常简洁的命令,其只有两个参数。不过三个参数也结常要组合使用,我们常用的用法如下:comm - 12 就只显示在两个文件中...

2015-04-30 10:59:36 801

原创 plsql oracle数据库连接

安装pl sql developer下载instant-client,这样可以不用安装oracle客户端就能连接oracle数据库,地址:http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html将下载好的instant-client解压即可进入instant-...

2015-04-05 22:55:12 73

原创 BeanFactory FactoryBean的区别

BeanFactory是Spring IOC容器的重要接口,用于实例化、获取bean实例和bean相关信息,重要的方法有:FactoryBean主要用于定制化实例bean,主要接口有:通过重写getObject方法我们可以实例化我们想要的bean。Spring IOC实例化bean后会判断该bean是否是FactoryBean的子类,如果是就调用getObject,并将结...

2015-03-03 11:09:29 69

原创 排序、分页优化

排序优化主要是利用索引的有序性,select * from table_a where id > 10 order by create desc limit 10可以建立一个联合索引id,create当按照id查出数据后已经是按照create有序了。 对于分页查询 select * fromtable_a order by id desc limit m n,如果m很大会...

2015-03-02 15:37:00 272

原创 CAS-非阻塞同步

CAS(compare-and-swap):比较并交换,依赖于硬件指令集,如果一个变量的值跟期望的值相等就将变量的值替换成新值,并返回旧值,该操作是一个原子操作。在java中sun.misc.Unsafe类提供了compareAndSwapInt和compareAndSwapLong方法来实现CAS指令。AtomicInteger就是依赖Unsafe类来实现:public fina...

2014-07-22 14:16:54 71

原创 RequestMappingHandlerMapping--Spring MVC优先级最高的HandlerMapping

DispatcherServlet在启动时会根据配置文件创建HandlerMapping,这些HandlerMapping都实现了Ordered接口,DispatcherServlet实例化所有的HandlerMapping后放到一个集合中,并根据order对HandlerMapping进行排序。DispatcherServlet在接受请求时会循环遍历有序的HandlerMapping集合...

2014-03-07 18:29:27 115

原创 DefaultAnnotationHandlerMapping初始化

DefaultAnnotationHandlerMapping的继承关系:DefaultAnnotationHandlerMapping实现了ApplicationContextAware接口,通过IOC实例化后会调用ApplicationContextAwareProcessor的postProcessBeforeInitialization方法完成context的注入。 publi...

2014-03-07 15:06:08 99

原创 spring DispatcherServlet源码解析

DispatcherServlet继承FrameworkServlet,FrameworkServlet继承HttpServletBean,HttpServletBean继承HttpServlet,Web容器(比如Resin、Tomcat)启动时是调用HttpServlet的init方法初始化Servlet,HttpServletBean重写了init方法:public final voi...

2014-03-06 14:32:47 82

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除