Hadoop常见shell命令
1、如何将Linux本地的数据上传到HDFS中?
hadoop fs -put 本地的文件 HDFS中的目录
hdfs dfs -put 本地的文件 HDFS中的目录
2、如何创建HDFS中的文件夹?
需求:想创建/shujia/bigdata17
hadoop fs -mkdir -p /shujia/bigdata17
hdfs dfs -mkdir /shujia/bigdata17
注意:不加-p只能生成单级文件夹
3、查看当前HDFS目录下的文件和文件夹?
hadoop fs -ls /shujia/bigdata17/
hdfs dfs -ls /shujia/bigdata17
4、将HDFS中的文件下载到Linux本地中
hadoop fs -get HDFS中的文件目录 本地要存放文件的目录
hdfs dfs -get HDFS中的文件目录 本地要存放文件的目录
5、删除命令(如果垃圾回收站大小小于被删除文件的大小,直接被删除,不经过回收站)
hadoop fs -rm... #仅删除文件
hadoop fs -rmr... #删除文件夹
删除后,会自动创建回收站,数据依旧保留至一天(日志保留七天)
6、移动文件
hadoop fs -mv 目标文件 目的地路径
7、HDFS内部复制文件
hadoop fs -cp [-p] ... ... #如果想复制文件夹,加上-p参数
强制格式化集群
1、停止正在运行的集群
stop-all.sh
2、删除所有节点Hadoop根目录中的tem文件夹
3、在主节点(master)中Hadoop的根目录中的bin目录下,重新格式化HDFS
./hdfs namenode -format
4、启动集群
start-all.shs
查看node1中block0的block pool id:
/usr/local/soft/hadoop-2.7.6/tmp/dfs/data/current
查看node1中block的block id:
/usr/local/soft/hadoop-2.7.6/tmp/dfs/data/current/BP-140862523-192.168.226.110-1653106365562/current/finalized/subdir0/subdir0