分布式数据存储技术
文章平均质量分 92
以目前工业届都在使用分布式数据存储hadoop和hbase技术进行归纳总结,全是企业中干货,通过本专栏的学习,不仅可以掌握分布式数据存储技术原理以及应用,对实际的工作也会带来直接帮助
艾文教编程
BAT资深算法专家
展开
-
100303- ZooKeeper 配置管理代码实现案例
一、ZooKeeper的配置管理( Configuration Management)使用场景配置的管理在分布式应用环境中很常见,例如同一个应用系统需要多台 PC Server 运行,但是它们运行的应用系统的某些配置项是相同的,如果要修改这些相同的配置项,那么就必须同时修改每台运行这个应用系统的 PC Server,这样非常麻烦而且容易出错。像这样的配置信息完全可以交给 Zookeep原创 2015-04-05 19:19:49 · 2391 阅读 · 1 评论 -
100302- ZooKeeper详解
一、启动并验证ZooKeeper1、启动ZooKeeper[hadoop@cloud05 bin]$ ./zkServer.sh start[hadoop@cloud06 bin]$ ./zkServer.sh start[hadoop@cloud07 bin]$ ./zkServer.sh start2、验证ZooKeeper是否正常启动[hadoop@cloud原创 2015-04-05 19:18:57 · 986 阅读 · 0 评论 -
100301- ZooKeeper 基本概念介绍
ZooKeeper目录ZooKeeper详解 Client开发(Java)场景案例开发ZK集群WEB界面WEB监控一、ZK体系结构1、Server端具有fast fail特性,无单点故障。采用Leader/Follower模式,采用文件系统目录树型结构。例如:/NameService/aa,该节点即时目录和文件,通过路径作为一个唯一标识。该节点及时目录又是文原创 2015-04-05 19:17:08 · 765 阅读 · 0 评论 -
【hadoop】5003- ZooKeeper 整体概况介绍
一、什么是Zookeeper?Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务。它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等二、为什么使用Zookeeper?(1)大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任原创 2015-04-05 19:13:49 · 640 阅读 · 0 评论 -
是时候抛弃Eclipse转向IntelliJ了
在今年的Google I/O大会上,Google推出新的Android集成IDE“Android Studio”。而之前,Google与Eclipse合作开发出一个ADT傻瓜包,后来发现一些不足后,便投身IntelliJ,才有了今天的Android Studio。2013年Google I/O大会,推出了新的Android集成IDE“Android Studio”,最大的转变就是从Ecli转载 2013-06-05 23:37:41 · 1045 阅读 · 0 评论 -
【HBase-1.2.0】1000-HBase1.2.0 的安装
hbase1.2.0 新版本的安装,区别于1.0 之前的版本原创 2016-10-09 13:34:11 · 3145 阅读 · 0 评论 -
HBase-8.phoenix介绍
1、phoenix是什么?Apache Phoenix 是运行在Hbase之上的高性能关系型数据库,通过Phoenix可以像使用jdbc访问关系型数据库一样访问hbase。Phoenix,操作的表以及数据存储在hbase上。phoenix只需要和hbase进行表关联。然后在用工具进行一些读写操作。可以把Phoenix 只看成一种代替Hbase语法的工具。虽然Java可以原创 2016-02-12 10:18:18 · 4082 阅读 · 0 评论 -
HBase-7.hbase查询多版本数据&过滤器原则&批量导入Hbase&hbase预分区
HBase怎么查询同一条记录多个版本数据(1)Hbase shell命令模式get 'stu','rk01', {COLUMN => 'info:name', VERSIONS => 5}(2)JAVA API 模式Get get = new Get("rk01".getBytes());get.addColumn("info"原创 2016-01-26 19:53:58 · 4279 阅读 · 0 评论 -
HBase-6.hbase 协处理器
引入Hbase中的Coprocessor的原因HBase作为列族数据库无法建立“二级索引”,难以执行求和、计数、排序等操作。为解决这些问题,HBase0.92 之后引入协处理器(Coprocessor),实现一些新特性,能够轻易建立二次索引、复杂过滤器、以及访问控制。参考: http://blog.csdn.net/lifuxiangcaohui/article/details/3原创 2016-01-26 19:49:51 · 2485 阅读 · 0 评论 -
HBase-5.提高HBase客户端的读写性能方法
(1) 开启bloomfilter过滤器,开启bloomfilter比没开启要快3、4倍(2) hbase对于内存有特别的嗜好,在硬件允许的情况下配足够多的内存给它通过修改hbase-env.sh中的export HBASE_HEAPSIZE=3000 #这里默认为1000m(3) 修改java虚拟机属性替换掉默认的垃圾回收器,因为默认的垃圾原创 2016-01-26 19:44:51 · 2263 阅读 · 0 评论 -
HBase-4.HBase内部机制
在HMaster、RegionServer内部,创建了RpcServer实例,并与Client三者之间实现了Rpc调用,HBase0.95内部引入了Google-Protobuf作为中间数据组织方式,并在Protobuf提供的Rpc接口之上,实现了基于服务的Rpc实现。(1)HMaster支持的Rpc协议MasterMonitorProtocol,Client与Master之间的通信,Ma原创 2016-01-26 19:43:00 · 3219 阅读 · 0 评论 -
HBase-3.HBase读数据和存储数据原理
客户端读取信息流程(1)client要读取信息,先查询下client 端的cache中是否存在数据,如果存在,刚直接返回数据。如果不存在,则进入到zookeeper,查找到里面的相应数据存在的Root表中的地址。 (2)BlockCache;设计用于读入内存频繁访问的数据,每个列族都有 (3)通过数据存在ROOT表中地址找到.META,最终找到HRegion。找到HRegion原创 2016-01-26 19:40:02 · 3726 阅读 · 0 评论 -
HBase-2.HBase 的体系结构、行键、列族设计
HBase体系结构l Client -包含访问HBase接口并维护cache来加快对HBase的访问l ZooKeeper-保障任务时候,仅有一个Master节点-存储Region的寻址入口-实时监控RegionServer的上线和下线信息。并实时通知Master-存储HBase的schema和table的元数据信息,通过ls /hbase可以查看l Mast原创 2016-01-26 19:38:44 · 11137 阅读 · 0 评论 -
HBase-1. 搭建过程和集群安装注意事项
1.1 下载和解压1.2 配置集群并安装ZK集群由于HBase最终存储数据到DataNode上,故需hadoop的hdfs-site.xml、core-site.xml拷贝到hbase/conf下1.3 修改hbase-env.sh配置文件和hbase-site.xml修改hbase-env.sh 设置JAVA_HOME和修改HBASE_MANAGES_ZK=false,使用外部Z原创 2016-01-26 19:37:26 · 1392 阅读 · 0 评论 -
【HBase】1009-HBase的协处理器(coprocessor)统计行数
HBase的协处理器介绍原创 2015-12-08 15:35:36 · 2256 阅读 · 0 评论 -
1008-Hive访问HBase表数据
Hive访问HBase表数据原创 2015-11-25 11:36:10 · 1153 阅读 · 0 评论 -
1007-使用MapReduce把数据从HDFS导入到HBase
使用MapReduce把数据从HDFS导入到HBase原创 2015-11-25 11:30:28 · 1148 阅读 · 0 评论 -
006 用户行为PV&UV统计数据
mapreduce离线分析加强日志后,然后通过hive或者impala分析数据。本章节主要分析pv和uv数据,利用hive整合hbase,通过hive分析hbase中的数据原创 2015-10-12 17:33:16 · 12113 阅读 · 2 评论 -
hadoop集群模式下导入数据到hbase上报错
hadoop集群模式下导入数据到hbase上报错原创 2015-09-22 13:38:18 · 846 阅读 · 0 评论 -
1006-HBase操作实战(JAVA API模式)
HBase JAVA API 方式操作HBase的表的增加、删除、修改、查询操作原创 2015-06-08 19:19:50 · 1295 阅读 · 0 评论 -
1005--HBase操作实战(HBase Shell命令行模式)
HBase操作实战(HBase Shell命令行模式),主要包括hbase shell下对hbase相关表的增删改查原创 2015-06-08 19:15:54 · 1552 阅读 · 0 评论 -
1004-HBase的基本操作
HBase的基本操作 shell 命令行模式操作原创 2015-06-08 19:09:26 · 795 阅读 · 0 评论 -
1003-HBase集群搭建
HBase集群搭建原创 2015-06-08 17:52:18 · 996 阅读 · 0 评论 -
1002-HBase本地安装方式
下载HBase,安装HBase,配置HBase并验证原创 2015-06-08 17:48:18 · 1239 阅读 · 0 评论 -
1001-HBase基本概念
主要从以下三个方面讲解:HBase的基本概念,什么时候用 HBase,HBase和HDFS区别原创 2015-06-08 17:47:38 · 929 阅读 · 0 评论 -
MR-4.MapReduce压缩基本介绍
CodecCodec实现了一种压缩-解压缩算法。在Hadoop中,一个对CompressionCodec接口的实现代码一个codec。下面列出Hadoop实现的codec。通过CompressionCodec对数据流进行压缩和解压缩CompressionCodec接口中有两个重要的方法,来完成数据的压缩和解压缩。案例1-压缩文件public class File原创 2016-01-26 19:18:15 · 590 阅读 · 0 评论 -
MR-2.输出格式(OutputFormat)Multiple outputs多目录输出
Hadoop的输出格式和输入格式对应,这里仅列出基于OutputFormat的实现类如图所示:FileOutputFormat和他的子类可以输出一个文件目录,每个reducer都生成一个文件。文件的命名规则:part-r-xxxx。 但有时需要控制每个reducer输出不同格式的文件目录,可以使用MultipleOutputs多目录输出类。多目录输出(Mu原创 2016-01-26 19:13:59 · 2580 阅读 · 0 评论 -
MR-2.输入格式(InputFormat)TextInputFormat和SequenceFileInputFormat源码分析
TextInputFormat格式TextInputFormat是默认的InputFormat,其中ReaderRecord对每行记录输出一个键值对,其中:key是LongWritbale类型,offset是行记录在整个文件的偏移量。Value是行内容。在实际工作场景中大部分都是针对TextInputFormat格式数据的处理。 SequenceFileInputFormat格式H原创 2016-01-26 19:10:38 · 1531 阅读 · 0 评论 -
MR-2.输入格式(InputFormat)CombineFileInputFormat源码分析
Hadoop处理少量的大文件比处理大量的小文件更好,主要因为FileInputFormat对单个文件会至少生成一个InputSplit。若文件比HDFS 的Block小的话,将产生多个InputSplit,让多个MapTask任务处理。 解决方案,通过CombineFileInputFormat将多个小文件封装,形成一个大InputSplit,然后maptask处理封装后的InputSpl原创 2016-01-26 19:08:42 · 885 阅读 · 1 评论 -
【hadoop】 3004-hadoop序列化机制思想
一、序列化在分布式环境的两大作用1、进程间通信2、永久存储二、Hadoop节点通信1、Java的序列化2、hadoop的序列化传输方式同Java传输一致,由于hadoop仅仅是数据传输,不需要把继承的内容传输过去原创 2015-04-03 22:44:59 · 508 阅读 · 0 评论 -
MR-4.MapReduce使用压缩
MapReduce处理数据时,需要考虑压缩格式是否支持分片是很重要的。考虑存储在HDFS重的未压缩文件,其大小为1GB。HDFS块大小为128M,该文件在HDFS存储分成8块存,作为MapReduce输入将创建8个分片(split,也称为“分块”)。每个分片都被作为一个独立的MapTask的输入单独进行处理。 假设,一个压缩后1GB的gzip格式的文件。HDFS块大小为128M,在HDFS原创 2016-01-26 19:19:50 · 2314 阅读 · 1 评论 -
MR-5.MapReduce计数器介绍
计数器(couter)在许多情况下,用户需要了解分析的数据,统计出输入记录数、统计数据无效记录数。通过计算器可以检测程序存储缺陷和数据集质量高低问题。计算器分成两类:内置计数器和自定义计算器。内置计数器Hadoop为每个作业维护提供若干内置计数器。以描述作业的指标。l File System Countersl Map-Reduce Frameworkl原创 2016-01-26 19:26:14 · 1198 阅读 · 0 评论 -
MR-5.MapReduce分布式缓存(Distribute Cache)
DistributeCache是Hadoop的分布式文件缓存类,是一个提供给Map/Reduce框架的工具,用来缓存文件(文件,归档,jars等),DistributeCache将拷贝缓存的文件到slaves节点在任何job在节点上执行之前,每个存储在HDFS中的文件被放到缓存后都可以通过一个符号链接使用。 通过该类主要可以完成两方面的事情(1) 完成分布式文件共享(2原创 2016-01-26 19:27:40 · 1899 阅读 · 0 评论 -
MR-5.MapReduce排序
部分排序部分排序可以调用默认的HashPartitioner按照键排序顺序文件。应用场景,大部分的业务需求,都是用来统计每个指标的数据结果,故这种场景比较实用,通过分区把大的数据分配到多台机器上同时执行,提高执行的效率。 全局排序如何用Hadoop产生一个全局排序文件呢?最简单的方法是使用一个分区(默认HashPartitioner)。但该方法处理大型文件效率极低。一般有两种方原创 2016-01-26 19:28:40 · 923 阅读 · 0 评论 -
MR-5.MapReduce常见Joins方法
Map-Site joins使用场景:一张表十分小,一张表很大用法:在提交作业时先将小表文件放到作业的DistributedCache,然后从DistributedCache取出该小表,然后对该小表 join key/value解析分割放到内存中(可以放到hashmap等容器中)。然后扫描达标,看大表的每条记录的joinkey/value数值是否能够在内存中找到相同的join key的记录原创 2016-01-26 19:32:16 · 697 阅读 · 0 评论 -
MR-3.Hadoop使用YARN运行MapReduce工作原理
运行一个MapReduce的作业,可以调用job对象的submit()方法(一般调用job的的waitForCompletion),主要是提交一个job。整个作业的提交过程,涉及5个重要的实体对象:(1) Client,提交MapReduce作业(2) YARN resource manager:协调整个集群计算资源(3) YA原创 2016-01-29 16:21:17 · 3055 阅读 · 0 评论 -
hadoop yarn jobhistoryserver 配置
hadoop yarn jobhistoryserver 配置原创 2016-09-08 13:48:40 · 9520 阅读 · 0 评论 -
MR-2.输入格式(InputFormat)FileInputFormat源码分析
FileInputFormat 是InputFormat一个实现类。主要做两个方面的功能(1) 为一个job作业提供文件输入,FileInputFormat提供四个静态方法来设置job作业的输入路径public static void addInputPath( Job j ob, Path path)public static void addInputPaths(原创 2016-01-26 19:05:19 · 1092 阅读 · 0 评论 -
MR-2.MapReduce序列化&反序列化&MapReduce函数
MapReduce序列化和反序列化序列化(Serialization)是指把结构化对象转化为字节流。反序列化(Deserialization)是序列化的逆过程。即把字节流转回结构化对象。 Hadoop的序列化格式:Writable序列化在分布式环境的两大作用:进程间通信,永久存储。 Writable接口, 有两个方法分别为write和readFields,分别根据原创 2016-01-26 18:57:52 · 1965 阅读 · 0 评论 -
MR-1.MapReduce概述
是一计算模型。输入部分来自于HDFS,输出部分写入到HDFS。分为两阶段,先是map阶段然后是reduce阶段。1. map读取hdfs中的数据,然后把原始数据进行规范处理2. reduce是接受map阶段输出的数据,自身进行汇总,然后把结果写入到hdfs中原创 2016-01-26 18:50:56 · 587 阅读 · 0 评论