HDFS详解-02

HDFS详解-02

1.机架 rack
机柜,每个机柜分别有各自的IP段
问题:
1.企业里为什么要机架?
    1.rack1挂了 rack2还能提供服务

2.管理的机器有机架我没有,当成一个笼统的虚拟的机架
    刀片服务器:192.169.138.xxx
    五台刀片服务器

130M文件 实际存储 130M * 3  block:6个
2.副本放置策略
    开发为主 + 大数据运营 ---> 架构
3.文件读流程 --> FSDataInputStream (面试题)
hadoop]$ bin/hdfs/dfs -cat /test.log

3.1 client通过FileSystem.open(filePath)方法,去与NN进行RPC通信,返回该文件的部分或者全部的block块(也包含该列表各block的分布在DataNode地址的列表),也就是返回FSDataInputStream对象

3.2 Client调用FSDataInputStream对象的read()方法。
    a.去与第一个块的最近的datanode进行read,读取完后会check,假如successful会关闭与当前DataNode通信;(假如check fail会记录失败的块+DataNode信息,下次就不会读取,那么会去该块的第二个DataNode地址读取)
    b.然后第二个块的遜的DataNode上的进行读取,check后会关闭与DataNode的通信。
    c.假如block列表读取完了,文件还未结束,那么FileSystem会从NameNode获取下一批的block的列表。(当然读操作对于client端是透明的,感觉就是连续的数据流)

3.3 Client调用FSDataInputStream.close()方法,关闭输入流。

要求:
      1.流程要清楚
      2.文件读流程 --> FSDataInputStream
4.文件写流程 --> FSDataOutputStream (面试题)
4.1 Client调用FileSystem.create(filePath)方法,去NameNode进行rpc通信,check该路径的文件是否存在以及有没有权限创建该文件。假如ok,就创建一个新文件,但是并不关联任何block,返回一个FSDataOutputStream对象;(假如not ok,就返回错误信息,所以写代码要try-catch)

4.2 Client调用FSDataOutputStream对象的write()方法,会将第一个块写入第一个DataNode,第一个DataNode写完传给第二个节点,第二个写完传给第三节点,当第三个节点写完返回一个ack packet给第二个节点,第二个返回一个ack packet给第一个节点,第一个节点返回ack packet给FSDataOutputStream对象,意思标识第一个块写完,副本数为3;然后剩余的块依次这样写。(当然写操作对于Client端也是透明的)

4.3 当向文件写入数据完成后,Client调用FSDataOutputStream.close()方法,关闭输出流,flush缓存区的数据包;

4.4 再调用FileSystem.complete()方法,告诉NameNode节点写入成功。

hadoop]$ bin/hdfs -dfs -put rzdata.log /xxx001/
put: `/xxx01/': No such file or directory: `hdfs://192.168.137.201:9000/xxx01'
找不到此文件

要求:
    1、流程要清楚
    2、文件写流程 --> FSDataOutputStream
    3、校验文件是否存在和权限问题
    4、最后一步DFS.complete()方法,告诉NN节点写入成功
https://wenku.baidu.com/view/fabe57b004a1b0717fd5dda5.html
5.命令
查看进程:
    ]$ jps 
查看全部信息:
    ]$ jps -l
查看jps是哪个软件里面的:
    ]$ which jps
    /usr/java/jdk1.8.0_45/bin/jps
查看:
    ]# cd /tmp/hsperfdata_hadoop/
    hsperfdata_hadoop]# ll
5.1正常流程:
]# jps
找到该进程的使用用户名称:
    ]# ps -ef | greo pid
    ]# su - 用户
    ]$ jps
5.2异常流程
假如进程被停止:
    rundeck]# jps
    rundeck]# kill  -9 pid
发现进程还有残留:
     rundeck]# ps -ef|grep pid
     pid信息残留,去/tmp/hsperfdata_hadoop文件夹删除该pid文件
    hsperfdata_hadoop]# rm -rf pid文件
切到hadoop用户,查看进程是否存在:
    ]# su - root
    ]$ jps
登录一台机器,jps命令+ps命令,残留信息删除
参考: http://blog.itpub.net/30089851/viewspace-1994344/
6.hadoop和hdfs 文件系统命令
hadoop]bin/hadoop fs 等价于 hdfs dfs
对文件的操作命令:
查看文件夹:
    hadoop]$ bin/hdfs dfs -ls /
创建文件夹:
    hadoop]$ bin/hdfs dfs -mkdir -p /rzdatadir001/001
查看文件内容:
    hadoop]$ bin/hdfs dfs -cat /test.log

上传和下载:
    上传本地文件到HDFS:
        hadoop]$ bin/hdfs dfs -put rzdata.log1 /rzdatadir001/001
    下载HDFS文件到本地:
        hadoop]$ bin/hdfs dfs -get /rzdatadir001/001/rzdata.log1 /tmp/  
    下载并重命名:
        hadoop]$ bin/hdfs dfs -get /rzdatadir001/001/rzdata.log1 /tmp/rzdata.log123   重命名
移动:
    从本地移动到HDFS:
        [-moveFromLocal <localsrc> ... <dst>]
    从HDFS移动到本地:
        [-moveToLocal <src> <localdst>]
删除:
    1.配置回收站
        core-site.xml
            fs.trash.interval : 10080

    2.命令:
        [-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...]
            skipTrash:回收站
        
    hadoop]$ bin/hdfs dfs -rm -r -f /xxx --> 进入回收站,是可以恢复的
    hadoop]$ bin/hdfs dfs -rm -r -f -skipTrash /xxx --> 进入回收站,是不可以恢复的
    
修改权限:
    [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
    [-chown [-R] [OWNER][:[GROUP]] PATH...]
问题点:
hadoop]$ bin/hdfs -dfs -put rzdata.log /xxx
将rzdata.log重命名
作业:
1.副本放置策略、文件读写流程整理
2.文件系统命令测试
3.配置QQ邮件,rundeck能够调度发送邮件
4.jps命令测试

【来自@若泽大数据】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335