一、hadoop3.x的shell操作
Shell的命令格式: hdfs dfs(或者hadoop fs)
1、浏览文件系统的文件
(1)hdfs dfs -ls hdfs://hadoop1:9000/
也可以简化写法:
hdfs dfs -ls /
因为在core-site.xml配置文件里面已经配置了和hdfs://hadoop1:9000/对应的信息如下:
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop1:9000</value>
<description>change your own hostname</description>
</property>
如果不写就找<name>fs.default.name</name>的默认值
这时候我们使用hdfs协议访问namenode的节点主机hadoop1,端口为9000,注意“/”不能丢,它表示根目录
(2)查看“/”下其它目录的指令,例如查看d1目录
hdfs dfs -ls hdfs://hadoop1:9000/d1
如果d1下面还有d2,我们一级级查看麻烦可以使用递归操作,操作如下:
hdfs dfs -ls -R hdfs://hadoop1:9000/d1
2、文件上传下载
(1)使用“-put 文件名”的格式将本地文件上传到hdfs服务器
例如:将/usr/local下文件file1上传到hdfs://hadoop1:9000/d1/
hdfs dfs -put /usr/local/file1 hdfs://hadoop1:9000/d1/
(2)使用“-get hdfs://主机名:9000/文件名”的格式将hdfs服务器文件下载到本地
例如:将hdfs://hadoop1:9000/下的文件file_tmp下载到/usr/local
hdfs dfs -get hdfs://hadoop1:9000/file_tmp /usr/local
3、查看文件内容
使用“-text”来查看文件内容,文件的单位是字节数
例如:查看hdfs://hadoop1:9000/下的file_tmp文件
hdfs dfs -text hdfs://hadoop1:9000/file_tmp
4、创建目录
使用“-mkdir”参数的命令可以创建目录,这里举个经常使用的递归创建目录
例如:在“/”下创建 d1,在d1下创建d2,在d2下创建d3
hdfs dfs -mkdir /a/b/c
很多命令和linux类似,这里不再叙述
5、从本地剪切粘贴到 HDFS
示例:
hadoop fs -moveFromLocal /home/d1 /d1
6、追加一个文件到已经存在的文件末尾
示例:
hadoop fs -appendToFile f001.txt /d1/file.txt
7、帮助命令help
例如下列可以查看命令的帮助信息:
hdfs dfs -help
对于具体的命令帮助信息,可以如下方式查看,例如“cat”参数的命令信息:
hdfs dfs -help cat