自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(836)
  • 资源 (10)
  • 收藏
  • 关注

转载 如何选择分布式事务形态(TCC,SAGA,2PC,基于消息最终一致性等等)

各种形态的分布式事务分布式事务有多种主流形态,包括:基于消息实现的分布式事务 基于补偿实现的分布式事务 基于TCC实现的分布式事务 基于SAGA实现的分布式事务 基于2PC实现的分布式事务这些形态的原理已经在很多文章中进行了剖析,用“分布式事务”关键字就能搜到对应的文章,本文不再赘述这些形态的原理,并将重点放在如何根据业务选择对应的分布式事务形态上。何时选择单机事务?这个...

2019-01-04 10:18:41 1313

转载 Kafka Offset Storage

1.概述  目前,Kafka 官网最新版[0.10.1.1],已默认将消费的 offset 迁入到了 Kafka 一个名为 __consumer_offsets 的Topic中。其实,早在 0.8.2.2 版本,已支持存入消费的 offset 到Topic中,只是那时候默认是将消费的 offset 存放在 Zookeeper 集群中。那现在,官方默认将消费的offset存储在 Kafka 的Top...

2018-04-10 19:14:34 910

转载 AWK与SHELL之间的变量传递方法

我认为在linux下awk是个好东东啊,处理一些文本文件会非常方便。而在Linux下嘛,经常会和shell打交道,所以awk和shell之间的变量相互传递,有时还是很有必要的,所以简单总结一下吧。 awk中使用shell中的变量一: "'$var'"这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:var="test"awk 'BEGIN{print "'$var'"}'这种写法...

2018-04-10 17:27:21 8263 1

转载 Spark Streaming 流计算优化记录(1)-背景介绍

1.背景概述业务上有一定的需求, 希望能实时地对从中间件进来的数据已经已有的维度表进行inner join, 以便后续的统计. 维表十分巨大, 有近3千万记录,约3G数据, 而集群的资源也较紧张, 因此希望尽可能压榨Spark Streaming的性能和吞吐量.技术架构大致上如下述: 数据从Kafka流入, SparkStreaming 会从HDFS中拿到维度表的数据, 与流入的消息进行计算, 最...

2018-04-04 17:55:15 684

转载 Spark Streaming 流计算优化记录(2)-不同时间片数据流的Join

1. 不同时间片数据流的Join         初体验之后, 看了一下Spark WebUi 的日志, 发现由于Spark Streaming需要每秒跑一次, 以实时计算数据, 所以程序不得不每秒都读一次HDFS去获取数据进行inner join.         本来SparkStreaming会对其进行处理的数据进行缓存, 以减少IO和提高计算速度的, 但由于现在我们的场景是要把每秒都有新数...

2018-04-04 17:54:26 847

转载 Spark Streaming 流计算优化记录(3)-控制流量与join的地点

4. 流量控制好像之前说过”一下子从Kafka拉取几十万条消息进行处理”的事情, 其实酱紫是不对滴, 饭要一口一口吃, 一下子吃太多, 会导致还没吃成胖子就已经被撑死的. 所以我们要对为了做压力测试而早已在Kafka中囤积多时的几十万条消息分批次进行处理, 毕竟实际跑起的时候每秒拥入我们知道, Spark Streaming进行流处理的原理是micro batch, 即把每秒或每几秒这个时间窗口内...

2018-04-04 17:53:37 1587

转载 Spark Streaming 流计算优化记录(4)-时间都去哪儿了,关于调度与空转

6. 时间都去where了,青春不能等,调度也是除了上述优化, 我们还注意到一个奇怪的现象: 怎么回事, 即使接收不到消息都要花掉5秒?!! 虽然Spark Streaming空转依然会产生空task, 这些空task依然会消耗序列化, 压缩, 调度等时间, 但也不至于那么多吧!!!我们拿一个Stage看看, 就拿处理Kafka消息的那个Stage作例子吧: Kafka没有任何消息进来的情况下, ...

2018-04-04 17:52:50 586

转载 Spark Streaming 流计算优化记录(5)-分区与内存的优化

8. 不一定非得每秒处理一次由于Spark Streaming的原理是micro batch, 因此当batch积累到一定数量时再发放到集群中计算, 这样的数据吞吐量会更大些. 这需要在StreamingContext中设置Duration参数. 我们试着把Duration调成两秒, 这样Spark就会在接收Kafka的模块中积累了2秒的数据后, 在调度作业到集群中计算.结合上述做过的优化, 跑了...

2018-04-04 16:45:16 495

转载 Spark Streaming 流计算优化记录(6)-GC优化与shuffle service

11. Spark应用的GC调优说到GC, 可能很多人都倾向于使用新潮的G1垃圾收集器, 特别是intel的那几个兄弟在databrick发表了篇用G1调优Spark应用的博文后, 就更多人热衷于尝试G1了.但其实我们再去年就对G1和老牌的CMS+NewPar进行过对比测试, 发现G1根本没有比CMS好, 有时候还会导致更多的FullGC, 而实际上连Oracle官方都觉得G1还没有product...

2018-04-04 16:10:31 1832

转载 学习Spark2.0中的Structured Streaming(一)

Spark2.0新增了Structured Streaming,它是基于SparkSQL构建的可扩展和容错的流式数据处理引擎,使得实时流式数据计算可以和离线计算采用相同的处理方式(DataFrame&SQL)。Structured Streaming顾名思义,它将数据源和计算结果都映射成一张”结构化”的表,在计算的时候以结构化的方式去操作数据流,大大方便和提高了数据开发的效率。Spark2...

2018-03-23 15:04:56 629

转载 spark JVM调优之原理概述以及降低cache操作的内存占比

每一次放对象的时候,都是放入eden区域,和其中一个survivor区域;另外一个survivor区域是空闲的。当eden区域和一个survivor区域放满了以后(spark运行过程中,产生的对象实在太多了),就会触发minor gc,小型垃圾回收。把不再使用的对象,从内存中清空,给后面新创建的对象腾出来点儿地方。清理掉了不再使用的对象之后,那么也会将存活下来的对象(还要继

2017-11-06 17:57:43 1083

转载 spark性能调优(三)shuffle的map端内存缓冲reduce端内存占比

性能优化 shufflespark.shuffle.file.buffer,默认32kspark.shuffle.memoryFraction,0.2map端内存缓冲,reduce端内存占比;很多资料、网上视频,都会说,这两个参数,是调节shuffle性能的不二选择,很有效果的样子,实际上,不是这样的。以实际的生产经验来说,这两个参数没有那么重要,往往来

2017-11-06 15:39:31 1879

转载 Spark的性能调优

基本概念和原则首先,要搞清楚Spark的几个基本概念和原则,否则系统的性能调优无从谈起:每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面去执行。Stage指的是一组并行运行的task,stage内部是不能出现shuffle的,因为shuffle的就像篱笆一样阻止了并行task的运行,

2017-11-06 15:05:33 1381

转载 ganglia配置文件详解

本文主要介绍了Ganglia 的gmetad和gmond的配置文件Gmetadgmetad(Ganglia Meta Daemon)是一种安装在主机上用来收集和汇聚gmond所收集的指标数据的守护进程。gmetad默认使用RRD文件收集和汇聚指标数据,也可以通过配置gmetad将指标数据转送到诸如Graphite的外部系统。gmetad通过tcp端口8651侦听远程gmetad

2017-10-30 17:44:46 2003 1

转载 布隆过滤器(Bloom Filter)详解

布隆过滤器[1](Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例False positives,即Bloom Filter报告某一元素存在于某集合中,但是实际上

2017-09-22 14:39:23 1177

转载 G1垃圾回收器调优

了解如何针对评估、分析和性能来调整和调优 G1 GC。2013 年 8 月发布垃圾优先型垃圾回收器 (G1 GC) 是适用于 Java HotSpot VM 的低暂停、服务器风格的分代式垃圾回收器。G1 GC 使用并发和并行阶段实现其目标暂停时间,并保持良好的吞吐量。当 G1 GC 确定有必要进行垃圾回收时,它会先收集存活数据最少的区域(垃圾优先)。垃圾回收器 (GC) 是一个内存管理

2017-09-15 18:21:31 3329

原创 Hbase集群运维及应用性能优化总结(hbase1.20+)

(一). 操作系统            1. 足够大的内存      2. 操作系统64位,jdk64位      3. 设置linux swap空间的swappiness=0             a1. 永久有效设置(需系统重启) sudovim /etc/sysctl.conf 在这个文档的最后加上这样一行:               v

2017-08-18 16:20:53 3637

转载 phoenix-4.8.0本地索引实现原理

1. 前言phoenix有全局索引以及本地索引(可变与不可变等其它的且不谈),全局索引理解应该比较简单,如果让我自己去实现Hbase的索引应该想到的也是全局索引这种方式。本地索引适用于写比较频繁,储存空间受限的情况。Local indexing targets write heavy, space constrained use cases.phoenix-4.8.

2017-08-11 16:58:14 1079

转载 phoenix-4.8.0整合hbase-1.2.0-cdh5.8.0

1. 前言phoenix-4.8.0版本已经出了挺长一段时间了,之前一直有用开4.6版本,不过4.6版本的本地索引还不成熟,而且也存在着一些bug,在网上找到一些对旧版本的本地索引的描述APPROACH 1 is a good start for local indexes, but I think we are not getting the full benefits fo

2017-08-11 16:53:18 1576

转载 HBase应用设计性能优化方法总结

本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:淘宝Ken Wu同学的博客。[转发者注明: 关于使用多线程去读取hbase全表数据,推荐先将rowkey根据线程的个数划分为多段,然后将每段 start-key ~ end-key丢给线程去执行!]1. 表的设计1.1 Pre-C

2017-08-10 18:41:19 1090

转载 HBase写入性能改造(续)--MemStore、flush、compact参数调优及压缩卡的使用

首先续上篇测试:经过上一篇文章中对代码及参数的修改,Hbase的写入性能在不开Hlog的情况下从3~4万提高到了11万左右。本篇主要介绍参数调整的方法,在HDFS上加上压缩卡,最后能达到的写入性能为17W行每秒(全部测试都不开Hlog)。上篇测试内容:详情 http://blog.csdn.net/kalaamong/article/

2017-08-09 19:05:25 813

转载 HBase写入性能及改造——multi-thread flush and compaction(续:详细测试数据)

接上文啊:测试机性能CPU16* Intel(R) Xeon(R) CPU           E5620  @ 2.40GHzMEMORY48GBDISK12*SATA 2TBNET 4*1Gb Ethernet测试数据:类型国内某视频网站近半年用户访问日志

2017-08-09 18:44:05 478

转载 HBase写入性能分析及改造—multi-thread flush and compaction(约能提高两到三倍吞吐量,带压缩测试)

首先描述一下现象最近对HDFS底层做了许多优化,包括硬件压缩卡,内存盘及SSD。在出测试报告时发现老问题,Hbase写入速度不稳定,这个大家都习以为常了吧,就是压测时,只要row size稍小一点,不管你怎么压,hbase的RegionServer总是不愠不火特淡定。有些人就怀疑是磁盘到瓶颈了?还有些人怀疑是不是GC拖累了?总之网上大部分测试都是黑盒测试嘛,大家也就乱猜

2017-08-09 18:42:59 422

转载 Hbase配置项粗解

Hbase配置项粗解(1)重读Hbase文档,把所有的配置项整理一遍。hbase.tmp.dir:本地文件系统的临时目录,默认是Java.io.tmpdir/hbase−{user.name};hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.e

2017-08-09 15:43:21 567

转载 HBase性能调优(讲解透彻)

HBase性能调优 我们经常看到一些文章吹嘘某产品如何如何快,如何如何强,而自己测试时却不如描述的一些数据。其实原因可能在于你还不是真正理解其内部结构,对于其性能调优方法不够了解。本文转自TaoBao的Ken Wu同学的博客,是目前看到比较完整的HBase调优文章。 原文链接:HBase性能调优 因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到

2017-08-09 14:43:58 761

转载 hbase权威指南: store file合并(compaction)

Hbase为了防止小文件(被刷到磁盘的menstore)过多,以保证保证查询效率,hbase需要在必要的时候将这些小的store file合并成相对较大的store file,这个过程就称之为compaction。在hbase中,主要存在两种类型的compaction:minor  compaction和major compaction。          major compacti

2017-08-09 11:34:52 572

原创 Spark客户端在centos6.4上安装

客户端安装环境如下:操作系统: centos6.4操作系统内核: Linux version 2.6.32-358.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Fri Feb 22 00:31:26 UTC 2

2017-07-06 17:22:35 2541

转载 单个JVM下支撑100w线程数

I、环境要求:1.64bit Linux2.64bit JDK3.Memory够大,512GB4.cpu:64 processorsII、测试工具:【DieLikeADog.java】java -server -Xmx6G -Xms6G -Xmn600M -Xss228K -XX:PermSize=50M -XX:MaxPermSize=50M -X

2017-07-04 14:26:52 593

转载 jstat命令详解

Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于Java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。jstat工具特别强大,有

2017-06-21 13:03:17 451

转载 mysqlbinlog的使用

二进制日志文件包含了修改数据库内容的信息,这些内容都是二进制的格式,要想按文本的方式显示,需要使用mysqlbinlog工具,可以查看中继日志的内容,他们的格式都是一样的,使用命令的方式如下:shell> mysqlbinlog [options] log_file ...对于基于语句的复制,事件包含sql语句,语句执行的server的id,语句执行的开始时间,执行时长等,对于基于行的

2017-06-21 13:01:50 508

转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。    现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足

2017-06-21 12:58:20 313

转载 JVM GC调优一则--增大Eden Space提高性能

目录(?)[+]缘起线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。思路思路是Tomcat本身的代码应该是没有问题的,有问题的可能是应用代码升级,或者环境改变了,总之Tomcat的优先级排在最后。先把应用的heap dump下来分析下:jmap -dump:forma

2017-06-21 12:56:58 848 1

转载 分布式事务(一)两阶段提交及JTA

分布式事务与本地事务一样,包含原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。两阶段提交是保证分布式事务中原子性的重要方法。本文重点介绍了两阶段提交的原理,PostgreSQL中两阶段提交接口,以及Java中两阶段提交接口规范JTA的使用方式。原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。

2017-06-06 15:33:57 481

转载 Kafka设计解析(一)- Kafka背景及架构介绍

本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比。并介绍了Kafka的架构,Producer消息路由,Consumer Group以及由其实现的不同消息分发方式,Topic & Partition,最后介绍了Kafka Consumer为何使用pull模式以及Kafka提供的三种delivery guarantee。原创文章,转载请务必将下面这

2017-06-06 15:32:50 425

转载 Spark性能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势

本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解决方案,包括避免数据源倾斜,调整并行度,使用自定义Partitioner,使用Map侧Join代替Reduce侧Join,给倾斜Key加上随机前缀等。原创文章,转载请务必将下面这段话置于文章开头处。本文转发自技术世界,原文链接 http://www.jasongj.com/spark/skew/摘要本

2017-06-06 15:31:18 622

转载 Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

Java I/O模型同步 vs. 异步同步I/O 每个请求必须逐个地被处理,一个请求的处理会导致整个流程的暂时等待,这些事件无法并发地执行。用户线程发起I/O请求后需要等待或者轮询内核I/O操作完成后才能继续执行。异步I/O 多个请求可以并发地执行,一个请求或者任务的执行不会导致整个流程的暂时等待。用户线程发起I/O请求后仍然继续执行,当内核I/O操作完成后会通知用户线程,

2017-06-06 15:28:51 372

转载 Java进阶(四)线程间通信剖析

CountDownLatchCountDownLatch适用场景Java多线程编程中经常会碰到这样一种场景——某个线程需要等待一个或多个线程操作结束(或达到某种状态)才开始执行。比如开发一个并发测试工具时,主线程需要等到所有测试线程均执行完成再开始统计总共耗费的时间,此时可以通过CountDownLatch轻松实现。CountDownLatch实例123

2017-06-06 15:20:48 290 1

转载 Java进阶(三)多线程开发关键技术

本文将介绍Java多线程开发必不可少的锁和同步机制,同时介绍sleep和wait等常用的暂停线程执行的方法,并详述synchronized的几种使用方式,以及Java中的重入锁(ReentrantLock)和读写锁(ReadWriteLock),之后结合实例分析了重入锁条件变量(Condition)的使用技巧,最后介绍了信号量(Semaphore)的适用场景和使用技巧。原创文章,转

2017-06-06 15:14:56 591

转载 Java进阶(二)当我们说线程安全时,到底在说什么

提到线程安全,可能大家的第一反应是要确保接口对共享变量的操作要具体原子性。实际上,在多线程编程中我们需要同时关注可见性、顺序性和原子性问题。本篇文章将从这三个问题出发,结合实例详解volatile如何保证可见性及一定程序上保证顺序性,同时例讲synchronized如何同时保证可见性和原子性,最后对比volatile和synchronized的适用场景。原创文章,转载请务必将下面这

2017-06-06 15:08:27 368

转载 ConcurrentHashMap

ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,ConcurrentHashMap对提高并发方面的优化,还有一些其它的技巧在里面(比如你是否知道在get

2017-06-05 19:10:31 388

freetds1.0

可直接使用的链接sqlserver数据库的 linux 命令客户端,已编译过,直接用即可

2017-11-14

Spark大数据处理:技术、应用与性能优化(全).pdf

Spark大数据处理:技术、应用与性能优化(全),不错的书籍

2016-05-05

[谁说菜鸟不会数据分析(.入门篇)].张文霖.全彩版

入门级别的数据分析,值得一看

2015-04-01

twitter4j-2.2.5.zip

twitter4j storm中安装使用

2014-07-24

nginx教程pdf版全

nginx教程

2012-07-23

hadoop权威指南第2版

hadoop权威指南第2版,全

2012-07-23

mysql-5.5.23-win32

mysql-5.5.23-win32.zip,mysql win32安装包,安装的时候,有一段时间比较慢,界面出现“未响应”状态,不必担心,请耐心等待,过上一段时间后,系统自动安装成功

2012-05-07

Lucene in Action(第2版Lucene3.0.2版本)

Lucene in Action(第2版Lucene3.0.2版本)全部章节都有,且基于Lucene3.0版本讲解

2012-04-10

空空如也

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

TA关注的人

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