Hadoop小知识点

来源:互联网 发布:光明数据 陈建栋 编辑:程序博客网 时间:2024/06/01 20:36


hdfs命令行

上传  hadoop fs -put 文件名 hdfs://主机名:9000/...

下载  hadoop fs -get hdfs://主机名:9000/... 文件名


/hadoop/share/hadoop/mapreduce 文件夹下有测试程序

提交MapReduce任务命令

#hadoop jar hadoop-mapreduce-examples-2.4.1.jar pi 5 5


hadoop fs -mkdir /wordcount

hadoop fs -mkdir /wordcount/imput

hadoop fs -put test.txt /wordcount/input

hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /wordcount/input /wordcount/output


hadoop fs -ls /wordcount/output

hadoop fs -cat /wordcount/output/part-r-00000


hadoop fs -appendToFile 源 目的    HDFS支持追加,不支持修改



元数据:

/test/a.log, 3, {blk_1, blk_2}, [{blk_1:[h0, h1, h2]},{blk_2:[h1, h2, h3]}]

文件名  副本数  分块  块的副本所在的结点


(1)客户端上传文件时,NN首先往edits log文件中记录元数据操作日志;

(2)上传完成后,NN在内存中写入这次上传操作的元数据信息;

(3)edits满或时间到,将edits刷入fsimage中,此步操作由secondnamenode来完成(checkpoint操作)。



checkpoint配置

hdfs-site.xml

fs.checkpoint.period    default=3600s

fs.checkpoint.size    default=64M



datanode配置

dfs.block.size    default=128M

dfs.replication    default=3


Linux  du -sh *    查看目录中文件大小

hadoop spark 等基于大数据的产品,在Linux下开发更方便



Eclipse导包

1、新建project;

2、Project-->Properties-->Java Build Path-->Libraries-->AddLibrary-->User Library-->User Libraries-->New-->Add External JARs


hadoop/share/hadoop/...

hdfs hadoop-hdfs-2.4.1.jar,依赖于

hdfs/lib/*

common hadoop-common-2.4.1.jar,依赖于

common/lib/*



RUN-->Run Configuration-->Arguments-->VM arguments

设置 -DHADOOP_USER_NAME=...


Ctrl+T查看继承结构



MapReduce中自定义排序的实现:

依据key类中的compareTo方法排序map task产生的中间输出结果。


自定义Partitioner:

自定义的Partitioner类将所需的key值放入同一个reduce进程中处理,每个reduce进程将产生一个输出文件。

Reduce进程的个数可通过job.setNumReduceTasks(int i)设置,默认reduce进程为1个。


ruduce number >= partitioner    OK  多余将产生空文件结果

reduce number < partitioner    ERROR

reduce number = 1    OK



block  文件块

split  切片

map task的数量由切片的数量决定

io.sort.mb  缓冲大小,默认100M

io.sort.spill.percent  阈值,默认0.8

mapred.local.dir  写入磁盘位置

0 0
原创粉丝点击