摘要:环境: 操作系统:ubuntu 12.10 64bit jdk:sun jdk 1.6 64bit hadoop:apache hadoop 1.02 hbase:apache hbase 0.92 先决条件:配置apache hadoop append,默认这个属性是false,需要设置为true1)下载hbase 解压到每台服务器的/data/soft 解压root@master:/data/soft# tar zxvf hbase-0.92.0.tar.gz建立软连root@master:/data/soft# ln -s hbase-0.92.0 hbase2)配置...
阅读全文
随笔分类 - hadoop
记一下hadoop那点事儿
摘要:failed task可理解为自杀,也就是task本身出了问题而自杀;killed task可理解为是他杀,也就是jobtracker认为这个任务的执行是多余的,所以把任务直接杀掉。起初用hadoop的时候经常在一个complete的job中看到几个failed 或者是 killed task,还经常好奇为什么有的时候task的失败不会影响到整个job的失败,而有的时候就会使整个job的失败,到底failed和killed task对整个job的影响是什么?failed task failed task出现的原因可分为以下几种情况: 1 child task失败,比如map/reduce任务中
阅读全文
摘要:安装环境: 机器 只有一台机器 操作系统:Ubuntu 11.04 64操作系统 hadoop:版本是1.0.2,安装在/usr/local/hadoop sun jdk:版本是1.6.0_31 64bit,安装在/usr/local/jdk pig:版本是0.9.2,安装在/usr/local/pig安装步骤:1.下载(1)下载pig:http://www.fightrice.com/mirrors/apache/pig/stable/pig-0.9.2.tar.gz2.安装(1)上传pig安装包到机器上,使用root用户登陆: tar -xvf pig-0.9.2.tar...
阅读全文
摘要:安装环境: 机器 只需要安装一台机器 操作系统:Ubuntu 11.04 64操作系统 hadoop:版本是1.0.2,安装在/usr/local/hadoop sun jdk:版本是1.6.0_31 64bit,安装在/usr/local/jdk hive:版本是0.8.1,安装在/usr/local/hive安装步骤:1.下载 下载hive:http://labs.mop.com/apache-mirror/hive/hive-0.8.1/hive-0.8.1.tar.gz2.安装(1)上传hive安装包到机器上,使用root用户登陆: tar -xvf hive-0.8...
阅读全文
摘要:在用hadoop的streaming读数据时,如果输入是sequence file,如果用“-inputformatorg.apache.hadoop.mapred.SequenceFileInputFormat”配置读的话,读入的数据显示的话为乱码,其实是因为读入的还是sequence file格式的,包括sequencefile的头信息在内.改为“inputformatorg.apache.hadoop.mapred.SequenceFileAsTextInputFormat”即可正常读取。以下内容摘自其他地方,对inputformat和outputformat的一个粗略的介绍:Hadoo
阅读全文
摘要:一、从Map到ReduceMapReduce其实是分治算法的一种实现,其处理过程亦和用管道命令来处理十分相似,一些简单的文本字符的处理甚至也可以使用Unix的管道命令来替代,从处理流程的角度来看大概如下:cat input | grep | sort | uniq -c | cat > output# Input -> Map -> Shuffle & Sort -> Reduce -> Output简单的流程图如下:对于Shuffle,简单地说就是将Map的输出通过一定的算法划分到合适的Reducer中进行处理。Sort当然就是对中间的结果进行按key排
阅读全文
摘要:Datanode在把数据实际存储之前会验证数据的校验和.client通过pipeline把数据写入datanode. 最后一个datanode会负责检查校验和.当client从datanode读取数据时,也会检查校验和: 把真实数据的校和合同datanode上的校验和进行比较.每个datanode都保存有一个checksum验证的持久化日志,日志中有当前datanode每个block最后的更新时间.当client成功验证了一个block, 它会告诉datanode, 之后datanode会更新它的日志.保存这些信息有助于检测坏磁盘.除了会在client读取数据时验证block, 每个datan
阅读全文
摘要:读文件的过程客户端(client)用FileSystem的open()函数打开文件DistributedFileSystem用RPC调用元数据节点,得到文件的数据块信息。对于每一个数据块,元数据节点返回保存数据块的数据节点的地址。DistributedFileSystem返回FSDataInputStream给客户端,用来读取数据。客户端调用stream的read()函数开始读取数据。DFSInputStream连接保存此文件第一个数据块的最近的数据节点。Data从数据节点读到客户端(client)当此数据块读取完毕时,DFSInputStream关闭和此数据节点的连接,然后连接此文件下一个数
阅读全文
摘要:mapreduce的一个完整作业流程是怎么样的呢,相信刚接触hadoop,刚写mapreduce的初学者都有很大的困扰,下面的图来自http://horicky.blogspot.com/2008/11/hadoop-mapreduce-implementation.html,是我看到的讲MapReduce最好的图。以Hadoop带的wordcount为例子(下面是启动行):hadoop jar hadoop-0.19.0-examples.jar wordcount /usr/input /usr/output用户提交一个任务以后,该任务由JobTracker协调,先执行Map阶段(图中M1
阅读全文
摘要:1.运行dfsadmin -upgradeProgress status 检查是否存在备份 如果是第一次升级 就不存在备份(在升级Hadoop前,如果已经存在备份,需要先结束 finalize 它。)2.备份dfs.namenode.dir下文件,同时要备份下hdfs的文件目录的元数据信息:bin/hadoop fsck / -files -blocks -locations > dfs-v-old-fsck-1.log bin/hadoop dfs -lsr / > dfs-v-old-lsr-1.log bin/hadoop dfsadmin -report > dfs-
阅读全文
摘要:hadoop对于压缩文件的支持hadoop对于压缩格式的是透明识别,我们的MapReduce任务的执行是透明的,hadoop能够自动为我们 将压缩的文件解压,而不用我们去关心。如果我们压缩的文件有相应压缩格式的扩展名(比如lzo,gz,bzip2等),hadoop就会根据扩展名去选择解码器解压。hadoop对每个压缩格式的支持,详细见下表:压缩格式工具算法文件扩展名多文件可分割性DEFLATE无DEFLATE.deflate不不gzipgzipDEFLATE.gz不不ZIPzipDEFLATE.zip是是,在文件范围内bzip2bzip2bzip2.bz2不是LZOlzopLZO.lzo不是如
阅读全文
摘要:首先 dfs.replication这个参数是个client参数,即node level参数。需要在每台datanode上设置。其实默认为3个副本已经够用了,设置太多也没什么用。一个文件,上传到hdfs上时指定的是几个副本就是几个。以后你修改了副本数,对已经上传了的文件也不会起作用。可以再上传文件的同时指定创建的副本数hadoop dfs -D dfs.replication=1 -put 70M logs/2可以通过命令来更改已经上传的文件的副本数:hadoop fs -setrep -R 3 /查看当前hdfs的副本数hadoop fsck -locationsFSCK started b
阅读全文
摘要:1.修改conf/core-site.xml增加<property> <name>fs.checkpoint.period</name> <value>3600</value> <description>The number of seconds between two periodic checkpoints. </description> </property> <property> <name>fs.checkpoint.size</name> <va
阅读全文
摘要:1.概述光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode(snn)就是NameNode(nn)的热备进程。其实不是。snn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间。对于hadoop进程中 ,要配置好并正确的使用 snn,还是需要做一些工作的。hadoop的默认配置中让snn进程默认运行在了namenode的那台机器上,但是这样的话,如果这台机器出错,宕机,对恢复HDFS文件系统是很大的灾难,更好的方式是:将
阅读全文
摘要:NameNode在启动的时候首先进入安全模式,如果 datanode 丢失的block达到一定的比例(1-dfs.safemode.threshold.pct),则系统会一直处于安全模式状态即只读状态。dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS启动的时候,如果DataNode上报的block个数达到了元 数据 记录的block个数的0.999倍才可以离开安全模式,否则一直是这种只读模式。如果设为1则HDFS永远是处于SafeMode。下面这行摘录自NameNode启动时的日志(block上报比例1达到了阀值0.9990)The ratio of re
阅读全文
摘要:1.集群配置 修改conf/hdfs-site.xml文件 <property> <name>dfs.hosts.exclude</name> <value>/data/soft/hadoop/conf/excludes</value> <description>Names a file that contains a list of hosts that are not permitted to connect to the namenode. The full pathname of the file must be
阅读全文
摘要:1.部署hadoop和普通的datanode一样。安装jdk,ssh2.修改host和普通的datanode一样。添加namenode的ip3.修改namenode的配置文件conf/slaves添加新增节点的ip或host4.在新节点的机器上,启动服务[root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start datanode [root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start tasktracker5.均衡block[root@slave-004 hadoop]# ./bin/start
阅读全文
摘要:Hadoop回收站trash,默认是关闭的。 习惯了window的同学,建议最好还是把它提前开开,否则误操作的时候,就欲哭无泪了1.修改conf/core-site.xml,增加<property> <name>fs.trash.interval</name> <value>1440</value> <description>Number of minutes between trash checkpoints. If zero, the trash feature is disabled. </descriptio
阅读全文
摘要:概述所有的hadoop命令均由bin/hadoop脚本引发。不指定参数运行hadoop脚本会打印所有命令的描述。用法:hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS] Hadoop有一个选项解析框架用于解析一般的选项和运行类。命令选项--config confdir 覆盖缺省配置目录。缺省是${HADOOP_HOME}/conf。GENERIC_OPTIONS 多个命令都支持的通用选项。COMMAND命令选项 各种各样的命令和它们的选项会在下面提到。这些命令被分为 用户命令 管理命令两组。常规选项下面
阅读全文
摘要:FS Shell调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/chi
阅读全文