小记---------有关hadoop的HDFS命令行操作
HDFS命令操作
首先需要在xshell启动hadoop
start-all.sh or start-hdfs.sh
-
hadoop fs -ls / (显示当前目录下所有文件)
-
hadoop fs -du /sevenclass (显示目录中所有文件的大小)
-
hadoop fs -cat /a.txt (查看当前文本信息)
-
hadoop fs -text /a.txt (查看当前文本信息)
-
hadoop fs -count /test
显示指定文件或目录的 DIR_COUNT(子目录个数) , FILE_COUNT (文件个数),CONTENT_SIZE(字节个数) ,FILE_NAME(目录名)
mkdir 创建文件
hadoop fs -mkdir /test1 /test2 (同时创建两个文件夹)
hadoop fs -mkdir /a/b (创建a文件夹并在内创建b文件夹,如果没有a文件夹,会抛错)
hadoop fs -mkdir -p /a/b (没有a文件夹创建a 然后在内创建b)
cp 复制
hadoop fs -cp /a/b /c/ (将/a/b拷贝到/c下)
copyFromLocal (从本地文件系统上传文件到HDFS)
hadoop fs -copyFromLocal /usr/a.txt /test
本地文件 HDFS路径
copyToLocal (从HDFS下载文件到本地文件系统)
hadoop fs -copyToLocal /test/a.txt /usr
HDFS文件 本地路径
moveToLocal 该命令还未实现
put (从本地文件系统上传文件到HDFS )
注意:区别于copyFromLocal: 可以同时复制多个源路径到目标文件系统,也支持从标准输入中读取输入写入目标文件系统
hadoop fs -put /usr/a.txt /test
本地文件 HDFS路径
hadoop fs -put /usr/a.txt /usr/b.txt /test
本地文件(多个文件) HDFS路径
get (复制文件到本地文件系统)
hadoop fs -get /test/a.txt /usr
mv (将文件从源路径移动到目标路径,这个命令允许有多个源路径。但目标路径必须是一个目录,不允许在不同文件系统间移动文件。)
hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2 (移动并改名称) 源文件路径file1 移动路径并改名为file2
hadoop fs -mv /test /test1 (把文件夹test移到test1下)
touchz (创建一个0字节的空文件)
hadoop fs -touchz pathname 创建名为pathname的空文件
appendToFile (向现有文件中追加内容)
hadoop fs -appendToFile /home/test.txt /1.txt
1.txt是现有文件。/home/test.txt把内容追加到1.txt
getmerge(接收一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件)
hadoop fs -getmerge /test1/test test.txt
把/test1/test所有内容 复制到test.txt
rm 删除指定的文件
hadoop fs -rm /user/a.txt
rmr 递归删除文件
hadoop fs -rmr /user/hadoop/dir
linux 常用操作
-
passwd(修改密码)
使用:直接输入命令passwd回车,根据提示输入
-
clear(清屏)
-
su(切换到其他用户)
输入su root 回车, 然后输入root 密码 ; 使用exit退出当前用户
-
pwd(显示当前在Linux文件系统中的所在位置)
-
chown(改变文件的所有者)
chown hadoop:hadoop a.txt (表示把a.txt所有者改为hadoop 所在组为hadoop)
HDFS命令操作
首先需要在xshell启动hadoop
start-all.sh or start-hdfs.sh
-
hadoop fs -ls / (显示当前目录下所有文件)
-
hadoop fs -du /sevenclass (显示目录中所有文件的大小)
-
hadoop fs -cat /a.txt (查看当前文本信息)
-
hadoop fs -text /a.txt (查看当前文本信息)
-
hadoop fs -count /test
显示指定文件或目录的 DIR_COUNT(子目录个数) , FILE_COUNT (文件个数),CONTENT_SIZE(字节个数) ,FILE_NAME(目录名)
mkdir 创建文件
hadoop fs -mkdir /test1 /test2 (同时创建两个文件夹)
hadoop fs -mkdir /a/b (创建a文件夹并在内创建b文件夹,如果没有a文件夹,会抛错)
hadoop fs -mkdir -p /a/b (没有a文件夹创建a 然后在内创建b)
cp 复制
hadoop fs -cp /a/b /c/ (将/a/b拷贝到/c下)
copyFromLocal (从本地文件系统上传文件到HDFS)
hadoop fs -copyFromLocal /usr/a.txt /test
本地文件 HDFS路径
copyToLocal (从HDFS下载文件到本地文件系统)
hadoop fs -copyToLocal /test/a.txt /usr
HDFS文件 本地路径
moveToLocal 该命令还未实现
put (从本地文件系统上传文件到HDFS )
区别于copyFromLocal: 可以同时复制多个源路径到目标文件系统,也支持从标准输入中读取输入写入目标文件系统
hadoop fs -put /usr/a.txt /test
本地文件 HDFS路径
hadoop fs -put /usr/a.txt /usr/b.txt /test
本地文件 HDFS路径
get (复制文件到本地文件系统)
hadoop fs -get /test/a.txt /usr
mv (将文件从源路径移动到目标路径,这个命令允许有多个源路径。但目标路径必须是一个目录,不允许在不同文件系统间移动文件。)
hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2 (移动并改名称) 源文件路径file1 移动路径并改名为file2
hadoop fs -mv /test /test1 (把文件夹test移到test1下)
touchz (创建一个0字节的空文件)
hadoop fs -touchz pathname 创建名为pathname的空文件
appendToFile (向现有文件中追加内容)
hadoop fs -appendToFile /home/test.txt /1.txt
1.txt是现有文件。/home/test.txt把内容追加到1.txt
getmerge(接收一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件)
hadoop fs -getmerge /test1/test test.txt
把/test1/test所有内容 复制到test.txt
rm 删除指定的文件
hadoop fs -rm /user/a.txt
rmr 递归删除文件
hadoop fs -rmr /user/hadoop/dir
作者:于二黑
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。