1、Hadoop常用命令
hadoop verion //版本
hadoop fs //文件系统客户端.
hadoop jar
hadoop classpath //查看hadoop类路径
hadoop checknative //检查压缩库本地安装情况
hadoop启动命令
$>start-all.sh //start-dfs.sh + start-yarn.sh
$>start-dfs.sh 相当于后面两个 //hadoop-daemon.sh start namenode
//hadoop-daemons.sh start datanode
$>start-yarn.sh //yarn-daemon.sh start resourcemanager
//yarn-daemons.sh start nodemanager
2、HDFS常用命令
hdfs常用命令
--------------------
hdfs dfs -mkdir /user/centos/hadoop //创建目录
hdfs dfs -ls -R /user/centos/hadoop //递归查看目录中的文件
hdfs dfs -lsr /user/centos/hadoop //递归查看目录中的文件
hdfs dfs -put index.html /user/centos/hadoop //上传文件到HDFS中
hdfs dfs -get /user/centos/hadoop/index.html a.html //下载文件到本地
hdfs dfs -rm -r -f /user/centos/hadoop //递归删除目录
注意:hdfs dfs 相当于 Hadoop dfs即操作文件系统
——————————————————————————————————————————————————
对hadoop中name中的镜像文件、编辑日志文件的相关操作
使用oiv命令查询hadoop中name中的镜像文件
hdfs oiv -i fsimage -o a.xml -p XML //查看镜像文件,将其转化为xml格式查看
hdfs dfsadmin管理命令
hdfs dfsadmin //查看帮助
hdfs dfsadmin -help rollEdits //查看指定命令的帮助
hdfs dfsadmin -rollEdits //滚动编辑日志
启动hdfs时,镜像文件编辑日志会进行融合,编辑日志滚动
查看hdfs是否在安全模式,安全模式不能对日志文件等进行删除和修改
hdfs dfsadmin -safemode enter //进入
hdfs dfsadmin -safemode get //查看
hdfs dfsadmin -safemode leave //退出
hdfs dfsadmin -safemode wait //等待
保存名字空间(一般用来创建检查点),需要进入安全模式,启动完成自动进入安全模式
hdfs dfsamdin -saveNamespace
——————————————————————————————————————
配额管理(quota)
[目录配额]使得目录下的存储文件总数得到一定的控制
计算目录下的所有文件的总个数。如果1,表示空目录。
hdfs dfsadmin -setQuota 1 dir1 dir2 //设置目录配额
hdfs dfsadmin -clrQuota 1 dir1 dir2 //清除配额管理
[空间配额]
计算目录下的所有文件的总大小.包括副本数.
空间配置至少消耗3倍的空间大小(目录本身会占用3倍的空间)。
hdfs dfsadmin -setSpaceQuota 3 data
hdfs dfsadmin -clrSpaceQuota dir1 //清除配额管理
————————————————————————————————————————
快照管理
1.描述
迅速对文件(夹)进行备份。不产生新文件,使用差值存储。
默认是禁用快照,先启用。
2.命令
hdfs dfsadmin -allowSnapShot dir1 //在dir1启用快照
hdfs dfsadmin -disallowSnapShot dir1 //在dir1禁用快照
hdfs dfs -createSnapshot dir ss1 //为目录dir创建快照快照名称为ss1
hdfs dfs -renameSnapshot dir ss1 ss2 //重命名ss1快照名称为ss2
hdfs dfs -deleteSnapshot dir ss1 //删除快照
hdfs lsSnapshottableDir //列出当前用户所有可快照目录
hdfs snapshotDiff 路径1 快照名称1 快照名称2 //比较两个快照的目录不同之处
hdfs dfs -deleteSnapshot 路径1 快照名称 //删除快照snapshot
3、HDFS默认为64M,一般设置为128M
之所以设置为128M是为了提高效率,让寻址时间占用读取时间的1%,寻址时间大概为10ms左右,而磁盘的读取时间一般为100M/s,所以为了满足寻址时间占用读取时间的1%,一般设置为128M。当文件切割得太小会使得寻址大于读取时间的1%,不利于效率的提升。
HDFS不适合存储大量的小文件,因为小文件会使得namenode增大,namenode只负责datanode的归档管理,存储的是datanode块中文件的索引,每个文件大概索引字节为152个,不管大小,都一样,所以当文件过小,存储的数据少但是耗费的资源却一样,存储的性价比高。并且namenode是运行在内存中的,内存资源相对宝贵,理应让它发挥最大的效益。
配置hadoop的最小blocksize,必须是512的倍数。
[hdfs-site.xml]
dfs.namenode.fs-limits.min-block-size=1024
write,进行校验,512进行一次校验。
默认最小块是1M,当我们通过API进行设置时也要大于1M,除非手动修改hadoop的默认配置文件,即hdfs-default.xml,一般不建议这么做。
单独配置辅助名称节点
[hdfs-site.xml]
dfs.namenode.secondary.http-address=s206:50090
4、DataNode、Yarn节点服役、退役
DataNode的服役:当某个DataNode节点挂掉之后,需要有个新节点自动补上,以达到设置的节点副本数(一般设置为3个副本)。通过黑白名单以及Slaves文件来对它进行控制,Slaves文件只是在集群启动的时候,集群会通过读取Slaves文件来启动相应的DataNode,而并非直接由Slaves控制。
黑白名单的组合情况,不需要分发到其他节点上,只要存储在namenode节点上即可。
include //dfs.hosts 白名单
exclude //dfs.hosts.exclude 黑名单
include exclude Interpretation
No No 不能连接
No Yes 不能连接
Yes No 可以连接
Yes Yes 可以连接,将会退役状态。