自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 资源 (6)
  • 收藏
  • 关注

原创 elasticsearch源码分析之search查询(十一)

elasticsearch分布式查询的思路是scatter/gather思想,也是多数分布式查询的套路

2017-11-19 08:23:03 4282

原创 elasticsearch源码分析之分片分配(十)

分片是把索引数据切分成多个小的索引块,这些小的索引块能够分发到同一个集群中的不同节点。这个把shard分发到node的过程就是分片的分配。分配的原则是主要还是基于提高读写性能,实现负载均衡,备份恢复快。

2017-11-10 18:20:14 3105 1

原创 elasticsearch源码分析之索引操作(九)

介绍es索引的基本操作功能(create、exist、delete),用来进一步细化es集群是如果工作的

2017-11-05 16:35:01 2888

原创 elasticsearch源码分析之集群服务(八)

elasticsearch是如何构建集群服务框架的呢?

2017-10-29 12:12:05 4469

原创 并发总结

1、并发是什么?先说明一下什么是并发、什么是并行。 - 并发(concurrency) 并发的关注点在于任务切分。举例来说,你是一个创业公司的CEO,开始只有你一个人,你一人分饰多角,一会做产品规划,一会写代码,一会见客户,虽然你不能见客户的同时写代码,但由于你切分了任务,分配了时间片,表现出来好像是多个任务一起在执行。 - 并行(parallelism) 并行的关注点在于同时执行

2017-06-08 19:51:45 1578

转载 Mesos入门整理

Mesos是什么Mesos —— 像用一台电脑(一个资源池)一样使用整个数据中心 分布式操作系统内核 Mesos是以与Linux内核同样的原则而创建的,不同点仅仅是在于抽象的层面。Mesos内核运行在每一个机器上,同时通过 API 为各种应用提供跨数据中心和云的资源管理调度能力。这些应用包括Hadoop、Spark、Kafka、Elastic Search。还可配合框架 Marathon 来管理

2017-05-10 16:45:51 4644

转载 Kubernetes入门整理

一、Kubernetes是什么?Kubernetes是用于自动部署、扩展和管理容器集群的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和发现。 特点:自动包装。根据资源需求和其他约束自动放置容器,同时不会影响可用性。 混合关键和尽力而为的工作负载,以提高利用率并节省更多的资源。水平扩展收缩。使用简单的命令,使用UI或基于CPU使用情况自动调整应用程序。自动铺开和回滚。Kubern

2017-05-09 18:26:02 523

翻译 elasticsearch的Doc Values 和 Fielddata

DocValues什么是DocValues简单说明DocValues就是一个种列式的数据存储结构(docid、termvalues)。 倒排索引的优势在于查找包含某个项的文档,即通过Term查找对应的docid。term的倒排 Term Doc_1 Doc_2 Doc_3 brown X X dog X

2017-03-30 10:11:48 11255 6

原创 elasticsearch源码分析之discovery(七)

Discovery模块概述elasticsearch中的Discover模块,这个模块主要是发现模块负责发现集群中的节点,以及选取主节点。用作处理elasticsearch中的集群问题,是elasticsearch中比较复杂的一个模块。 discovery有几类:Azure discovery(类似于多播),它可作为插件使用。EC2 discovery,作为插件使用。Google Compu

2017-03-15 20:39:19 3795 1

原创 生产环境elasticsearch的配置建议

以下主要来自官方文档,主要分为几块:硬件方面内存CPU硬盘网络其他常用注意操作系统较大的文件描述符设置MMap管理工具JVM虚拟机请不要调整JVM设置请不要修改垃圾收集器给lucene留下一半的内存空间不要超过32G避免过大的使用内存swapping是性能的死穴ES参数配置禁止调整线程池设置集群和节点名称设置路径设置minimum_master_nodes

2017-02-17 17:38:48 35407 4

原创 elasticsearch源码分析之Gateway(六)

一、es数据文件1.1文件目录1.2broker文件1.3node文件1.4ClusterState类二、Gateway写入(state文件的写入)三、Gateway恢复(state文件的读取)四、讨论附录一、es数据文件我们将探讨由es系统各个部分写入的目录文件,分别从broker(master)和node(data)的结构文件进行介绍,并给其一个简短说明。

2016-09-14 10:33:36 6188

原创 elasticsearch源码分析之Transport(五)

一、基本介绍1.1概念介绍transport模块是es通信的基础模块,在elasticsearch中用的很广泛,比如集群node之间的通信、数据的传输、transport client方式的数据发送等等,只要数和通信、数据传输相关的都离不开transport模块的作用。transport模块分为LocalTransport和NettyTransport两种,在Transpo

2016-08-29 19:20:24 6449 3

原创 elasticsearch源码分析之服务端(四)

一、服务端接收1.1接收消息1.2主要类UML图二、服务端处理2.1索引的处理2.2写入primary2.3refresh2.4flush上篇博客说明了客户端的情况,现在继续分析服务端都干了些啥,es是怎么把数据插进去的,此处以transport的bulk为入口来探究,对于单个document的发送就忽略了。一、服务端接收1.1接收消息

2016-08-19 17:56:00 8946 2

原创 elasticsearch源码分析之客户端(三)

与es通信有三种protocol分别是node、http和transport;其实对于其他client而言最终都是使用的http;而java是可以使用node和transport的,node方式一般很少用,此处我们只讨论transport client,采用bulk方式。一、客户端初始化1.1生成settings对象代码很容易看懂,初始化了一些基本信息,生成sett

2016-08-12 10:16:02 4025 4

原创 elasticsearch源码分析之集群管理(一)

一、背景Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。本文主要介绍实现分布式搜索和分析的基础–存储,好的存储设计在根本上决定了查询的性能。es的存储本质上是采用了lucene全文索引,在其基础上实现了分布式功能。几个基本概念:Cluster:集群,一个或多个节点的集合,通过名字唯一标识Node:节点,组成集群的服

2016-08-11 21:29:04 4963 1

转载 elasticsearch源码分析之启动过程(二)

最近开始广泛的使用elasticsearch,也开始写一些java代码了,为了提高java代码能力,也为了更加深入一点了解elasticsearch的内部运作机制,所以开始看一些elasticsearch的源码了。对于这种广受追捧的开源项目,细细品读一定会受益匪浅,所以我会尽可能地细分成很多部分,下面我们从启动过程开始!首先从main开始,从start脚本可以看出,从org.elastic

2016-08-11 21:21:55 4893

原创 Spark任务处理流程

最近学习了spark,现根据任务提交分析处理过程总结一下相关的主要模块和任务提交处理流程。一些重要术语client,用户编写的spark任务提交程序master,spark主节点,负责任务和资源调度、节点管理,类似于Yarn的ResourceManagerworker,spark工作节点,可以在上面启动Executor进程,类似于Yarn的NodeManagerdriver,w...

2015-12-18 15:45:56 6029 2

原创 HIVE数仓数据血缘分析工具-SQL解析

一、数仓经常会碰到的几类问题: 1、两个数据报表进行对比,结果差异很大,需要人工核对分析指标的维度信息,比如从头分析数据指标从哪里来,处理条件是什么,最后才能分析出问题原因。 2、基础数据表因某种原因需要修改字段,需要评估其对数仓的影响,费时费力,然后在做方案。二、问题分析: 数据源长途跋涉,经过大量的处理和组件来传递,呈现在业务用户面前,对数据进行回溯其实很难。元数据回溯在有效决策、策略制定

2015-10-27 16:05:42 41819 52

原创 HDFS工作解析

一、概述一:NameNode1:主要功能提供名称查询服务,内嵌jetty服务器;NameNode主要保存metadata信息;2:metadata信息包括:文件的权限,某一上传文件包含哪些Block块,Bolck块有保存在哪些DataNode上面;3:DataNode在启动时候也会上报block信息(此功能一些作用后面会写到);4:NameNode的me

2014-11-17 16:24:56 1290

原创 Hadoop RPC框架

1、RPC框架概述1.1 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。1.2

2014-11-17 16:18:00 12712

原创 MapReduce作业shuffle分析

1、流程图2、流程概要2.1 map输出内存2.2 内存到硬盘之前,hash分区、每个分区中内排序、有combiner则运行2.3 硬盘数据合并merge2.4 reduce数据fetch map的输出文件2.5 复制来的输出文件合并merge2.6 最后reduce3、流程解析3.1 map端1)  当Map开始

2014-11-17 16:14:01 1056

原创 MapReduce作业运行机制

1、mapreduce的体系结构2、mapreduce作业运行机制2.1运行图2.2运行解析2.2.1作业的提交1)此方法调用submit(). 在Submit()方法里面连接JobTracker,即生成一个内部JobSummitter(实际上是new JobClient(),在new           JobClient()里面生成一个JobSubm

2014-11-17 16:10:24 5510

原创 HDFS理论分析

1.1设计前提和目标:1)硬件错误是常态而不是异常。错误检测并快速自动恢复是HDFS的最核心设计目标2)流式数据访问。运行在HDFS上的应用主要是以流式读为主,做批量处理;更注重数据访问的高吞吐量。3)超大规模数据集。HDFS的一般企业级的文件大小可能都在TB级别或者PB级别,支持大文件存储,而且提供整体上高的数据传输带宽,一个单一的HDFS实例应该能支撑数以千万计的文件,并且能在一个

2014-11-17 15:59:33 6268

原创 谷歌搜索小技巧

site:www.sohu.com 指定站点内部的搜索~远   远的近义词搜索“test source”  组合关键词搜索,不能拆开2008..2010  时间范围搜索filetype:pdf/txt 指定文档类型的搜索intitle:hello 只显示标题中含有hello的搜索结果author:green  指定作者为green的文章he*  模糊搜索,可以匹配held、hello等define

2013-02-18 10:41:02 1091

原创 Hadoop mapreduce原理学习

最近整了很长一段时间才了解了map reduce的工作原理,shuffle是mapreduce的心脏,了解了这个过程,有助于编写效率更高的mapreduce程序和hadoop调优。自己画了一幅流程图(点击查看全图):另外,还找到一篇文章,很好,引用一下。Hadoop是Apache 下的一个项目,由HDFS、MapReduce、HBase、Hive 和

2013-02-01 14:13:09 59624 18

转载 ANSI,ASCII,Unicode的区别与联系

通俗易懂的文章,转一下。      很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。         开始计算机只

2013-01-22 13:53:14 1198

转载 UML类图与类的关系详解-UML

在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。 基本概念 类图(Class Diagram): 类图是面向对象系统建模

2012-12-21 21:31:13 533

原创 重新学习事务的隔离级别和数据库问题

经过一轮面试,发现自己的很多知识是混沌状态,处于一种感性的状态,没有深究。也可能是当时没有看懂,就掠过了。现在重读,温故知新。1、脏读。就是读到了脏数据。(dirty,脏的,不对的。)stepSession ASession A0SET @@tx_isolation='read-uncommited';

2012-12-21 12:21:31 1458

转载 java开发阶段

首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set map,然后是线程、IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。这阶段完了,你可以写些能在控制台打印出来的小程序,锻炼下逻辑思维。也就是号称JAVASE毕业了,其实不过是入门而已,如果要往WEB方向发展,这些倒是基本足够了。接下来要学HTML JSP SERVLET 数据库 JAV

2012-12-17 19:50:58 717 1

转载 从程序员到项目经理(三):认识项目经理

来源:西西吹雪 (阅读提示:本文比较长,如赶时间,可直接跳到第二节的第四点,即“西西吹雪的六种能力模型”)     在希腊德尔斐的阿波罗神庙上,刻得着一句神秘的箴言:“认识你自己”。从某种程度上来说,我们都是自己的“最熟悉的陌生人”。认识自己的位置,是每个人获得成长的第一堂课。一个人的位置,对其言行的影响是至关重要的,俗话说:“屁股决定脑袋”,虽然听着粗俗,却饱含人生哲理。既然我们屁股

2012-12-17 17:12:02 573

转载 西西吹雪:从程序员到项目经理(二)

来源:西西吹雪被任命为项目经理,是职业生涯的第一次飞跃,既惊喜又紧张。从现在开始,你要思考怎样才能胜任项目管理的工作,否则等着你的,很可能是一场悲剧。一.升职之辨1. 为什么是我不是每个人都能当项目经理,程序员中只有一小部分能成为项目经理,大部分人会随着岁月的流逝,成为了“资深程序员”。那为什么领导要选择我呢?一般人对自己所拥有的东西都会很快习以为常,认为这是自己应得的。一

2012-11-17 15:43:11 796

转载 技术普及帖:你刚才在淘宝上买了一件东西

原文链接:http://blog.renren.com/GetEntry.do?id=799372165&owner=254459622      你发现快要过年了,于是想给你的女朋友买一件毛衣,你打开了www.taobao.com。这时你的浏览器首先查询DNS服务器,将www.taobao.com转换成ip地址。不过首先你会发现,你在不同的地区或者不同的网络(电信、联通、移动)的情况下,

2012-11-15 12:15:39 1498

转载 改良程序的11技巧

摘自:http://www.oschina.net/news/14326/11-tips-for-better-code?from=20110109时间:2011年01月05日有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。

2012-11-13 18:03:09 503

原创 Mysql问题排查文档

1. Mysql问题归类1.1 SQL类问题这类问题通常是由用户习惯不好导致的问题,比如大表没有索引,SQL语句不规范等。查找到错误的sql,修改处理。1.2 配置类问题这类问题属于mysql数据库的配置不合理的问题,导致数据库操作较慢。需要修改响应配置。1.3 BUG类问题这类问题比较少见,碰到了mysql的bug,需要根据错误日志或者网络查询解决。2

2012-11-12 17:41:25 1269

原创 MySQL数据库维护手册

一、每天做的(一)确保mysql启动并运行。查看mysql进程是否运行正常,具体命令是ps -ef|grep mysql;top检查mysql的运行。以下是一个例子:(二)检查管理员错误日志和慢查询日志。管理员错误日志为DBA准备,它记录了mysqld当启动和停止,以及服务器在运行过程中发生的任务号严重错误是的相关信息。用—log-error指定路径。命令:命令

2012-11-12 17:40:17 12468

原创 mysql集群基本维护

mysql集群搭建配置1.        确保主从服务器是版本一致的。2.        主服务器创建一个MySQL帐号为同步专用,并且授予replicationslave权限。Mysql > grant  replication slave on *.* to 'repl'@'192.168.0.184' identified by '1234+asdf';

2012-11-09 14:26:51 1148

转载 11步教你选择最稳定的MySQL版本

http://www.csdn.net/article/2012-04-05/313922MySQL开源数据库有多个重要分支,目前拥有的分支分别为:MySQL Cluster、MySQL 5.1、MySQL 5.5、MySQL 6.2。每个分支都有着同样的的MySQL数据库版本,分别为:Development版本、Alpha版本、Beta版本、RC版本和GA版本。Dev

2012-11-06 16:48:24 685

原创 MySQL选择合适的字段

1. 总体原则1.    使用合适的数据类型,满足要求,提高效率2.    优先使用数字类型的字段,mysql处理数字类型字段较快1.1 三大类型1.1.1 数字类型整型1. TINYINT(1byte)2. SMALLINT(2byte)3. MEDIUMINT(3byte)4. INT、INTEGER(4byte)5. BIGINT(8byte)

2012-11-06 16:21:05 2833

原创 UTC - mysqld got signal 6

昨天晚上mysql又碰到一个奇怪的问题。数据库异常终止。重启成功后过就马上崩溃,不能正常运行。查看错误警告是InnoDB: Doing recovery: scanned up to log sequence number 1924612226346121103 21:29:24  InnoDB: Starting an apply batch of log records to th

2012-11-04 12:55:26 5432 1

转载 西西吹雪:从程序员到项目经理(一)

来源:西西吹雪 “从程序员到项目经理”,这个标题让我想起了很久以前一本书的名字《从Javascript到Java》。然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过程。从Javascript到Java,是一个取巧的方法;而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升。一.为什么要当项目经理 1.

2012-11-01 12:39:04 1525

sql解析代码_bak

数据仓库计算脚本SQL分析,生成数据血缘

2015-12-21

sql解析代码

SQL解析工具,具体参照 http://blog.csdn.net/thomas0yang/article/details/49449723

2015-12-14

分布式系统原理介绍

分布式系统原理介绍 分布式系统原理介绍 系统模型

2013-02-16

jd-gui-0.3.4.windows

反编译的工具,可以将编译过的CLASS文件编译还原成为Java原始文件

2012-11-12

DJ Java Decomplier破解版

DJ Java Decompiler是个反编译的工具,可以将编译过的CLASS文件编译还原成为Java原始文件,并且不需要额外安装JVM(Java Virtual Machine)或是Java SDK的工具模组即可使用。不单如此,DJJava Decompiler也兼具有Java程序编辑工具的角色,提供一些辅助功能便于程序撰写与修改

2010-11-06

jad 反编译 工具

反编译class文件 jad -sjava *.class 建议用本人的另外一个分享:DJ Java Decomplier

2010-11-06

空空如也

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

TA关注的人

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