Hadoop 学习笔记
来源:互联网 发布:查找重复删除知乎 编辑:程序博客网 时间:2024/06/03 17:10
本文参考 http://blog.csdn.net/blacklaw0/article/details/9884481
研究hadoop的文章有很多,我想自己写一下,主要是理解学习hadoop,方便自己进行优化管理
主要参考是hadoop官方:http://hadoop.apache.org/docs/current/
慢慢来吧,先copy一张hadoop官方的hdfs架构图
hdfs 全称 Hadoop Distributed File System
Metadata ops(Orbeon PresentationServer) 元数据描述服务
Block ops 块描述服务
Rack 机架
Replication 块复制
Namenode Datanode我就不解释了
大家学习hadoop流程应该和我差不多,先是单机伪分布,然后有条件的话,搭个多机分布,带机架的好像很少
这张图里面有两个机架左右都有7个datanode,client写的时候是对两个机架同时写,机架之间是相互备份的,可以判断机架之间就类似双机备份的那种
namenode 对datanode进行管理
看一下第二张图,画的是datanode命名规则,这个我有体会,
我有三台datanode,后来有两台不用了,直接单机伪分布,然后进入到了safe mode :((hadoop fsck / 命令看)
有currupt块,提示的就是 /user/blacklaw/input/part-0, ......
网上介绍用 hadoop fsck / -move hadoop fsck / -delete把currupt的块删掉,感觉都不好使,反正只是实验,我直接hadoop namenode -format了
现在做个小实验,帮助大家理解
echo "aaaaa" > a.txt
hadoop fs -put a.txt input
hadoop fs -ls input
ls的时候完全正常,
然后跑到你设置的dfs文件夹,把dfs/data改成 data。bak
echo "bbbb" > b.txt
hadoop fs -put b.txt input
hadoop fs -ls input 直接给你报错了,说你有个datanode挂了,
可能还不直观,你用eclipse跑一下wordcount,直接告诉你Could not obtain block blk_-6775194498480386094_1278 from any node
而这个block就在改掉的data文件夹下面,现在datanode完全挂掉了
但是我的hadoop fs其实还可以用,不信可以试一下
hadoop fs -mkdir tmpdir 建目录
hadoop fs -ls tmpdir 列举
hadoop fs -touchz tmpdir/tmpfile 新建一个文件
hadoop fs -rmr tmpdir 删除目录
都可以用,大家一定很奇怪,datanode不是挂了吗,这么还是可以用咧,这里要讲一下hadoop的优化策略,在尽可能少的情况下读写datanode
实际上这些操作通过namenode都可以完成,并没有对datanode读写,touchz其实也只是在namenode上建了一个记录,也没有对datanode读写
如果用hadoop fs -put tmpfile tmpdir ,就会报错了
再做一个实验,把dfs/name/fsimage 改成 fsimage.bak
hdoop fs -ls 一下,没有问题
stop-all 一下,
再start-all jps看一下没有了namenode这项任务
cat fsimage ,可以看到目录结构,namenode储存的目录结构就在fsimage映像文件里,一般都是在内存里操作,需要的时候才对fsimage进行交换
可见hadoop优化的还是比较多的
- Hadoop学习笔记-Hadoop初识
- hadoop学习笔记-hadoop起源
- hadoop学习笔记 Hadoop进程
- 【hadoop】hadoop学习笔记-回收站
- hadoop学习笔记hadoop学习笔记
- [转]Hadoop学习笔记
- Hadoop学习笔记
- [转]Hadoop学习笔记
- [转]Hadoop学习笔记
- [转]Hadoop学习笔记
- Hadoop学习笔记
- hadoop学习笔记
- Hadoop学习笔记汇总
- hadoop学习笔记
- hadoop学习笔记
- Hadoop 学习笔记
- Hadoop学习笔记
- Hadoop学习笔记
- 1129 -- 找用户名
- IE7/8当文本模式为杂项"Quirks" 导致JSP页面变样的问题
- js中一些自带的属性使用
- 关于ImageLoader 设置圆角参数后不显示图片的问题
- The Memory Sinkhole
- Hadoop 学习笔记
- inet_ntoa()多次调用时的问题
- 1130 -- 矩阵找值
- 数据结构与算法分析Java版练习1.15
- hadoop新增节点配置步骤
- xml之SAX解析
- x64 release模式下mysql编译连接错误解决办法
- java httpclient basic授权
- Hadoop第4周练习—HDFS读写文件操作