您的位置:首页 > 运维架构

Hadoop HDFS常用命令

2013-11-29 21:18 357 查看
HDFS的特点: 一次写入,多次读取

HDFS下的文件操作:

1.列出HDFS文件

hadoop dfs -ls

//未带参数的-ls命令没有任何返回值,默认返回HDFS的“home”目录下的内容

//HDFS中,没有当前工作目录这样的概念,也没有cd这个命令

2.列出HDFS目录下某个文档中的文件

hadoop dfs -ls in

3.上传文件到HDFS(下面的命令中省略 hadoop dfs)

-put file_name new_File_nme

//将hadoop主目录下的file_name文件上传到HDFS并重命名为new_File_name

//上传文件时,文件首先复制到datenode上,只有所有的datenode都成功接收完数据,文件上传才是成功的

4.将HDFS中的文件复制到本地系统中

-get file newFileName

//将HDFS中的file文件复制到本地系统并命名为newFileName

//-put 和 -get 既可以操作文件,也可以操作目录

5.删除HDFS下的文档

-rmr out

//删除HDFS下的out文档

6.查看HDFS下某个文件

-cat fileName

7.可以通过-help commandName命令列出的清单来进行进一步的学习与探索

管理与更新

1.报告HDFS的基本信息

hadoop dfsadmin -report

2.退出安全模式

“Name node is in safe mode”

可以通过以下命令退出安全模式

hadoop dfsadmin -safemode leave

3.进入安全模式

hadoop dfsadmin -safemode eneter

4.添加新的DateNode节点

安装hadoop,可以NameNode的hadoop直接scp到新节点上

slaves文件中添加新节点

SSH无密码连接

5.负载均衡

start-balancer.sh

2.3 HDFS API

1.上传本地文件到HDFS

FileSystem.copyFromLocalFile(Path src,Path dest)

Configuration conf = new Configuration();

FileSystem hdfs = FileSystem.get(conf);

hdfs.copyFromLocalFile(src,dest);

2.创建HDFS文件

FileSystem.create(Path f)

3.重命名HDFS文件

FileSystem.rename(Path src,Path dest)

4.删除HDFS上的文件

FileSystem.delete(Path f,Boolean recursive)

7.查找某个文件在HDFS集群的位置

FileSystem.getFileBlockLocations(FileStatus file,long start,long len)

8.获取HDFS集群上所有节点名称

DatanodeInfo.getHostName()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: