
hadoop
小狼_百度
百度,web系统,分布式系统,大数据,机器学习,人工智能等爱好者
展开
-
Apache Spark探秘:实现Map-side Join和Reduce-side Join
在大数据处理场景中,多表Join是非常常见的一类运算。为了便于求解,通常会将多表join问题转为多个两表连接问题。两表Join的实现算法非常多,一般我们会根据两表的数据特点选取不同的join算法,其中,最常用的两个算法是map-side join和reduce-side join。本文将介绍如何在apache spark中实现这两种算法。(1)Map-side Join转载 2016-08-15 18:38:24 · 1656 阅读 · 0 评论 -
CHD4B1(hadoop-0.23)实现NameNode HA安装配置
CHD4B1(hadoop-0.23)实现NameNode HA安装配置CHD4B1(hadoop-0.23)实现NameNode HA安装配置 Cloudera CHD4B1版本已经包含了NameNode HA,社区也把NameNode HA branch HDFS-1623 merge到trunk版本,可以实现了双NameNode的热备份,不过目前只支持手动切换,还不支持自动转载 2014-01-03 11:08:19 · 905 阅读 · 0 评论 -
Hadoop平台优化综述(一)
1. 概述随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和容错性,已得到越来越广泛的应用。Hadoop作为一个基础数据处理平台,虽然其应用价值已得到大家认可,但仍存在很多问题,以下是主要几个:(1) Namenode/jobtracker单点故障。 Hadoop采用的是转载 2014-01-03 14:59:48 · 810 阅读 · 0 评论 -
Hadoop平台优化综述(二)
从系统实现角度进行优化4.1 在可移植性和性能之间进行权衡论文[16]主要针对HDFS进行了优化,它分析了HDFS性能低下的两个原因:调度延迟和可移植性假设。(1) 调度延迟Hadoop采用的是动态调度算法,即:当某个tasktracker上出现空slot时,它会通过HEARBEAT(默认时间间隔为3s,当集群变大时,会适当调大)告诉jobtracke转载 2014-01-03 15:20:13 · 962 阅读 · 0 评论 -
Hive并发情况下报DELETEME表不存在的异常
在每天运行的Hive脚本中,偶尔会抛出以下错误:123456782013-09-03 01:39:00,973 ERROR parse.SemanticAnalyzer (SemanticAnalyzer.java:getMetaData(1128)) - org.apache.hadoop.hive.ql.metadata.HiveExcept转载 2013-10-28 17:13:07 · 3007 阅读 · 0 评论 -
[hadoop云计算实战]hadoop的Avatar机制
Hadoop云计算实战读书笔记:第3章,p87~p991. 简介: Avatar机制是FaceBook提供的一个应用在Hadoop上的补丁程序,是作为NameNode解决故障的方案。 打过补丁后,Hadoop目录$HADOOP_HOME/src/contrib下面会出现一个highavailability包,其中主要有继承于NameNode,Data转载 2013-10-25 18:42:33 · 2516 阅读 · 0 评论 -
Map/reduce 输出格式化
在运行mapTask 或者reduceTask,输出的结果可能需要进行格式化才能满足我们的需求.hadoop 提供了OutputFormat 供我们转换使用。org.apache.hadoop.mapreduce.lib.output.OutputFormatK, V>//在Job中可以通过setOutputFormatClass 方法来设置格式化,SortedOutputFormat.c转载 2013-10-11 14:04:44 · 2755 阅读 · 0 评论 -
Hadoop学习笔记(六):Hadoop读写文件时内部工作机制
读文件 读文件时内部工作机制参看下图: 客户端通过调用FileSystem对象(对应于HDFS文件系统,调用DistributedFileSystem对象)的open()方法来打开文件(也即图中的第一步),DistributedFileSystem通过RPC(Remote Procedure Call)调用询问NameNode来得到此文件最开始几个block的文件位置(第二步)。转载 2013-10-11 15:13:18 · 1580 阅读 · 0 评论 -
Hadoop DistributedCache使用及原理
概览DistributedCache 是一个提供给Map/Reduce框架的工具,用来缓存文件(text, archives, jars and so on)文件的默认访问协议为(hdfs://). DistributedCache将拷贝缓存的文件到Slave节点在任何Job在节点上执行之前。文件在每个Job中只会被拷贝一次,缓存的归档文件会被在Slave节点中转载 2013-09-17 17:55:36 · 21354 阅读 · 2 评论 -
hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition)
hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说在表的数据文件中实际上并不保存分区列的信息与数据。下面的语句创建了一个简单的分区表:create table partition_test(member_id string,name string)partition转载 2013-09-17 12:09:31 · 4519 阅读 · 0 评论 -
对现有Hive的大表进行动态分区
分区是在处理大型事实表时常用的方法。分区的好处在于缩小查询扫描范围,从而提高速度。分区分为两种:静态分区static partition和动态分区dynamic partition。静态分区和动态分区的区别在于导入数据时,是手动输入分区名称,还是通过数据来判断数据分区。对于大数据批量导入来说,显然采用动态分区更为简单方便。- 对现存hive表的分区首先,新建一张我们需要的分区以后的表cre转载 2013-09-17 11:18:35 · 23845 阅读 · 0 评论 -
【转】hive优化总结
1.当hive执行join内存溢出时,可以修改hive的配置文件hive-site.xml,增大内存,如下: mapred.child.java.opts -Xmx 1024m2.hive默认建表时的路径也可以在hive-site.xml里配置,如下: hive.metastore.warehouse.dir value >/user/hive/warehouse description转载 2013-06-09 15:34:44 · 830 阅读 · 0 评论 -
[Hive]从一个经典案例看优化mapred.map.tasks的重要性
我所在公司所使用的生产Hive环境的几个参数配置如下:dfs.block.size=268435456hive.merge.mapredfiles=truehive.merge.mapfiles=truehive.merge.size.per.task=256000000mapred.map.tasks=2 因为合并小文件默认为true,而dfs.block.size与hi转载 2013-06-09 15:33:10 · 3072 阅读 · 0 评论 -
Hadoop中map数的计算
Hadoop中在计算一个JOB需要的map数之前首先要计算分片的大小。计算分片大小的公式是:goalSize = totalSize / mapred.map.tasksminSize = max {mapred.min.split.size,minSplitSize}splitSize = max (minSize, min(goalSize,dfs.block.size))to转载 2013-06-09 15:30:51 · 769 阅读 · 0 评论 -
Hive函数之parse_url
parse_url(url, partToExtract[, key]) - extracts a part from a URL解析URL字符串,partToExtract的选项包含[HOST,PATH,QUERY,REF,PROTOCOL,FILE,AUTHORITY,USERINFO]。举例:* parse_url('http://facebook.com原创 2013-04-19 11:10:56 · 13321 阅读 · 0 评论 -
[转]Linux内核的文件预读(readahead)
编者按:Linux文件预读算法磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的一个主要瓶颈。预读可以有效的减少磁盘的寻道次数和应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一。本文作者是中国科学技术大学自动化系的博士生,他在1998年开始学习Linux,为了优化服务器的性能,他开始尝试改进Linux kernel,并最终重写了内核的文件预读部分,这些改进被收录转载 2014-01-03 14:44:23 · 2149 阅读 · 0 评论 -
调大预读缓冲区大小来提高性能
You can get the current settings of your harddrives with:blockdev --report.This will report all settings of all your currently attached harddrives.The default value for the readahead buffer in l转载 2014-01-03 14:46:20 · 6517 阅读 · 0 评论 -
深入分析Parquet列式存储格式
Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储列式存储和行式存储相比有哪些优势呢?可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编转载 2016-05-05 17:02:53 · 886 阅读 · 0 评论 -
使用distcp并行拷贝大数据文件
以前我们介绍的访问HDFS的方法都是单线程的,Hadoop中有一个工具可以让我们并行的拷贝大量数据文件,这个工具就是distcp。distcp的典型应用就是在两个HDFS集群中拷贝文件,如果两个集群使用的Hadoop版本相同,可以使用hdfs标识符: % hadoop distcp hdfs://namenode1/foo hdfs://namenode2/bar 这条命令会把第一转载 2016-05-12 17:34:34 · 2491 阅读 · 0 评论 -
百分点技术负责人:我们为什么需要大数据操作系统
去年9月,百分点公司发布了“全球首款”大数据操作系统BD-OS(基于Lambda架构)。日前,百分点技术副总裁刘译璟和百分点BD-OS产品高级研发总监线刘国栋接受CSDN记者采访,结合BD-OS的设计、研发和架构,对大数据技术演进及应用实践的趋势进行了解读。所谓“全球首款”,意味着Hadoop、Storm、Spark等当前主流大数据技术的相关从业者几乎听说过“大数据操作系统”的存在(之所以转载 2016-03-22 18:30:32 · 3251 阅读 · 0 评论 -
Hadoop job性能参数调整
Hadoop平台已经成为了大多数公司的分布式数据处理平台,随着数据规模的越来越大,对集群的压力也越来越大,集群的每个节点负担自然就会加重,而且集群内部的网络带宽有限,数据交换吞吐量也在面临考验,由此引发了人们对大规模数据处理进行优化的思考。本文仅从实践经验出发,针对Hadoop Job优化提出了一些观点,不包含HDFS的优化。Job Tracker Related严格来说,下面这个配置转载 2014-05-30 10:41:07 · 1287 阅读 · 0 评论 -
Hive修改表语句
0x01:重命名表1ALTER TABLE table_name RENAME TO new_table_name;上面这个命令可以重命名表,数据所在的位置和分区都没有改变。0x02:改变列名/类型/位置/注释1ALTER TABLE table_name CHANGE转载 2014-03-20 17:57:53 · 57051 阅读 · 0 评论 -
hadoop集群默认配置和常用配置
获取默认配置配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生效,上网找的配置可能因为各个hadoop版本不同,导致无法生效。浏览更多的配置,有两个方法:1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到core-default转载 2014-03-31 11:30:19 · 776 阅读 · 0 评论 -
Controlling User Logging in Hadoop
Imagine that you’re a Hadoop administrator, and to make things interesting you’re managing a multi-tenant Hadoop cluster where data scientists, developers and QA are pounding your cluster. One day you转载 2014-03-31 11:59:09 · 792 阅读 · 0 评论 -
Hadoop的TaskTracker黑名单机制
Note:这里描述的黑名单是指jobtracker网页summary表格中显示的”Blacklisted Nodes",称之为集群黑名单. 在HADOOP-4305之前,Hadoop中每个job会维护一个TaskTracker黑名单,这里称之为job黑名单。简单来讲就是当一个job中有4个task曾经在某个tasktracker上失败过,则该job就将这个tasktracker加入自转载 2014-03-31 10:30:18 · 869 阅读 · 0 评论 -
结合使用 Hadoop 和 Couchbase
Hadoop 和数据处理Hadoop 将许多重要特性结合在一起,这使 Hadoop 对于将大量数据分解为更小、实用的数据块非常有用。Hadoop 的主要组件是 HDFS 文件系统,它支持将信息分布到整个集群中。对于使用这种分布格式存储的信息,可以通过一个名为 MapReduce 的系统在每个集群节点上进行单独处理。MapReduce 进程将存储在 HDFS 文件系统中的信息转换为更转载 2014-03-18 11:39:21 · 1323 阅读 · 1 评论 -
HBase优化案例分析:Facebook Messages系统问题与解决方案
HDFS设计的初衷是为了存储大文件(例如日志文件),面向批处理、顺序I/O的。然而架设在HDFS之上的HBase设计的初衷却是为了解决海量数据的随机读写的请求。把这两种设计初衷截然相反的组件怎么揉在一起的呢?这种分层的结构设计主要是为了使架构更清晰,HBase层和HDFS层各司其职;但是却带来了潜在的性能下降。在很多业务场景中大家使用HBase抱怨最多的两个问题就是:Java GC相关的问题和随机转载 2014-03-11 21:13:37 · 1819 阅读 · 0 评论 -
配置hadoop 使用fair scheduler调度器
hadoop版本为cloudera hadoop cdh3u3配置步骤为1. 将$HADOOP_HOME/contrib/fairscheduler/hadoop-fairscheduler-0.20.2-cdh3u3.jar拷贝到$HADOOP_HOME/lib文件夹中2. 修改$HADOOP_HOME/conf/mapred-site.xml配置文件转载 2014-03-03 21:53:40 · 3336 阅读 · 0 评论 -
快速理解Kafka分布式消息队列框架
作者:刘旭晖 Raymond 转载请注明出处Email:colorant at 163.comBLOG:http://blog.csdn.net/colorant/==是什么 == 简单的说,Kafka是由Linkedin开发的一个分布式的消息队列系统(Message Queue) 目标Scope(解决什么问题)转载 2014-01-09 19:41:59 · 8190 阅读 · 1 评论 -
消息系统Kafka介绍
1、 概述Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。 这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。传统的日志分析系统提供了一种离线处理日志信息的可扩展方案,但若要进行实时处理,通常会有较大延迟。转载 2014-01-06 11:09:05 · 1097 阅读 · 0 评论 -
HDFS-HA的配置-----自动Failover
1、概述在手动FailOver的基础上,自动Failover增加了两个东西:一个是ZooKeeper集群,一个是ZKFailoverController(简称:ZKFC)ZK集群:作为一个高可靠系统,能够为一小部分协同数据提供监控,将数据的更改随时反应给客户端。HDFS的HA依赖zk提供的两个特性:一个是错误监测,一个是活动节点选举 Failure detection转载 2014-01-03 15:02:00 · 802 阅读 · 0 评论 -
hadoop中map/reduce编程中关于mapper和reducer的Format问题
hadoop中的map/reduce编程中有几个非常关键的组件,其中包括 Mapper,Reducer,InputFormat,OutputFormat,OutputKeyClass,OutputValueClass 等,在刚接触map/reduce编程的时候很容易由于 InputFormat,OutputFormat,OutputKeyClass,OutputValueClass在程序中的设置转载 2013-02-27 19:00:38 · 996 阅读 · 0 评论 -
hadoop如何分发本地的jar文件
看了半天的hadoop源码,终于明白了hadoop是如何把本地的jar文件分发到每个TaskTracker上面了。 一般情况下,我们会使用下面的命令来运行一个hadoop任务:hadoop jar abc.jar arg0 arg1 ...这个命令实际上是转化成下面的命令来运行的java org.apache.hadoop.util.RunJar abc.jar arg转载 2013-02-27 17:43:08 · 4747 阅读 · 0 评论 -
Hadoop Streaming 实战: 输出文件分割
我们知道,Hadoop streaming框架默认情况下会以'/t’作为分隔符,将每行第一个'/t’之前的部分作为key,其余内容作为value,如果没有'/t’分隔符,则整行作为key;这个key/tvalue对又作为reduce的输入。hadoop 提供配置供用户自主设置分隔符。 -D stream.map.output.field.separator :设置map输出中key和转载 2013-01-19 18:41:51 · 593 阅读 · 0 评论 -
Hadoop Streaming 实战: 实用Partitioner类KeyFieldBasedPartitioner
我们知道,一个典型的Map-Reduce过程包括:Input->Map->Patition->Reduce->Output。Pation负责把Map任务输出的中间结果按key分发给不同的Reduce任务进行处理。Hadoop 提供了一个非常实用的partitioner类KeyFieldBasedPartitioner,通过配置相应的参数就可以使用。通过KeyFieldBasedPartitione转载 2013-01-19 18:38:46 · 1244 阅读 · 0 评论 -
Hadoop NameNode结点不能启动
2009-11-11 10:59:59,407 ERRORorg.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesysteminitialization failed.2009-11-11 10:59:59,449 ERRORorg.apache.hadoop.hdfs.server.namenode.NameNode转载 2013-01-18 14:49:13 · 2687 阅读 · 0 评论 -
Hadoop Counters
Hadoop Counters是用于计数的,我们可以定义一些计数器,用于执行过程的计数,在执行完任务,会将计数器的值打印在控制台,也可以通过WEB查看,方便调试,因为在执行MapReduce的过程中,不能打印信息:定义格式如下:[cpp] view plaincopyHadoopPipes::TaskContext::Counter*mapCounter;转载 2013-01-25 14:02:57 · 843 阅读 · 0 评论 -
Hadoop学习笔记
应用开发主要知识点如下:Configuration类(支持overwrite,variable $)测试(mock单元测试,本地测试,集群测试) Tool, ToolRunner 集群测试(package, 启动job, Job web UI for namenode and jobtracker) 运程调试器(keep.fai转载 2013-01-25 16:17:53 · 876 阅读 · 0 评论 -
Hadoop学习笔记之在Eclipse中远程调试Hadoop
插件话说Hadoop 1.0.2/src/contrib/eclipse-plugin只有插件的源代码,这里给出一个我打包好的对应的Eclipse插件:下载地址下载后扔到eclipse/dropins目录下即可,当然eclipse/plugins也是可以的,前者更为轻便,推荐;重启Eclipse,即可在透视图(Perspective)中看到Map/Reduce。配置点击蓝色的小转载 2013-01-25 16:10:22 · 3548 阅读 · 0 评论 -
Hadoop FS Shell命令
FS Shell调用文件系统(FS)Shell命令应使用bin/hadoop fs 的形式。 所有的的FSshell命令使用URI路径作为参数。URI格式是scheme://authority/path 。对HDFS文件系统,scheme是hdfs ,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。转载 2013-01-24 16:03:54 · 685 阅读 · 0 评论