- 博客(92)
- 资源 (3)
- 收藏
- 关注
转载 产业互联网未来十大趋势
产业互联网未来十大趋势导读:未来永无人知晓,但一定可以想象。 市场风云不断,企业重新确定业务方向,移动互联网正式进入下半场。为此,本文预测总结了2019年产业互联网的十大趋势,共同探索下一个时代的脉搏。刚过去的2018年,是步履维艰的一年,也是承上启下的一年。这一年,人口红利消失殆尽,互联网企业集体进入寒冬,巨头纷纷调转航向,入局产业互联网。这一年,更多的行业开始瘦身变革,由之前的劳动密集型改为技术驱动型,创新越来越成为一个企业做大做强的标志。这一年,物美价廉不再是人们shoppin
2021-02-18 13:45:10 907
原创 技术工程师进阶之路(转载)
很多同学都有关于工程师该如何成长的问题,大家普遍对如何成长为牛人,如何获得晋升,如何在繁忙的工作中持续学习充满了困惑,这其实是每一位同学成长过程中必经之路。最近几次1-1也和同学聊过这方面的问题。在这里也想跟大家分享一下我的一些心得。 同学们普遍对成长充满了焦虑感。工作太忙没时间学习,需求太多太琐碎感觉自己没什么进步,做技术是不是做到35岁以后就没人要了,等等,都是对成...
2019-09-25 11:46:38 260
原创 F1解读
F1最初定位是一个SQL查询引擎,本来是架构在Mysql的分布式集群上。由于Mysql本身的reshared以及分布式事务上的冲突几乎是无解,最终放弃Mysql分布式存储,而转而使用Spanner。单独的F1并不能称为一款数据库。这点在F1论文题目有所误导,更准确的来讲F1是一款SQL执行引擎,包含了二级索引等一些常见的传统数据库功能。和Spanner结合起来才完成了Nosql+Sql=newSQ
2017-07-20 12:08:24 1072
原创 Spanner数据库解读
最近重读Spanner和F1的论文,涉及的实在太广。这篇文字从一些简单概念上说说这两者究竟是什么,实现上的一些创新,还有一些较常见的误读。以及对比当前的HBase和Phoenix区别 Spanner最重要的设计点就是做全球数据库,要求可扩展性、多数据版本、多replica数据一致性和事务。是第一个款能实现全球数据分布而且还能实现分布式事务的数据库系统,从他的架构图来看底层也是基于Co
2017-07-20 11:40:46 4959
原创 滴滴工程师HBasecon2017参会感受
在国内参加过大大小小的大数据会议,最近几年的感受是hadoop离线的议题慢慢转换成spark、实时计算等的议题。中间偶尔会出现几篇HBase的Topic,但总的来说HBase在国内的影响力确实还是不够。目前来看来主要的来自大厂的使用方包括阿里、小米两家公司通过自家业务的实践,并不断迭代自己的版本,为开源社区贡献Path(这里特别提一下小米的Issues已经达到180+的数量,都是多年积累下来的,但
2017-07-08 21:49:04 2709
原创 Hbase表级别元数据一致性和hbck原理
最近重新回到熟悉的hbase领域,感慨还是很多。首先终于又可以沉下心来好好搞技术了,其次看到现在有冲劲有追求的年轻人就像看到原来的自己。大数据需要一代一代人传承下去。最近我们上了region group的patch,将原来在2.0里面才合并的patch 加到了0.98版本中。初始使用的时候挺好,但是也遇到了一点问题——在做表group之间迁移的时候发现master页面上的元数据信息有误。而实际
2017-03-10 18:28:13 4780
原创 KuDu论文解读
kudu是cloudera在2012开始秘密研发的一款介于hdfs和hbase之间的高速分布式存储数据库。兼具了hbase的实时性、hdfs的高吞吐,以及传统数据库的sql支持。作为一款实时、离线之间的存储系统。定位和spark在计算系统中的地位非常相似。如果把mr+hdfs作为离线计算标配,storm+hbase作为实时计算标配。spark+kudu有可能成为未来最有竞争力的一种架构。
2016-07-05 00:25:22 6601
原创 从Heron看实时计算系统差异对比
真的有很久没有更新博客了,上一次更新还是2014年。那时候就在写云计算君临天下。感叹变化太快,自己14-15年从storm到全栈工程师,到产品经理,现在又重回大数据,不胜唏嘘。 这两年里,许多新的开源系统发布,平均1、2年技术栈都要变一下。当然,其中最火爆的莫过于spark了。spark集批量计算,实时计算,SQL计算,图计算,机器学习与一身。以scala语言的易编程特点几乎一统大数
2016-06-06 11:40:35 2641
原创 2014年技术规划
随着对hadoop大数据体系的了解,对hbase的深入研究。今年会选择一个点深入,其他技术点全面铺开的规划策略。 一个点深入——分布式数据库。无论是hbase、oceanbase、rdbms,其实都是解决一个oltp的问题,解决线上存取数据、简单计算数据的问题。那么万法归一,只要是做了分布式的数据库,都逃不开CAP的限制。hbase全分布式、oceanbase updataser
2014-02-10 17:04:01 2093
原创 Hbase写入量大导致region过大无法split问题
最近在线上往hbase导数据,因为hbase写入能力比较强,没有太在意写的问题。让业务方进行历史数据的导入操作,中间发现一个问题,写入速度太快,并且业务数据集中到其中一个region,这个region无法split掉,处于不可用状态。这里描述一整个过程—— 事情的起因:业务方按照userid和商品id作为rowkey前缀,并没有进行hash散列。我当时咨询过业务方,认为:1.
2014-02-10 12:09:04 11663 5
原创 hadoop2.0 HDFS搭建和HA切换
说到了hadoop2.0的新特性。这里详解一下搭建步骤以及原理。 首先,需要在cdh官方下载对应的源码包:http://archive.cloudera.com/cdh4/cdh/4/ 以cdh4.3.1版本为例来进行说明。 1、hadoop配置文件及目录 hadoop2.0版本配置文件放在$HAOOP_H
2013-12-17 16:58:20 18205 2
原创 RegionServer不停新建空的hlog
线上0.90.2集群发现一个诡异现象。regionserver不停的新建空Hlog,导致Hlog数量到达100w之多,测试集群的hdfs承受不了压力,挂掉。对相关表做了disable和enable之后才恢复正常。从现象来看应该是写操作引起的,但是为什么会产生这个现象,还待追查。mark一下
2013-08-08 16:36:14 2647 1
原创 互联网视野的一些精彩观点
前天去听微软全球副总裁沈向阳的讲座,还是蛮有收获的。现在记录一下: 1、网页搜索最难的是相关性排序,比较好的是herplink和click来实现,垂直或社交搜索不同 2、创新还是微创新:有钱的时候创新,没钱的时候微创新 3、搜索未来趋势:社交、实体 4、软件知识产权对创新的重要意义 5、问答搜索前景不错,如知乎,直接回答问题而不
2013-05-28 11:44:34 2129
原创 hbase集群表在线调整(TTL/compression)
今天发现hbase集群的hdfs使用量已经接近80%,检查发现一个表数据量特别巨大,该表会记录用户每天的一次活动属性,按照4亿用户*197天,有800亿条的数据存放在表中——4TB,对于一个表来说过于大了。有两个问题:1、未开启压缩;2、没设置TTL 经过和业务方讨论,只保留最近93天(3个月)的数据,然后开启LZO压缩。 理论上所有的表都应该开启压缩,但是早期使用时没
2013-04-16 18:11:44 5358 1
转载 mapreduce中控制mapper的数量
很多文档中描述,Mapper的数量在默认情况下不可直接控制干预,因为Mapper的数量由输入的大小和个数决定。在默认情况下,最终input占据了多少block,就应该启动多少个Mapper。如果输入的文件数量巨大,但是每个文件的size都小于HDFS的blockSize,那么会造成启动的Mapper等于文件的数量(即每个文件都占据了一个block),那么很可能造成启动的Mapper数量超出限制而导
2013-03-08 17:19:33 9632 1
原创 hbase使用、运维、改进(不断更新)
刚刚看了google jeff dean 在新的一年里发表的演讲,讲到各种系统配合使用完成海量数据处理任务。深有感触:http://t.cn/zYE89gn 。2013年,依然会专注hbase研究,并以此为基础扩展,对hbase衍生的一些特性和产品进行深入研究,例如replication、phoenix。从传统的离线计算(hadoop、hive),到实时流式计算系统(storm、s4),创新应用性
2013-03-07 15:27:06 12605 6
原创 简单关键词匹配算法
针对微博的短篇博文,编写的简单分词和匹配算法。相对于一篇文档的复杂分词算法,能够在效率和可用性上得到较好的平衡。package com.sina.tblog.sentiment;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.Fil
2012-12-18 15:17:20 6727 1
转载 HBase集群出现NotServingRegionException问题的排查及解决方法
HBase集群在读写过程中,可能由于Region Split或Region Blance等导致Region的短暂下线,此时客户端与HBase集群进行RPC操作时会抛出NotServingRegionException异常,从而导致读写操作失败。这里根据实际项目经验,详细描述这一问题的发现及排查解决过程。1. 发现问题在对HBase集群进行压力测试过程中发现,当实际写入HBase和从
2012-11-26 13:50:54 7934 1
转载 HBase解决Region Server Compact过程占用大量网络出口带宽的问题
HBase 0.92版本之后,Region Server的Compact过程根据待合并的文件大小分为small compaction和large compaction两种,由此可能导致在集群写入量大的时候Compact占用过多的网络出口带宽。本文将详细描述集群使用过程中遇到这一问题的排查过程及其解决方法。1. 发现问题HBase集群(版本为0.94.0)运行过程中,发现5台Regi
2012-11-26 13:49:00 2683
转载 Hadoop 实战之MapReduce链接作业之预处理
环境:Vmware 8.0 和Ubuntu11.04Hadoop 实战之MapReduce链接作业之预处理第一步:首先创建一个工程命名为HadoopTest.目录结构如下图:第二步: 在/home/tanglg1987目录下新建一个start.sh脚本文件,每次启动虚拟机都要删除/tmp目录下的全部文件,重新格式化namenode,代码如下:
2012-11-21 09:49:22 3046
原创 小小的里程碑,Mark一下
从接触到研究hbase也有1年多的时间了。从之前的了解、安装、使用。到后来的应用开发、性能调优。hbase每次都能带给我不一样的惊喜,无论的并发查询还是数据写入。多维查询还是监控扩展,bulkload扩展。都让我对hbase的能力深信不疑。 今天偶尔上JIRA上查询,发现自己提交的一个bug已经被社区采纳并正式进入0.94.2版本,心中还是好好的激动了一把。淘宝的竹庄已经很轻松的ho
2012-11-12 11:29:31 2642 2
转载 Apache Hadoop 2.0-alpha发布
Apache Hadoop 2.0-alpha发布了,直接从0.23.x升为2.0版本,让我们再一次被Hadoop版本的混乱无序状态搞晕。本文将解析Hadoop -2.0-alpha中的新特性。相对于Hadoop-1.x版本(为了更全面的描述Hadop 2.0中的新特性,我们没有将之与0.23.x比较),添加了以下几个功能:1. HDFS HA (manual failover)
2012-10-30 15:36:01 2247
原创 HFileInputFormat实现
hbase的底层存储采用的是hfile文件格式,可以作为mr的输入,进行hfile的mr。代码如下:import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;
2012-07-27 16:48:09 4515 4
转载 hbase0.94新特性
HBase 0.94 版本最近发布了,距上次的0.92 版本发布又四个月了,下面我们就来看一下这个版本中丰富的功能增强。性能相关读缓存改进: HDFS 将图片和checksum存储在不同的block中的,所以每次我们进行读操作,都需要进行两次磁盘操作(一次读数据文件,一次读checksum所在的文件)。在HBASE-5074 这个提案中,提出了将checksum存到block 缓存
2012-05-24 13:33:17 3582
原创 hbase bulkload
bulkload的方式导入数据是hbase的一项相当好的数据导入工具,特别适合做为新系统的历史数据导入工具!hbase本身也封装了相关的类importtsv,官网有简单的介绍http://hbase.apache.org/bulk-loads.html。 这里我要说明的是如何去快速定制一些适合自己应用的bulkload。 我们一般需要运行的数据有几种格式,txt的用的最
2012-04-09 16:41:04 7406 3
原创 hbase表结构设计研究(不断更新)
因为一直在做hbase的应用层面的开发,所以体会的比较深的一点是hbase的表结构设计会对系统的性能以及开销上造成很大的区别,本篇文章先按照hbase表中的rowkey、columnfamily、column、timestamp几个方面进行一些分析。最后结合分析如何设计一种适合应用的高效表结构。 1、表的属性 (1)最大版本数:通常是3,如果对于更新比较频繁的应用完全可
2012-04-09 16:15:34 44597 6
原创 hbase修复.META.表与HDFS文件不一致问题
在实际环境中遇到hbase fbck检查报hdfs数据块与META表信息不一致的错误。表现就是数据写入无法进行。 经过检查,发现在.META.表中对应的一些region块的子列少了regioninfo这一列;同时在hdfs的出错region文件夹下查看发现本来该是.regioninfo的文件夹变成了.tmp文件夹。在网上查了些资料,发现是region做分裂的时候失败,导致region
2012-01-01 16:26:49 6844 2
原创 hbase中region的规划与硬盘配置分析
Hbase在逻辑上的存储最小单位是Region,物理上来说事HFile。每个Region由多个HFile组成。那么,是否有一个推荐值,确定每台regionserver上运行多少个region,,每个region的size多大是最合适的呢? 看到《Hbase权威指南》中有一段话写道: It is noted in the Bigtablepaper that the ai
2011-12-23 15:01:05 5239
原创 Hadoop World 大会上的文章选摘(一)
Compression LZOor Snappy(20% better than LZO)——Block(default) Serialization AVROdidn’t work well——deserialization issue Developedconfigurable serialization mechanism
2011-12-09 14:37:02 1193
原创 hbase入库过程中JVM 新生代大小配置试验
hbase入库过程中,除了hbase-site.xml中的一些常见的配置参数,其实很关键的一个环节是hbase-env.sh中的jvm参数配置。之前修改的一个重要参数就是新生代的大小。 在大规模写入数据的试验中,我们分别将每个Regionserver的新生代内存配置为不同大小(总大小为32GB),入库一段时间后,通过jstat命令查看每台机器的三个运行状态,YGC,FGC,GCT,绘
2011-12-07 15:54:13 3197 1
原创 MR操作hbase的一点心得(含hbase表拷贝样例代码)
最近在写基于hbase的MR程序。总结如下: 1、使用TableMapper来读取表 2、写入表的第一种方式是用TableMapReduceUtil.initTableReducerJob的方法,这里既可以在map阶段输出,也能在reduce阶段输出。区别是Reduce的class设置为null或者实际的reduce 以下是一个表copy的例子: package
2011-11-22 17:22:26 14868
原创 hbase+hadoop运维的一点经验
目前系统上线,不断的有新问题,也不断的在总结一些经验,发在这里,做下mark,同时也为hbase使用者提供一些思路吧。1、单条rowkey下虽然能支持百万列,但是建议不要这么做,因为真正一个rowkey下挂了这么多数据时会在两个地方出现问题,一是查询时单行记录数据量过大,cl
2011-09-29 01:20:03 4831
转载 hbase二级索引
二级索引与索引Join是多数业务系统要求存储引擎提供的基本特性,RDBMS早已支持,NOSQL阵营也在摸索着符合自身特点的最佳解决方案。这篇文章会以HBase做为对象来讨论如何基于Hbase构建二级索引与实现索引join。文末同时会列出目前已知的包括0.19.3版second
2011-08-31 11:25:47 14351 4
原创 hbase打HFileOutputFormat补丁
由于要使用hbase的bulk load功能入库数据,而原始的HFileOutputFormat不支持多列族数据生成,在网上找到一个patch能够支持这个功能,为了给hbase打上这个补丁,网上查找了一下,方法如下:hadoop打补丁的方式:1. 在hadoop根目录下安装patch patch -p0 -0.20.2-v1382.patch2.如果需要回滚patch,恢复
2011-07-05 15:40:06 2537
原创 hbase入库效率提升研究(二)
接着前一篇文章所说,在hbase入库效率上有较大作用的几个因素 一、writebuffersize大小的设置,太大和太小都会使速度下降。原因是太大每次提交数量大,提交频度下降;太小每次提交数量小,提交频度高。按照目前的测试结果来看64MB是一个理想值 二、硬盘配置,在底层的hadoop上不要对硬盘做raid,能够充分利用每块磁盘的使用效率 三、regionserver的fl
2011-06-30 17:32:00 1672
转载 hbase 介绍
一、简介history started by chad walters and jim2006.11 G release paper on BigTable2007.2 inital HBase prototype created as Hadoop contrib2007.10 First useable Hbase2008.1 Hadoop become Apach
2011-06-14 16:43:00 2215
原创 Cassandra分析
一、 简介 Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。 主要特性: 分布式 基于column的结构化 高伸展性 Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能
2011-05-18 23:18:00 9802
转载 Hive-如何基于分区优化
<br />最近一直做系统优化,但从建模的角度今天有个小优化,原理比较简单,效果可能不是很大,但很有意思。<br />这种优化的好处是不用改变sql代码,对用户是透明的。<br />所以分享下。<br />-<br />由于hive在文件基础上,而会全部扫一个分区里面的内容。<br />hive表的概念是基于hadoop的文件系统hdfs,表其实是分布式文件里面的一个文件目录。<br />再加上没有索引,如果要取的表里面的某些字段就必须全部扫描该表对应的文件目录<br />-<br />如:建表way1:<
2011-05-16 17:19:00 2638
转载 jvm垃圾回收
在jvm中堆空间划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和永久代(Permanent Generation)。年轻代和年老代是存储动态产生的对象。永久带主要是存储的是java的类信息,包括解析得到的方法、属性、字段等等。永久带基本不参与垃圾回收。我们这里讨论的垃圾回收主要是针对年轻代和年老代。具体如下图。年轻代又分成3个部分,一个eden区和两个相同的survior区。刚开始创建的对象都是放置在eden区的。分成这样3个部分,主要是为了生命周期短的对象
2011-05-16 17:07:00 974
hbase培训ppt
2013-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人