自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (1)
  • 收藏
  • 关注

转载 HDFS HA 高可用

一.简介在 Hadoop 的整个生态系统中,HDFS NameNode 处于核心地位,NameNode 的可用性直接决定了 Hadoop 整个软件体系的可用性。本文主要从内部实现的角度对 NameNode 的高可用机制进行详细的分析,主要包括 NameNode 的主备切换实现分析和 NameNode 的共享存储实现分析。在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS N...

2019-01-27 10:19:30 1293

转载 MapReduce shuffle性能调优

性能调优如果能够根据情况对shuffle过程进行调优,对于提供MapReduce性能很有帮助。相关的参数配置列在后面的表格中。一个通用的原则是给shuffle过程分配尽可能大的内存,当然你需要确保map和reduce有足够的内存来运行业务逻辑。因此在实现Mapper和Reducer时,应该尽量减少内存的使用,例如避免在Map中不断地叠加。运行map和reduce任务的JVM,内存通过mapr...

2019-01-26 19:16:10 1858 1

转载 MapReduce shuffle过程详解

MapReduce简介在Hadoop MapReduce中,框架会确保reduce收到的输入数据是根据key排序过的。数据从Mapper输出到Reducer接收,是一个很复杂的过程,框架处理了所有问题,并提供了很多配置项及扩展点。一个MapReduce的大致数据流如下图:Mapper的输出排序、然后传送到Reducer的过程,称为shuffle。本文详细地解析shuffle过程,深入理解这个...

2019-01-26 19:08:01 1322

原创 并行计算框架MapReduce编程模型

一. 简介MapReduce计算框架是Google提出的一种并行计算框架,是Google云计算模型MapReduce的java开源实现,用于大规模数据集(通常1TB级以上)的并行计算。但其实,MR不仅是一种分布式的运算技术,也是简化的分布式编程模式,是用于解决问题的程序开发模型。二.MapReduce基本编程模型和框架一种分布式计算模型,解决海量数据的计算问题MapReduce 将整个并...

2019-01-26 18:20:42 2738

原创 YARN 对集群的资源调度

一. YARN 资源管理资源调度和资源管理 隔离是YARN 作为一个资源管理的系统,最重要和最基础的两个功能。资源调度有ResourceManager 完成,而资源隔离由各个NodeManager 实现ReourceManager 将某个NodeManager 上的资源分配给任务(这个就是所谓的资源调度)后,NodeManager 需按照要求为任务提供响应的资源,甚至保证这些资源应具有独占性...

2019-01-26 16:32:50 1506

原创 yarn 架构组件功能详解

一.YARN服务组件YARN 总体上仍是Master/Slave 结构 在整个资源管理框架中ResourceManager 为master ,NodeManager 为Slave 。ResourceManager 负责 对各个NodeManager 上的资源进行同一的管理和调度当用户提交一个应用程序时,需要一个用以跟踪和管理这个程序的服务ApplicationMaster 它负责向Res...

2019-01-26 15:21:43 3453 3

转载 HDFS 安全模式的理解

安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性。当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性。假设我们设置的副本数(即参数dfs.replication)是5,那么在datanode上就应该有5个副本存在,假设只存在3个副本,那么比例就是3/5=0.6。在配置文件hdfs-default.xml中定义了一个最小的副本的副本率0.999,如图...

2019-01-24 08:01:57 1268

原创 详解 Secondary NameNode

一. 简介在初学Hadoop时,有个让人疑惑的概念:Secondary NameNode,也叫辅助namenode。从命名看,好像是第二个name mode ,用于备份主namenode,那么,Secondary NameNode的作用是什么?是如何工作的?1. NameNodeHDFS集群有两类节点以管理者和工作者的工作模式运行,namenode就是其中的管理者。它管理着文件系统的命名空间...

2019-01-22 22:50:40 4173

转载 hadoop namenode启动过程

NameNode启动过程详细剖析1. FSImageNamenode会将HDFS的文件和目录元数据存储在一个叫fsimage的二进制文件中,每次保存fsimage之后到下次保存之间的所有hdfs操作,将会记录在editlog文件中,当editlog达到一定的大小(bytes,由fs.checkpoint.size参数定义)或从上次保存过后一定时间段过后(sec,由fs.checkpoint.p...

2019-01-22 08:27:52 2258

原创 HDFS架构详解

一.HDFS来源源自于google 的GFS论文,全名Hadoop Distributed File System主要有下面几个特点易于扩展的分布式文件系统运行在大量的普通廉价的机器上,提供容错机制为大量用户提供性能不错的文件存储服务二.NameNodenamenode 是一个中心服务器,单一节点(简化系统的设计和实现),负责管理文件系统的命名空间(name space),以及...

2019-01-21 08:07:50 1462

原创 HBase与hive集成

如果有一些数据存储在hbase 当中 我们想通过sql 分析其中的数据 那么 与hive 集成就是一个不错的方法,本质上来说就是hive 充当了h’ba’se的客户端。1. 首先我们需要将hbase 的客户端jar 拷入hive lib 目录下[root@hadoop lib]# cp /apps/soft/hbase-2.1.1/lib/hbase-common-2.1.1.jar /ap...

2019-01-20 14:51:45 2260

原创 HBase 创建表时的预分区

如果知道hbase数据表的key的分布情况,就可以在建表的时候对hbase进行region的预分区。这样做的好处是防止大数据量插入的热点问题,提高数据插入的效率。背景:HBase默认建表时有一个region,这个region的rowkey是没有边界的,即没有startkey和endkey,在数据写入时,所有数据都会写入这个默认的region,随着数据量的不断 增加,此region已经不能承受不...

2019-01-19 08:42:48 19385 2

转载 在Spark上通过BulkLoad快速将海量数据导入Hbase

上一篇简单介绍了一下 BulkLoad 导入数据到Hbase 本篇我们通过一个例子 看下spark使用BulkLoad怎么将数据导入到 Hbase使用org.apache.hadoop.hbase.client.Put来写数据使用 org.apache.hadoop.hbase.client.Put 将数据一条一条写入Hbase中,但是和Bulk加载相比效率低下,仅仅作为对比。import...

2019-01-18 09:56:02 3790

转载 BulkLoad 加载数据到HBase

Hbase支持bulk load 的入库方式,他是利用hbase 的数据信息按照特定格式存储在hdfs内这一原理,直接在HDFS中生成持久化的GFile数据格式的文件,然后上传到合适的位置,即完成巨量数据快速入库的方法。配合MapReduce完成,高效便捷而且不占用region资源,增添负载,在大数据写入时极大的提高写入效率并降低对HBase 节点的压力。通过使用先生成Hfile 文件,然后再B...

2019-01-17 23:58:56 1904

原创 HBase架构深入剖析

一. 客户端clientList item 整个HBase 集群的访问入口 ;使用HBase RPC 机制 与 HMaster 和 HRegionServer 进行通信;与HMaster 进行通信进行管理类操作;与HRegionServer 进行数据读写类操作;包含访问HBase 的接口 并维护Cache 来加快对于HBase 的访问二.协调工具zookeeper保证任何时候...

2019-01-17 22:35:29 1570

原创 HBASE java api CURD 操作

上文中介绍了hbase shell 的curd 操作 本次介绍一下 java api 的curd 操作参数配置将hadoop 的core-site.xml hdfs-site.xml hbase 的hbase-site.xml 放到resources 目录下即可下面我们得到 hbase 的配置Configuration conf = HBaseConfiguration.cre...

2019-01-16 21:43:52 1879 1

转载 Hbase数据存储图解与数据检索流程

首先我们来看下hbase 的架构图1、hbase在Hadoop集群中的物理架构由图中可以看出,存储模块主要包括了ZooKeeper集群、HMaster、HRegionServer。ZooKeeper: Hbase是强依赖于ZooKeeper,我们读或写一个表的数据,都会优先访问ZooKeeper。 通常是集群中单独的3/5台服务器。 HMaster通...

2019-01-08 22:45:32 2629

原创 hbase shell 操作

上文中我们介绍了安装hbase 的伪分布式安装 ,下面介绍一个hbase shell 的简单使用 当hbase 启动之后 进入 bin 目录下 使用 ./hbase shell 进入hbase shell 操作界面[root@hadoop bin]# ./hbase shellSLF4J: Class path contains multiple SLF4J bindings.SLF4J:...

2019-01-06 21:41:09 2275

原创 hbase安装

在本地虚拟机中安装伪分布式的hbase 首先去官网下载https://www-us.apache.org/dist/hbase/2.1.1/hbase-2.1.1-bin.tar.gz 下载完后解压之后需要修改两个配置文件hbase-env.shexport JAVA_HOME=/apps/soft/java/jdk1.8.0_161export HBASE_CLASSPATH=/...

2019-01-06 09:18:20 2069

转载 HIVE和HBASE区别

两者分别是什么?Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询–因为它只能够在Haoop上批量的执行Hadoop。Apache HBase是一种Key/Value系统,它运行在...

2019-01-06 07:29:05 2053

转载 Hive中的数据压缩

1.数据文件存储格式下面简介一下hive 支持的存储格式file_format: : SEQUENCEFILE | TEXTFILE -- (Default, depending on hive.default.fileformat configuration) | RCFILE -- (Note: Available in Hive 0.6.0 and ...

2019-01-05 16:52:18 2378

转载 安装snappy数据压缩格式

1.安装snappy数据压缩格式(1)安装snappy:下载snappy安装包,并解压安装。(2)编译haodop 2.x源码:mvn package -Pdist,native -DskipTests -Dtar -Drequire.snappy /apps/soft/hadoop-2.7.5-src/target/hadoop-2.7.5/lib/native(3) 检查 结果b...

2019-01-05 16:11:39 2833

原创 在 hive 使用 jdbc

hive 也是支持jdbc 连接的这样操作起来就会方便很多 毕竟可以在客户端直接些sql 不多说首先 需要启动hive server 的server2 服务bin/hive --service hiveserver2 &下面就是编写客户端了提供pom 依赖<hive.version>2.2.0</hive.version> <depen...

2019-01-05 13:25:54 3178

原创 hive 自定义udf函数

上一篇中介绍到了一些hive 中一些默认的function 但是在日常的开发需求中这个肯定是满足不了我们的,下面介绍一下hive 的自定义function 废话不多少了先写个简单的例子压压惊首先给出工程依赖<dependencies> <dependency> <groupId>org.apache.hadoop&l...

2019-01-05 10:57:36 2646

转载 hive中自带function简介和使用

hive 默认自带了很多函数,以方便我们的日常使用我们可以使用show functions; 命令进行查看目前可以使用的function;可以使用如下的命令 查看某一个函数的使用方法hive (default)> desc function extended split;OKtab_namesplit(str, regex) - Splits str around occuran...

2019-01-01 23:21:33 6416

原创 hive 中 order by ,sort by ,distribute by ,cluster by 详解

1. order byorder by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。set hive.mapred.mode=nonstrict; (default value / 默认值)set hive.mapred.mode=strict;order by 和数据库中的O...

2019-01-01 22:41:31 2560

空空如也

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

TA关注的人

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