自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Idontwantobe

码农,关注大数据&分布式计算&数据仓库

  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java自定义类加载器实战

在项目Q中,使用Mesos进行资源隔离和任务调度。调度的任务类型包括一些Hadoop相关任务,在某次升级Hadoop集群之后,这些任务出错,跟踪日志发现是Mesos和Hadoop依赖的Protobuf版本出现了冲突,升级或降级Protobuf都不能解决问题。同时,在另外一个负责数据传输的项目D中,随着数据传输场景的多样化,

2015-09-16 17:46:26 2067

原创 Java内存管理实战

Java内存管理实战Java内存管理实战感谢Hadoop系,最近项目中Java用得越来越多,兄弟们开发起来糙快猛很爽,但一到性能测试阶段,数据量&并发一上去,系统响应各种变慢、线程死锁hung住甚至直接崩溃。赶紧补补课,理论指导实践解决问题。

2015-09-14 21:00:28 1235 1

原创 读书笔记-APUE第三版-(11)线程

Pthreads即POSIX标准线程。线程共享进程资源,包括程序text正文段,进程的全局变量、堆、栈和文件描述符等。在一个进程内,线程由代表可执行上下文的必要信息组成:线程ID,一系列寄存器值,栈,调度优先级,信号掩码等。线程ID线程ID只在同一进程内具有唯一性。线程ID用pthread_t数据类型表示,Linux实际为无符号长整型,而Mac OSX用的是指向pthread结构体的指针,所以比较线

2015-08-12 21:29:04 854

原创 读书笔记-APUE第三版-(10)信号

读书笔记-APUE第三版-(10)信号信号概念信号是一种软件中断,用于提供异步事件处理机制。以下情形会产生信号:终端键盘输入,比如Ctrl+c(SIGINT)。硬件异常,比如除零&浮点数溢出(SIGFPE),非法内存引用(SIGSEGV)等。硬件探测到异常后通知内核,内核向应用进程发送信号。kill函数或者kill命令给指定进程/进程组发送各种信号(不局限于杀死进程);abort函数发送SIG

2015-08-12 18:32:15 816

原创 读书笔记-APUE第三版-(9)进程关系

登录过程终端登录如上图,init从/etc/ttys中读取终端信息,对每个允许登录的终端,都fork子进程,并执行getty。getty打开终端设备,执行login:execle(“/bin/login,“login”, “-p”, username, (char *)0, envp) 如上图,login进行用户名密码验证,同时还会进行切换到用户主目录/修改

2015-07-30 21:15:30 1227

原创 读书笔记-HBase in Action-第四部分-(2)运维

监控通过收集metrics并图形化展示是监控HBase集群的有效手段,能帮助用户了解集群状态,排查问题。HBase通过Hadoop metrics框架输出metrics,最常用的MetricsContext实现包括Ganglia和文件;HBase还能通过JMX输出metrics。通过hadoop-metircs.properties配置项,可以输出metrics到Ganglia:hba

2014-09-23 16:02:51 2382

原创 读书笔记-HBase in Action-第四部分-(1)部署

最后一部分了。。。分两章吧。HBase和Hadoop紧密相关,更为具体的部署和运维内容推荐HadoopOperations和HBaseAdministration Cookbook。本文粗粒度列出一些HBase部署运维的最佳实践和基本原则。集群规划一个完整的HBase集群包含HBase Master,ZooKeeper,RegionServers和Hadoop相关组件。生产集群按照规模

2014-09-22 18:04:07 1735

原创 读书笔记-HBase in Action-第三部分应用-(2)GIS系统

本章介绍用HBase存储、高效查询地理位置信息。Geohash空间索引考虑LBS应用中常见的两个问题:1)查找离某地最近的k个地点;2)查找某区域内地点。如果要用HBase实现高效查找,首先要考虑的是空间局部性(Spatial Locality),即位置上相近的点得物理存储在一起。最简单的地理位置数据由两个维度组成:经度X和纬度Y,那么相对应最简单的Rowkey也可以由X和Y组成。Rowk

2014-09-19 21:34:30 2920

原创 读书笔记-HBase in Action-第三部分应用-(1)OpenTSDB

OpenTSDB是基于HBase的开源监控系统,可以支持上万规模集群监控和上亿数据点采集。其中TSDB代表Time Series Database,OpenTSDB在时间序列数据的存储和查询上都做了相当多的优化工作。架构Overview概念上OpenTSDB由三部分组成:tcollector数据采集、tsd数据服务和HBase数据存储。数据采集流程如上图,tco

2014-07-30 16:21:14 2317

原创 读书笔记-HBase in Action-第二部分Advanced concepts-(3)非Java客户端

HBase ShellHBase shell使用起来最方便,进入HBase shell控制台即可使用。$ $HBASE_HOME/bin/hbase shell常见操作有create(创建表)/put(插入或更新数据)/get(根据rowkey查询)/scan(范围查询)/delete(删除列)/deleteAll(根据rowkey删除整行数据)/disable&drop(禁用表之后再

2014-07-03 13:07:59 1954

原创 读书笔记-HBase in Action-第二部分Advanced concepts-(2)Coprocessor

Coprocessor是HBase 0.92.0引入的特性。使用Coprocessor,可以将一些计算逻辑下推到HBase节点,HBase由一个单纯的存储系统升级为分布式数据处理平台。Coprocessor分为两种:Observer和Endpoint。Observer能修改扩展已有的客户端操作功能,而Endpoint能引入新的客户端操作。ObserverObserver的作用类似于数据

2014-07-02 17:30:34 2052

原创 读书笔记-HBase in Action-第二部分Advanced concepts-(1)HBase table design

本章以山寨版Twitter为例介绍HBase Schema设计模式。广义的HBase Schema设计不只包括创建表时指定项,还应该综合考虑Column families/Column qualifier/Cell value/Versions/Rowkey等相关内容。灵活的Schema&简单的存储视图Schema设计和数据存储及访问模式关系密切,先回顾下HBase数据模型,有几个要点:

2014-07-01 09:52:19 1931

转载 Mesos实战总结

背景我们使用Mesos也有一段时间了,目前有两个项目使用Mesos作为底层资源管理系统,各自部了一套集群。这中间对比Mesos的论文和源码实现,到底哪些功能实现了,哪些功能未实现,版本是否稳定,使用是否顺畅,有哪些坑会遇到等等这些问题,同组的同事们都遇到了不少。大致总结一下使用过程中的感受吧。Mesos使用方式Mesos Master在给framework分配资

2014-06-26 11:49:28 1097

原创 读书笔记-HBase in Action-第一部分 HBase fundamentals

新项目准备上HBase。HBase目前由组里某牛负责。本着学会使用HBase的目标,先阅读下HBase in Action,学习内容包括HBase基本实现原理,使用方法,Schema设计原则和实战等。借用Michael Stack(HBase Chair)的话,“At a highlevel, HBase is like theatomic bomb. Its basic operation

2014-06-09 17:32:11 1718

翻译 翻译-In-Stream Big Data Processing 流式大数据处理

原文:http://highlyscalable.wordpress.com/2013/08/20/in-stream-big-data-processing/作者:IlyaKatsov相当长一段时间以来,大数据社区已经普遍认识到了批量数据处理的不足。很多应用都对实时查询和流式处理产生了迫切需求。最近几年,在这个理念的推动下,催生出了一系列解决方案,Twitter Storm,Yahoo

2014-05-16 04:22:07 5850 2

原创 读书笔记-APUE第三版-(8)进程控制

进程ID每个进程都有一个唯一的进程ID。几个特殊进程:0号进程是内核进程,通常是调度进程swapper。1号进程init,是用户进程(以root权限运行/sbin/init),负责初始化几个重要函数:getpid(进程ID)/getppid(父进程ID)/getuid(进程真实用户ID)/geteuid(进程有效用户ID)/getgid(进程真实用户组ID)/getegid(进程有

2014-05-07 21:44:56 1520

原创 读书笔记-APUE第三版-(7)进程环境

本章关注单进程运行环境:启动&终止、参数传递和内存布局等。进程启动终止如图所示:启动:内核通过exec函数执行程序,在main函数运行之前,会调用启动例程(start-up routine),取得命令行参数和环境变量。可以把启动例程理解为exit(main(argc,argv))。终止:五种正常终止方式(从main方法返回/exit/_exit/最后一个线程返回/最

2014-05-06 13:24:43 1881

原创 读书笔记-APUE第三版-(6)系统数据文件和信息

常见系统数据文件下表列出了常见的系统数据文件及其查找函数。以/etc/passwd文件为例,读取数据的程序框架如下:void get_pw_entry(){ struct passwd *ptr; setpwent(); while ((ptr = getpwent()) != 0) { …… } endpwe

2014-05-05 20:25:11 1531

原创 MySQL与OLAP:分析型SQL查询最佳实践探索

搞点多维分析,糙快猛的解决方案就是使用ROLAP(关系型OLAP)了。数据经维度建模后存储在MySQL,ROLAP引擎(比如开源的Mondrian)负责将OLAP请求转化为SQL语句提交给数据库。OLAP计算分析功能导致MySQL需要进行较多复杂SQL查询,性能调优必不可少,本文总结了一些实用原则。OLAP特点OLAP的典型应用包括复杂动态报表,需要支持钻取(上卷和下钻)、切片、切块和旋转

2014-05-05 15:24:50 12403 1

原创 Pig系统分析(8)-Pig可扩展性

本文是Pig系统分析系列中的最后一篇了,主要讨论如何扩展Pig功能,不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性。补充说明:前两天同事发现twitter推动的Pig On Spark项目:Spork,准备研究下。UDFs通过UDFs(用户自定义函数),可以自定义数据处理方法,扩展Pig功能。实际上,UDFS除了使用之前需要register/define外,和

2014-05-05 14:35:29 2403

原创 Pig系统分析(7)-Pig实用工具类

ExplainExplain是Pig提供的调试工具,使用explain可以输出Pig Lation的执行计划。值得一提的是,explain支持-dot选项,将执行计划以DOT格式输出, (DOT是一种图形描述语言,请参考http://zh.wikipedia.org/zh/DOT%E8%AF%AD%E8%A8%80)代码实现详见org.apache.pig.impl.plan.DotPla

2014-05-05 11:07:38 1602

原创 读书笔记-APUE第三版-(5)标准IO库

ISO C标准I/O库使用流的概念读写文件。流是对数据传输的抽象,可以把流理解为从起点到终点间的字节序列。标准I/O库通过维护进程空间内的缓冲区,减少read/write系统调用次数来提高I/O效率。之前介绍的Unbuffered I/O和文件描述符fd打交道,标准I/O则使用FILE指针。typedef struct{ short level;/*缓冲区满程度*/ uns

2014-05-04 21:24:48 1280

原创 Pig系统分析(6)-从Physical Plan到MR Plan再到Hadoop Job

从Physical plan到Map-Reduce Plan注:因为我们重点关注的是Pig On Spark针对RDD的执行计划,所以Pig物理执行计划之后的后端参考意义不大,这些部分主要分析流程,忽略实现细节。入口类MRCompiler,MRCompilier按照拓扑顺序遍历物理执行计划中的节点,将其转换为MROperator,每个MROperator都代表一个map-reduce j

2014-05-04 17:10:12 1973

原创 读书笔记-APUE第三版-(4)文件和目录

stat函数返回文件信息,本章内容围绕存储在stat结构体中的各种文件属性展开。(注:ls -l会调用stat函数,显示文件相关信息。)struct stat { mode_t st_mode; /* file type & mode (permissions) 文件类型&权限*/ ino_t st_ino; /* i-node number (serial number)

2014-04-25 17:38:30 1763

原创 Pig系统分析(5)-从Logical Plan到Physical Plan

Physical Plan生成过程优化后的逻辑执行计划被LogToPhyTranslationVisitor处理,生成物理执行计划。这是一个经典的Vistor设计模式应用场景。其中,LogToPhyTranslationVisitor的visit()为入口方法,通过DependencyOrderWalker遍历处理逻辑执行计划中的每一个LogicalRelationalOperat

2014-04-24 14:02:19 2298

原创 Pig系统分析(4)-Logical Plan Optimizer

优化过程Pig哲学之二——Pigs Are Domestic Animals。用户拥有足够的控制权。具体到逻辑执行计划的优化上,用户可以根据自己情况选择适合的优化规则(也可以理解为优化这块还大有潜力可挖)。逻辑执行计划在编译成物理执行计划之前,会被LogicalPlanOptimizer处理,和一系列优化规则进行匹配,匹配上的优化规则会对原有执行计划进行变换,最终产生优化后的新执行计划。整

2014-04-24 12:24:56 1343

翻译 翻译- O'Reilly ZooKeeper-第三章 ZooKeeper API入门

第三章 ZooKeeperAPI入门         前一章使用zkCli介绍了ZooKeeper的基本操作。本章开始在应用程序中使用ZooKeeper API,我们会介绍通过API创建会话和设置wather的方法,也会开始编码实现Master-Worker示例。设置ZooKeeper ClASSPATH         运行和编译ZooKeeper的Java代码都需要正确设置CLAS

2014-04-24 11:57:54 2179 7

原创 读书笔记-APUE第三版-(3)Unbuffered I/O

UNIX系统的大部分文件I/O操作都可以通过以下五个方法实现:open、read、write、lseek和close。这些方法被称之为Unbuffered的原因是它们直接执行系统调用。文件描述符文件描述符代表被打开的文件。进程的标准输出文件、标准输入文件和标准错误文件分别对应文件描述符0、1和2。常用函数  I/O效率使用read/write进行文件读写操作。#

2014-04-23 17:44:12 1159

原创 Pig系统分析(3)-从Pig Latin到Logical plan

Pig基于Antlr进行语法解析,生成逻辑执行计划。逻辑执行计划基本上与Pig Latin中的操作步骤一一对应,以DAG形式排列。以如下代码为例进行分析,包含了load、filter、join、group、foreach、count函数和stroe等常用操作。Figure5生成的逻辑执行计划如下图所示: Figure61.1  Parse过程QueryLexer

2014-04-23 15:30:33 1974

原创 Pig系统分析(2)-Loader/Store/Schema

1      Loader/Store/SchemaPig哲学之一——Pigs Eat Anything。Pig能够从不同数据源加载数据,能够处理不同格式的数据。Pig使用Loader/Store进行数据加载和存储,可选地使用Schema指定数据列名称和类型。如果加载数据时不指定Schema,数据列未命名,类型默认是字节数组(bytearray),在后续操作中,Pig可以通过位置参数引用数据列

2014-04-22 21:08:59 2223

原创 读书笔记-APUE第三版-(2)UNIX标准和实现

UNIX标准ISO CISO C是C语言标准,目的是增强C语言程序在各种系统间的移植性,不局限于UNIX。C标准已经更新到2011版,目前系统实现才勉强追上C99标准。(ANSI C对应C89标准)IEEE POSIXPOSIX代表Portable OperatingSystem Interface,由IEEE制定,目的是标准化各种UNIX操作系统接口。The Single U

2014-04-22 17:41:01 1145

翻译 翻译- O'Reilly ZooKeeper-第二章 开始掌握ZooKeeper

前一章从较高层次讨论了我们在分布式应用协同方面的需求,以广泛应用的Master-Workers架构为例,提取出了一些常用的协同原语。在本章中,我们准备介绍使用ZooKeeper实现这些协同原语。ZooKeeper基础         一些协同原语被广泛应用于各种分布式应用。一种设计协同服务的方式是根据不同原语,对外暴露方法进行实例化,然后直接操作这些实例。比如,分布式锁就是其中之一,用户可

2014-04-22 12:20:43 2601

翻译 翻译- O'Reilly ZooKeeper-第一章 入门

第一部分 ZooKeeper概念和基础         本部分内容介绍了ZooKeeper解决的问题以及在设计中做的妥协,对ZooKeeper感兴趣的读者都应该阅读。

2014-04-21 20:14:02 2043

原创 Pig系统分析(1)-概述

1      概述Apache Pig是Yahoo!为了让研究人员和工程师能够更简单处理、分析和挖掘大数据而发明的。尽管Pig的学习成本比Hive要高一些,但是Pig的优点是表达能力和灵活性更胜一筹。如果说用户使用声明式的Hive Hql表达的只是想要什么数据,那么用户使用过程式的Pig Lation,通过一连串的语句组合,能够充分控制数据分析的整个流程。本文分析了Pig运行主线流程,目的

2014-04-21 17:13:32 1882

原创 读书笔记-APUE第三版-(1)UNIX系统概述

读书笔记-APUE 3rd-(1)UNIX系统概述第三版VS第二版1.        覆盖的UNIX(类UNIX)操作系统升级为:FREEBSD 8.0/Linux 3.2.0/Apple Mac OS X 10.6.8/Solaris 102.        删除了在POSIX.1标准中逐步废弃的STREAMS相关内容UNIX操作系统架构 基础概念1.      

2014-04-21 16:27:46 1284

C程序设计语言(第2版·新版)非扫描版

C程序设计语言(第2版·新版)非扫描版,无广告。

2010-08-27

ACEGI

ACEGI,用于spring的权限控制框架

2007-08-06

空空如也

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

TA关注的人

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