目录
什么是hdfs
hdfs是文件操作系统,
hdfs的优缺点
优点
分布式系统,可以分布在多个机器上
适合处理海量数据,海量文件
高容错,可靠,一分文件有多个副本,一个副本被损坏的时候自动同步
可以运行在廉价机器上
缺点
不能修改已经存储的文件内容,只能追加
不能处理低延时的要求
Namenode是什么
是hdfs文件系统中的一个软件,负责管理文件系统。相当于老板
作用:管理文件名字,寻址,与客户端交互,给datanode传达命令,征得同意后,客户端就可以与datanode联系,读入和写出数据
secondnamenode是什么
相当于秘书,辅助namenode管理,在namenode挂掉的时候无法立即替代namenode,只能协助回复namenode,秘书知道的东西不会和老板一样多,所以回复不了全部的数据。和namenode一起工作的时候负责帮忙处理
datanode是什么
相当于底层干活的员工,负责读取和写入数据。
内部有一个个文件块(block),一个hdfs系统可以有多个datanode
client是什么
客户端,hdfs看作一个公司,client是来访问客户
作用:
文件切分:文件上传HDFS的时候,client根据需求将文件切分成一个一个的小数据块(block),然后进行存储。
每个小数据块(block)在其他服务器上都有副本,client会与namenode进行通信,获取文件及其副本位置,为以后做打算。
与DataNode进行通信,读取或写入数据。
client可以管理HDFS,比如启动或关闭
hdfs的架构
HDFS主要由四个部分组成,分别为Client,nameNode、DataNode、以及Secondary NameNode组成
hdfs文件块大小设置
根据磁盘传输速率设置文件快大小
hdfs中的shell命令
语法
hadoop fs 具体命令
或
hdfs dfs 具体名令
常用命令
上传
从本地剪切到hdfs
-moveFromLocal 文件路径 目标路径
从本地复制到hdfs-copyFromLocal 文件路径 目标路径-put 文件路径 目标路径
追加文件到一个文件末尾
-appendToFile 文件路径 目标文件路径
下载
从hdfs拷贝到本地
-copyToLocal 目标文件 目标地址-get 目标文件 目标地址
hdfs直接操作
-ls 显示目录
-cat 查看文件
-chgrp 、 -chmod 、 -chown 同Linux 修改文件权限-mkdir 创建路径
-cp 从hdfs的一个路径拷贝到活动方式的另一个lujing
-mv:在hdfs目录中移动文件
-rm 删除文件或文件夹
-rm -r 递归删除目录及里面的内容
-du 统计文件夹的大小信息
-setrep 设置hdfs文件的副本数量
HDFS API 环境配置
目标是通过windows系统操作Hadoop集群
需要在windows中配置环境变量