hdfs命令
hdfs创建目录
hadoop fs -mkdir /input/
hadoop fs -mkdir -p /input/
展示命令
#展示命令
hadoop fs -ls /
#递归展示
[hadoop@nn1 ~]$ hadoop fs -ls -R /
#文件大小显示为最大单位
hadoop fs -ls -h /
#递归打印并且最大单位打印文件
hadoop fs -ls -h -R /
上传
put文件上传
#put 左面:是本地, 右面是hdfs集群
hadoop fs -put /home/hadoop/test.txt /
#-f 如果同名文件已存在,则替换hdfs里面的文件
hadoop fs -put -f /home/hadoop/test.txt /
#一次上传多个文件到HDFS路径
hadoop fs -put f1 f2 /data
#上传并重命名目录
hadoop fs -put mypkg /newpkg
#注意
hadoop fs -put ./f* /usr/mmm/testfile #不加/穿的是testfile文件
hadoop fs -put ./f* /usr/mmm/testfile/#加/代表传到testile目录下
copyFromLocal文件上传
#上传文件并重命名
hadoop fs -copyFromLocal file:/test.txt hdfs:/test2.txt
#覆盖上传
hadoop fs -copyFromLocal -f test.txt /test.txt
下载
文件下载get
#拷贝文件到本地目录
hadoop fs -get /usr/mmm/testfile/f* ./ #usr前面没有指定,默认为hdfs下
文件下载copyToLocal
hadoop fs -copyToLocal hdfs:/test.txt file:/home/hadoop/
拷贝文件/目录 cp
#从本地拷贝文件(和上传一样)
hadoop fs -cp file:/home/hadoop/test/f2 /test_f2
#从hdfs拷贝
hadoop fs -cp hdfs:/usr/mmm hdfs:/test
移动文件 mv
# 标准写法
hadoop fs -mv hdfs:/test.txt hdfs:/dir/test.txt
# 简写方案
hadoop fs -mv /test_f2 /test
删除文件/目录 rm
#执行-rm 命令后,默认是把文件移动到 /user/hadoop/.Trash/Current 下
#删除文件
hadoop fs -rm /a.txt
#删除全部txt文件
hadoop fs -rm /*.txt
#跳过回收站永久删除
hadoop fs -rm -r -skipTrash /dir
# hdfs的递归删除文件和目录
hadoop fs -rm -r /dir/
文件读取
读取文件 cat
#在线看文件 不下载
hadoop fs -cat /test.txt
读取文件尾部 tail
hadoop fs -tail /test.txt
创建空文件 touchz
hadoop fs - touchz /newfile.txt
写入文件 appendToFile
#读取本地文件内容追加到HDFS文件
hadoop fs -appendToFile file:/test.txt hdfs:/newfile.txt
#注意只能读取本地的内容追加到hdfs
创建目录 mkdir
#可以同时创建多个目录
hadoop fs -mkdir /newdir /newdir2 #创建两个平级文件夹
#同时创建父级目录
hadoop fs -mkdir -p /newpkg/newpkg2/newpkg3 #递归创建文件夹
改变文件副本数 setrep
hadoop fs -setrep -R -w 2 /test.txt
-R 递归改变目录下所有文件的副本数。
-w 等待副本数调整完毕后返回。可理解为加了这个参数就是阻塞式的了
#如果想修改块大小,修改配置hdfs-site.xml dfs.blocksize 属性
获取逻辑空间文件/目录大小 du
#显示HDFS根目录中各文件和文件夹大小
hadoop fs -du /
#以最大单位显示HDFS根目录中各文件和文件夹大小
hadoop fs -du -h /
#仅显示HDFS根目录大小。即各文件和文件夹大小之和
hadoop fs -du -s /
获取HDFS目录的物理空间信息 count
hadoop fs -count / #显示HDFS根目录在物理空间的信息
查询结果:
第一个数值表示/下的目录的个数(包括其本身);
第二个数值表是当前目录下文件的个数;
第三个数值表示该目录下文件所占的空间大小,这个大小是不计算副本的个数的。
管理工具 hdfs dfsadmin
#查看文件系统的基本信息和统计信息。
hdfs dfsadmin -report
#打开安全模式 外部不能读写,集群默认safemode是关闭状态 enter是进入,leave是离开。
hdfs dfsadmin -safemode enter
#关闭安全模式
hdfs dfsadmin -safemode leave
#获取安全模式信息
hdfs dfsadmin -safemode get
集群开启步骤
启动一个完整的集群
#启动完整集群的步骤
#第一步:启动zookeeper
./ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh start
#第二步:在nn1上启动所有
start-all.sh
#第三步:在nn1上启动yarn日志代理服务
yarn-daemon.sh start proxyserver
#第四步:在nn1上启动MR的jobhistory服务
mr-jobhistory-daemon.sh start historyserver
#第五步:在nn2上启动resourcemanager,用于启动yarn的HA
yarn-daemon.sh start resourcemanager