自定义博客皮肤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)
  • 资源 (4)
  • 收藏
  • 关注

原创 crateDB驱动安装

streamsets中有一个jdb target,我们可以利用这个target将数据灌到crateDB将驱动放到下面位置,需要重启streamsetsstreamsets-libs/streamsets-datacollector-jdbc-lib/lib/crate-jdbc-2.1.8.jar

2017-11-03 13:08:16 957

原创 mongoDB复制集维护和切换——内存限制

使用mongoDB是因为用到了graylog,部署运行2-3个月之后,发现mongoDB占用物理内存巨大,50G+,公司的数据架构居然质问我为什么不设置-Xmx堆内存大小,我尼玛只能呵呵醉了!简单说mongoDB似乎没有配置项可以限制使用物理内存,粗略理解mongoDB本身不管理内存块,而是全部交给操作系统,如何限制mongoDB内存呢?网上有说使用ulimit等,但是事实证明无效。应

2017-09-19 11:44:06 1430 1

原创 elasticsearch 笔记(一)安装

elasticsearch一开始接触的是1.x版本,现在迅速跳到了5.x版本,妈的,这什么情况现在开始安装5.x版本,体验下kibana的新特性1、下载elasticsearch,安装elasticsearch-5.1.2.tar.gz启动的时候,报错说不允许root账户执行,不知道有没有类似--alow-root等参数可以用root跑起来,这里直接切换成普通用

2017-06-08 14:54:10 508

原创 kafka的log存储是怎么设计的?

Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互独立的。每个topic又可以分成几个不同的partition(每个topic有几个partition是在创建topic时指定的),每个partition存储一部分Message。借用官方的一张图,可以直观地看到topic和partition的关系。partition是以文件的形式存储在文件系统中,比如

2017-02-10 14:04:28 1144

原创 actor模型(四)

浪起来,开始学习下akka到底怎么用,下面以实现一个wordcount为例,写一个Java版本的小程序

2017-01-06 10:21:47 1058

原创 actor 模型原理 (三)

上面这个图呢,展示了老师这个actor收到消息之后,给学生回复的过程DriverApp 发送一个初始化 InitSignal 消息给 StudentActor StudentActor 收到这个消息之后给老师发了一个 QuoteRequest老师 回复了一个 QuoteResponse.学生收到之后再把这个回复打印出来对于驱动程序,那么上面它做的事情用代码就

2016-12-22 17:30:38 1451

原创 actor 模型原理 (二)

现在开始研究一下akka的actor模型是怎么实现的:老外写了一个程序说明actor的工作机制,下图就是学生给老师发邮件的具体示意图,那么1-6一共6个步骤1、学生创建actor system ,就是初始化了ActorSystem2、学生发邮件,发邮件并不是妈的找个163的邮箱直接发一下,或者说并没有直接给邮件地址,而是采用代理的方式,什么意思呢?就是为了让俩线程,

2016-12-22 17:15:21 5023 1

原创 actor 模型原理 (一)

actor模型很牛逼,很流行,但是我不会,妈的,国内搜出来的讲解actor的都看不太懂,讲不太清,下面哥们就翻译一下老外的文章,以粗浅的方式体会一下到底什么是actor模型?多线程开发要处理并发,锁,线程同步等一系列问题,一不小心,弄个大的bug,所以一般都不愿意自己动手写,能不能换一种思路,可以不可以介绍一种更高级的抽象模型,让我想实现多线程应用的时候,不用再考虑这些底层问题呢?

2016-12-22 15:31:08 11960 6

原创 streamsets Data Collecotor启动流程分析

exec ${JAVA}        -classpath  ${BOOTSTRAP_CLASSPATH}         ${SDC_JAVA_OPTS}       com.streamsets.pipeline.BootstrapMain \       -mainClass       ${SDC_MAIN_CLASS}       -ap

2016-12-16 11:24:48 3499

原创 spring boot 笔记

spring boot对于简化java web开发非常有帮助,基本上不需要什么配置,就可以直接运行起来一个web服务 org.springframework.boot spring-boot-starter-parent 1.3.8.RELEASE org.springframewo

2016-10-26 20:17:16 380

原创 ambari-server的离线安装

ambari-server的安装1、机器环境centos 62、准备好两个文件/etc/yum.repos.d/ambari.repo和/etc/yum.repos.d/hdp.repo$cat ambari.repo#VERSION_NUMBER=2.2.2.0-460[Updates-ambari-2.2.2.0]name=ambari-2.2

2016-10-09 14:13:52 4879 1

转载 metrics小常识

Metrics,我们听到的太多了,熟悉大数据系统的不可能没听说过metrics,当我们需要为某个系统某个服务做监控、做统计,就需要用到Metrics。举个例子,一个图片压缩服务:每秒钟的请求数是多少(TPS)?平均每个请求处理的时间?请求处理的最长耗时?等待处理的请求队列长度?又或者一个缓存服务:缓存的命中率?平均查询缓存的时间?基本上每一个服务、应用都需要

2016-07-13 17:27:09 18233

原创 jstorm的cgroup资源隔离机制

本文研究一下jstorm使用cgroup做资源隔离的情况,github有文档:https://github.com/alibaba/jstorm/wiki/%E8%B5%84%E6%BA%90%E7%A1%AC%E9%9A%94%E7%A6%BB这个文档告诉你怎么开启cgroup,但对于不太了解cgroup和jstorm细节的同学可能更有兴趣看一下到底是怎么隔离的。废话少说,你不是

2016-05-04 23:49:27 4125

原创 集群管理和分布式任务 Apache helix 抽象模型

apache helix是一个通用的集群管理框架,既能做分布式task,也能做分布式存储,还可以做服务发现,分布式锁等,大大简化了你系统的设计,分布式系统开发过程中,一些通用的部分,它全部给你抽象实现,基于zookeeper。那么既然是通用,那么必须要高度抽象,只有理解了抽象出来的几个概念,我们才能更好地读懂它的实现和设计原理,ok废话不多说了,撸一把。假如我们要设计分布式task系统,那

2016-04-07 21:23:43 4496

原创 mybatis 批量插入动态表

作为mybatis初学者,用到mybatis的时候,产生一个需求:希望程序能够自动建表,1个月建一张表,同时数据批量插入到当前月份对应的表里。在百度和Google搜了一下,直接给出这种解决例子的文章几乎没有。这里简单记录一下,方便其它有类似需求的同学使用。一、不涉及spring,裸用mybatis,那么你需要两个依赖 org.mybatis mybatis 3.3.

2016-03-16 16:17:50 7737 3

原创 opentsdb 数据写入要点

opentsdb是什么,相信大家都已经了解了,同时它的存储设计也很cool,按照前面的文章你可以很容易搭建一个tsd进程。搭建好之后,你可能着急往里扔些数据,赶紧用起来,那么实际生产使用的话,我们还需要深入研究一下这个系统的特点,看一下到底怎么才能发挥它的最大性能.opentsdb支持几种写入方式,telnet,http,或者tcollector(采集器),各有特点,Telnet更适合

2016-03-10 15:55:11 8723

原创 集群管理和分布式任务 Apache helix

这个题目写的有点大,但是我一直想写一个这方面文章,虽然我没系统学过分布式系统理论,但是接触了这么多分布式系统之后,隐约感觉这些系统有很多共通之处。现在如果我让你开发一个分布式系统,准确点叫分布式task系统,比如从kafka订阅数据,然后写到hdfs,归档。注意不光是能支持某一个topic,不只是固定的partition数目,你该怎么写?这个需求,其实可以使用jstorm来做,写一些spout

2016-03-08 22:43:41 5066 2

转载 hbase的并发控制机制

hbase在阿里在线场景有非常多的应用,HBase和传统数据库一样提供了事务的概念,只是HBase的事务是行级事务,可以保证行级数据的原子性、一致性、隔离性以及持久性,即通常所说的ACID特性。因为跨行比较难做,两行就有可能在不同的region,而不同的region就有可能跨regionserver,分布式事务即较高的一致性要求(C),必然要牺牲一定的可用性或者扩展能力,因此hbase只保

2016-03-07 17:44:23 4073

原创 opentsdb 编译和安装

opentsdb在上一家公司就搞过一段时间,最近又有些时序数据需要分析处理,正好公司也在做这方面的东西,模仿opentsdb,开发了一个hitsdb,卧槽。好吧,先来记录一下,这个东西怎么安装。首先,看下这个东西的api跟公司的hbase是否兼容,公司都是0.94版本演进过来的,opentsdb的安装要求如下:To actually run OpenTSDB, you'll n

2016-03-03 13:58:02 3779

原创 jstorm的acker机制

JStorm/storm可以保证从spout发出的每条消息可以被完全处理,什么叫完全处理?为了帮助理解,我们参考storm官网的几张图和例子说明这个原理,下面是个wordCount的例子,我们从spout发出来一条消息,这个消息就是一行文字,被下游的bolt切分处理,加工,然后再往后发,count bolt统计每个单子计数。TopologyBuilder builder = new

2016-02-23 16:16:01 4849

原创 Kafka 0.9.0 文档翻译-1、Getting Started

kafka目前应用比较广泛,中小规模的公司都把kafka当做大数据平台的数据总线,成为很多流计算系统的输入源,比如storm,flink,spark-streaming等。同时各种应用的日志做离线处理的时候,架构上倾向于使用kafka作为消息管道,日志push到kafka,然后使用分布式task将数据写入hdfs等,诸如此类的应用还有很多,这些正说明kafka有不错的高吞吐低延时性能。一些大的公司

2016-02-21 17:14:21 1197 1

原创 如何简单地测算系统吞吐量

在流计算、数据传输之类的系统中,有时候需要统计、压测下一下系统的吞吐能力,这里写了一段简单实现记录一下,方便以后使用,构造参数有两个,一个是name,用于区分,一个是采样周期。发送或者接收代码中调用update方法即可public class ThroughputProbe extends TimerTask { private static Logger log

2016-02-19 16:49:12 2298

原创 批量数据的聚合以及groupby实现

大家一定对sql非常熟悉,关系型数据库自不必说,现在越来越多的大数据系统也都支持sql,比如hive,odps ,presto,phoenix(hbase),galaxy 以及cep(esper)等都支持sql,或者类sql语言。sql语言更接近自然语言,让人非常容易理解,上手也比较方便,可以有效降低系统的入门门槛。很多大数据系统都用antlr来实现sql,antlr帮助我们实现sql语法解析和编

2016-02-19 16:30:15 4317

转载 MapReduce关键流程代码分析

本文从以下几个方面做介绍:1,TaskTracker和Child的代码实现流程,Child部分仅介绍流程,至于MapRduce的具体调用逻辑已经有很多文章介绍了,这里并没有做详细介绍;2,Child进程的生命周期代码分析;3,任务运行状态上报以及状态转换;4,MapR系统出错情况代码分析(包括任务,TaskTracker出错情况下MapR系统的处理);5,对

2014-04-10 08:38:35 588

原创 【HDFS】什么叫块恢复

** * LeaseManager does the lease housekeeping for writing on files.    * This class also provides useful static methods for lease recovery. * 租约管理器主要目的是为了写一致性 * Lease Recovery Algorithm      租

2014-04-07 00:04:36 826

原创 hdfs的federation以及ha部署说明

一、hdfs的federation说明A、经典架构说明这里说一下我自己的理解,什么叫federation?首先我们知道hdfs的经典架构是这样的:一个namenode负责管理四大块:a、命名空间目录树b、文件与blocks映射关系c、datanode与blocks之间映射关系d、datanode异常处理多个datanode,dn负责:

2014-03-11 11:32:52 2081

原创 Azkaban添加短信报警功能

Azkaban本身具有邮件报警功能,但是邮件报警一般用户不能及时响应处理。虽然用户可以在作业中自行设计、使用短信报警功能,但是仅能对工作流中的一个作业执行内部过程监控,而不能监视工作流整体运行进度。为了使工作流的执行状态更方便快捷地通知到用户,特设计开发Azkaban的短信报警功能。Azkaban的详细介绍在http://wiki.d.xiaonei.com/pages/viewpage.

2014-02-12 17:53:08 7760 1

原创 【HDFS】datanode注册信息都有啥?

datanode节点在启动的时候,有一个向namenode注册的过程,那么注册的过程中datanode到底向namenode传递了哪些信息? private void register() throws IOException { if (dnRegistration.getStorageID().equals("")) { setNewStorageID(dnRegis

2014-01-21 11:54:52 1245

原创 【HDFS】hadoop的机架感知策略是啥?

123

2014-01-21 10:29:08 3200

原创 【HDFS】存储balancer到底咋回事

最近集群存储倾斜,个别节点存储超过85%,启动balancer之后效果明显,但是有时候balancer启动也不能解决问题。从运维阶段就知道有这么一个balancer,今天终于憋了一口气看看balancer到底咋回事。版本还是1.0.3首先balancer在org.apache.hadoop.hdfs.server.balancer,balancer作为一个独立程序启动,听说之前是在nameno

2014-01-16 15:38:39 3387

原创 【HDFS】hdfs的fsck是咋回事

有一次使用hadoop客户端运行hadoop的fsck,客户端报错,显示socket错误,连不上,rd童鞋耻笑说没有配置http地址,教训我等fsck是依靠http的一个工具,好吧,谁让咱他妈的不懂呢,现在就来看看fsck到底是咋实现的。elif [ "$COMMAND" = "fsck" ] ; then CLASS=org.apache.hadoop.hdfs.tools.DFSck

2014-01-09 17:11:40 3622 1

原创 Azkaban 的作业类型插件

首先说jobtype跟azkaban的webserver端无关,因为webserver节点只负责项目作业管理(上传和分发),并不关心你上传的是哪种类型的作业。负责具体执行的executor会解析job文件。还记得在配置.job作业文件的时候,使用type关键字指定作业类型吗?executor有一个作业类型管理器,在其构造方法中可以看到,既可以加载默认的作业类型,也能从插件中加载新的作业类型

2014-01-07 19:21:05 10086 1

原创 Azkaban调研

一、概述Azkaban来自LinkedIn公司,用于管理他们的Hadoop批处理工作流。日常生产环境中,为了得到想要的数据,通常需要执行很多作业,一批作业执行完毕,再将中间结果进一步处理,最后得到有价值的数据,因此作业之间执行有先后顺序和依赖关系。这样的一组作业称为一个工作流,Azkaban就是用来构建、运行和管理工作流的工具,它提供友好的Web用户界面来维护和跟踪用户的工作流程。

2014-01-03 17:52:07 5249

原创 Azkaban-任务调度管理器

Azkaban据说是哈利波特系列故事中的一座监狱的名字,卧槽,搜索这个词多数也都是哈利波特相关的网页,真是恼火!能搜到的azkaban的项目主页在:http://azkaban.github.io/azkaban2/,这里介绍得还是比较详细的,源码地址https://github.com/azkaban,项目主页提供的下载链接http://azkaban.github.io/azkaban2/do

2013-12-31 19:23:07 3952 4

原创 【Mapred】输入数据的分片实质

http://blog.csdn.net/tracymkgld/article/details/17578593提到作业的提交的时候,输入数据需要分片,当时提到有新旧两种分片方式,那么这里就来看看什么是新方法,与旧方法有什么不同。hadoop1.0.3依据参数  mapred.mapper.new-api的配置选择不同的切片方法。同样在http://blog.csdn.net/tracym

2013-12-27 17:15:24 879

原创 【Mapred】jobtracker & tasktracker架构作业是怎么提交的

Streaming那一套就先不管了,提交作业部分的代码肯定是一样的,只不过客户端提交的方式不一样。很多人都从wordCount看起,看吧,我擦。Configuration conf = new Configuration(); String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();

2013-12-26 12:03:43 1934

原创 【HDFS】Trash的周期清理

看namenode的启动代码,在初始化的时候 startTrashEmptier(conf);有这个么东西,启动TrashEmptier,empire翻译成排空装置,我擦,起名起得很牛逼啊、 private void startTrashEmptier(Configuration conf) throws IOException { this.emptier = new Th

2013-12-25 16:50:25 2178

原创 【HDFS】文件入Trash-rename操作

接http://blog.csdn.net/tracymkgld/article/details/17552189上篇没提到Trash具体怎么工作,接着看一下: if(!skipTrash) { try { Trash trashTmp = new Trash(srcFs, getConf()); if (trashTmp.moveToTrash

2013-12-25 16:14:36 1965

原创 【HDFS】namenode如何根据输入的文件(路径)名找到对应的inode的?

大家都用过 hadoop dfs -ls/rmr/rm/get/put/cat等命令,后面跟的都是一个字符串形式的文件绝对路径/a/b/c/d这样的玩意,那么namenode如何根据你输入的/a/b/c/d这样字符串格式的东西找到对应的文件呢?我们都知道文件对应的inodefile,目录对应inodeDirectory,它们都是inode,abstract class INode

2013-12-25 13:47:51 2699

原创 【HDFS】hdfs文件系统的删除操作

常用的rm和rmr 命令有什么区别,怎么实现的?然后Trash是啥,通过1.0.3的代码研究一下。elif [ "$COMMAND" = "fs" ] ; then CLASS=org.apache.hadoop.fs.FsShell HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"elif [ "$COMMAND" = "dfs" ] ;

2013-12-25 12:24:22 11527

淘宝小文件分布式系统设计

一、基础设施的规模与挑战 二、事例:图片存储与CDN系统 三、软件基础设施项目 四、淘宝开源平台 五、小结

2014-05-14

Proteus仿真ARM7实验手册

Proteus仿真ARM7实验手册是ARM初学者经济实惠的选择,可作为购买真实开发板之前的基础训练项目。

2010-11-30

集团话音业务方案模板

移动公司语音专线解决方案。随着全业务运营,集团业务方案自作越来越重要,此模板为新晋员工必备第一手资料。

2010-05-10

移动公司综合通信方案

本方案为移动公司为客户提供的综合通信方案,具有较高的教学价值

2010-01-20

空空如也

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

TA关注的人

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