自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hbase源码分析之org.apache.hadoop.hbase.client包

Scan:设置scan记录的条件,buffer size,cache size等ResultScanner:提供scan的接口,ClientScaner:客户端 ResultScanner的实现,数据分布在多个region之间的,就依次读取。用法如下:    HTableInterface tbl = null;    tbl = table.getTable("table

2013-04-30 16:27:54 3015

原创 HBase源码分析之org.apache.hadoop.hbase.catalog包

org.apache.hadoop.hbase.catalogCatalogTracker:主要是对-ROOT和-META表的跟踪,验证他们的有效性,可以获得到-ROOT和-META region的连接;通过start和stop方法,开启和关闭了对zookeeper中 root-region-server 节点、unassigned节点中的META 表的region的变化的通知跟踪的服

2013-04-29 19:32:12 2146

原创 Storm Topology的生命周期过程分析

这里从提交一个topology和kill一个topology的过程来对topology的生命周期进行分析1、提交topology,通过StormSubmitter.submitTopology提交一个topology之后,客户端、Nimbus、Supervisor的行为如下,Client:Client通过Nimbus的Thrift接口上传jar到Nimbus的Inbox目录中,

2013-04-27 15:30:47 4689 1

原创 Storm0.8版本 Tuple的发送和接收实现机制分析

最近review了一下Storm的源码,0.8版本和之间版本的变化比较大0.8版本之前的Task,worker中每一个spout/bolt的线程称为一个task。在storm0.8之后,task不再与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor。目前最新的0.8.0版本里面,基本的对应关系是这样的:worker -> 进程,一个w

2013-04-27 13:37:22 2370 1

原创 关于mysql source恢复数据过程中,select操作hang

用mysqldump主数据库到文件中,数据库中表的数据比较大,后在备库上用source命令进行恢复,mysqldump -u root -p dlsp >/DATA/mysql/dump/dump_dlsp.sqlsource 在恢复数据过程中,对要恢复的表进行select操作,该操作就hang了。用show processlist\G查看了一下;*************

2013-04-25 16:48:44 2789

原创 hadoop运维系列笔记之FlumeNG往Hadoop写数据超时

最近在测试环境下,把NameNode节点更换了一台机器,并增加了一些数据节点。在FlumeNG往hadoop集群写数据的过程中,有些节点报以下类似的错误2013-04-24 13:25:50,180 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: PacketResponder 0 for block blk_7250572864

2013-04-24 15:33:30 4526

原创 Flume-ng-1.3.0 spooling source的方式增加了对目录的递归检测的支持

原有的spooling source的方式只支持一级目录的文件变动的检测,修改了一下源码支持对目录的递归检测,可以支持多级目录下的文件变动SpoolingFileLineReader类增加以下下方法 /**  * add by yangbutao  *   * @param files  * @param dir  * @param filter  */ pri

2013-04-22 17:31:19 5630 3

原创 zookeeper在mysql主库选举切换中的应用

为了保证可用性,传统的关系型数据库(mysql)通常采用一主多备的方式,当主宕机后,切换到备机。有多种方式可以做到主备自动失效检测切换,比如传统的HA软件heartbeat,keepalived等等,采取虚拟IP的方式对客户端透明;这里主备自动切换方案没有采取VIP的方式,而是用zookeeper对数据库集群进行管理,可以做到主备失效检测切换,主库的选举,比如考虑到mysql对多核利用

2013-04-18 15:10:52 14035 5

原创 linux IO层以及相关的IO系统调用回顾

Linux下,I/O处理的层次可分为4层:1、系统调用层,应用程序使用系统调用指定读写哪个文件,文件偏移是多少等等2、文件系统层,写文件时将用户态中的buffer拷贝到内核态下,并由cache缓存该部分数据            文件系统最上方时VFS,它是应用层和具体文件系统之间的接口,屏蔽不同文件系统的差异,以一种统一的方式给上层调用。3、块层,管理块设备I/O队列,对I/O请

2013-04-13 15:11:04 3379

原创 ganglia监控的安装

以前安装过ganglia的监控,过程比较复杂,最近在新的集群环境下部署了监控,这里做个笔记。ganglia监控的架构图如下,相关的原理这里不多说了。1、配置yum的源这里利用公司的yum源,增加wxlab136.repo到/etc/yum.repos.d目录下[Server]name=10.1.1.136#baseurl=ftp://10.1.1.136/pub/P

2013-04-13 12:25:46 2768

原创 回顾一下TCP/IP连建立断开,以及常见大量的TIME_WAIT和CLOSE_WAIT状态原因

连接建立和断开过程: CLOSED: 表示初始状态。LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。SYN_RCVD: 这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你

2013-04-13 09:16:10 3996 1

原创 关于NUMA架构的使用

当前大多数的PC机都是NUMA架构的,numa架构可以参考http://www.fmslib.com/fmsman/doc/numa.htmlNUMA的架构的内存分配有以下四种:1、default,总是分配在进程运行的节点上的内存,这是默认值2、bind,强制把进程绑定到指定的CPU节点,进行内存分配3、interleave,在所有节点上交织分配4、preferred,在指

2013-04-13 08:10:39 2050

原创 MapReduce输出数据到oracle中的支持的一个BUG

前段时间有组员对mapreduce输出关系型数据库进行了验证,发现不支持输出到oracle中,但是对mysql支持的没有问题,用的版本是hadoop 1.0.4。经过调试,发现对oracle的支持在生成查询语句的语法时有个小的问题,语法不正确。需要修改DBOutputFormat中的constructQuery方法 query.append(");");//去掉其中的; ==>quer

2013-04-07 09:18:17 2535

转载 总结一下排序算法

1. 概述排序算法是计算机技术中最基本的算法,许多复杂算法都会用到排序。尽管各种排序算法都已被封装成库函数供程序员使用,但了解排序算法的思想和原理,对于编写高质量的软件,显得非常重要。本文介绍了常见的排序算法,从算法思想,复杂度和使用场景等方面做了总结。2. 几个概念(1)排序稳定:如果两个数相同,对他们进行的排序结果为他们的相对顺序不变。例如A={1,2,1,2,1}这里排序

2013-04-06 14:45:20 3767 1

原创 RabbitMQ和kafka从几个角度简单的对比

业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比,在应用场景方面,RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。1)在架

2013-04-04 10:17:29 25953

原创 MapReduce中的cpu sys突然升到的抖动问题

最近在测试过程中,发现在做map reduce数据分析的过程中,cpu sys部分会偶然的升到,甚至到达50%,抖动的比较厉害。节点的磁盘的IO吞吐量比较大,每秒达到150M,大部分是tasktracker读取本地节点DFS的数据,默认情况下,读取数据是系统调用每次从硬盘上读取4K大小的数据到内核空间中,后由内核copy到应用程序空间,是什么导致内核部分消耗大部分的时间。经过大量的各方面的

2013-04-03 20:48:39 3293

基于用户画像的大数据实践

用户画像的实际经验、推荐系统、大数据相关的资料 用户画像的实际经验、推荐系统、大数据相关的资料

2018-05-22

大数据平台及推荐的应用

大数据平台 hadoop spark storm 用户画像体系 推荐 广告

2015-09-04

互联网架构设计

空间换时间 数据与计算切分 多维度可用 伸缩 优化资源利用

2015-09-04

互联网架构设计理念漫谈

高并发高可用的可伸缩的架构设计的原则 空间换时间 数据与计算 多维度可用 伸缩 优化资源利用

2013-12-17

HBase分页查询的rowkey设计技巧

用户历史订单列表查询rowkey设计技巧 最左前缀原则

2013-09-20

HBase 培训ppt

HBase 架构原理,从Nosql的提出,CAP 基于列式的高效存储 强一致的数据访问 高可靠 高性能 可伸缩,自动切分,迁移 Schema free

2013-03-31

linux util包

linux的一些工具包,包括uuid-dev luuid 等

2013-01-05

TCP.IP.Sockets.in.Java.2nd.Edition

描述Socket的通讯机制,nio机制 Socket就是TCP/IP协议的一种实现.它封装了TCP/IP协议并提供了一组基于该协议的操作方法

2010-04-21

空空如也

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

TA关注的人

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