
- hadoop fs +参数(本地和分布式)或hdfs dfs+参数(页面)
- hadoop fs -ls hdfs://node1(namenode):8020/dir
- 常用:-ls,-lsr (递归显示目录),-mkdir /目录名( -mkdir -p/目录)递归创建目录,-put上传(复制),-moveFromLocal(剪切上传),-get /原路径 /目标路径(下载),-getmerge (合并下载),-mv(不能跨文件系统),-rm删除(Erro错误),-cp 复制,-cat查看内容,-du -h 查看文件大小,-chmod -R 777修改权限,-chown修改用户用户组,-appendToFile本地文件合并上传,-setrep (-w等待 -R向后兼容) 修改副本因子;
- HDFS的安全模式:hadoop的一种保护机制,数据块完整性的校验99.9%,不可以执行修改。hdfs dfsadmin -safemode get(查看安全模式状态)hdfs dfsadmin -safemode enter(进入安全),leave(离开)
- 集群的基准测试
5.1 测试写入速度:hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -write -nrFiles 10 -fileSize 10MB
5.2读测试:hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -read -nrFiles 10 -fileSize 10MB5.3清除测试数据:hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar TestDFSIO -clean - HDFS写文件:HDFS上传文件的过程:hadoop fs -put a.txt /
6.1客户端client向HDFS发起上传请求,(RPC协议);
6.2namenode进行权限检查,(查看是否有 *** 作权限,父目录是否存在);
6.3namenode给客户端反馈是否可以上传标记;
6.4客户端将上传文件按照block大小切片;
6.5向namenode发起上传第一个block;
6.6namenode收到上传请求,会根据副本放置策略,和主机的优秀程度,选出最优主机,返回主机列表
6.7namenode返回最优主机列表
6.8客户端和最优主机建立管道(pipeline主机和另一台主机建立管道)
6.9客户端开始传输第一个block数据,传输数据的单位是package(64k)
6.10收到一个package就会缓存
6.11HDFS产生应答队列,从最后一个开始,收到package就会将一个ack应答放入应答队列,返回给客户端
6.12客户端判断应答队列中的ack是否完整,如果完整则判断发送成功,继续发送package
6.13当最后一个package发送完成后,每个datanode将缓存package数据存储到硬盘上
6.14,客户端重新执行第五步,请求namenode上传第二个block
6.15客户端向namenode汇报文件上传完毕
6.16namenode更新自己内存中的元数据
- 读文件流程:hadoop fs -get /dir/a.txt
7.1客户端向服务器发请求;
7.2服务器做权限检查,判断文件是否存在,权限是否满足
7.3namenode获取该文件的block信息列表,并且对每一个block的主机进行排序(策略)
7.4将文件的block列表发送给客户端
7.5选择第一个主机建立联系
7.6客户端从三台主机读取数据,读取时的单位是package
7.7客户端将block进行合并
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)