三、Hadoop常用命令汇总

三、Hadoop常用命令汇总

IT-风油精 888 2023-01-10

1.1、查看hdfs的命令

hdfs dfs

1.2、启动Hadoop集群(方便后续的测试)

[root@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
[root@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

1.3、-help:输出这个命令参数

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -help rm

1.4、上传

(1)-moveFromLocal:从本地剪切粘贴到HDFS

[root@hadoop102 hadoop-3.1.3]$ touch kongming.txt
[root@hadoop102 hadoop-3.1.3]$ hadoop fs  -moveFromLocal  ./kongming.txt  /sanguo/shuguo

(2)-copyFromLocal:从本地文件系统中拷贝文件到HDFS路径去

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -copyFromLocal README.txt /

(3)-appendToFile:追加一个文件到已经存在的文件末尾

[root@hadoop102 hadoop-3.1.3]$ touch liubei.txt
[root@hadoop102 hadoop-3.1.3]$ vi liubei.txt

输入
san gu mao lu

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -appendToFile liubei.txt /sanguo/shuguo/kongming.txt

(4)-put:等同于copyFromLocal

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -put ./zaiyiqi.txt /user/atguigu/test/

1.5、下载

(1)-copyToLocal:从HDFS拷贝到本地

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -copyToLocal /sanguo/shuguo/kongming.txt ./

(2)-get:等同于copyToLocal,就是从HDFS下载文件到本地

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -get /sanguo/shuguo/kongming.txt ./

(3)-getmerge:合并下载多个文件,比如HDFS的目录 /user/atguigu/test下有多个文件:log.1, log.2,log.3,…

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -getmerge /user/atguigu/test/* ./zaiyiqi.txt

1.5、HDFS直接操作

(1)-ls: 显示目录信息

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -ls /

(2)-mkdir:在HDFS上创建目录

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -mkdir -p /sanguo/shuguo

(3)-cat:显示文件内容

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -cat /sanguo/shuguo/kongming.txt

(4)-chgrp 、-chmod、-chown:Linux文件系统中的用法一样,修改文件所属权限

[root@hadoop102 hadoop-3.1.3]$ hadoop fs  -chmod  666  /sanguo/shuguo/kongming.txt
[root@hadoop102 hadoop-3.1.3]$ hadoop fs  -chown  atguigu:atguigu   /sanguo/shuguo/kongming.txt

(5)-cp :从HDFS的一个路径拷贝到HDFS的另一个路径

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -cp /sanguo/shuguo/kongming.txt /zhuge.txt

(6)-mv:在HDFS目录中移动文件

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -mv /zhuge.txt /sanguo/shuguo/

(7)-tail:显示一个文件的末尾

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -tail /sanguo/shuguo/kongming.txt

(8)-rm:删除文件或文件夹

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -rm /user/atguigu/test/jinlian2.txt

(9)-rmdir:删除空目录

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -mkdir /test
[root@hadoop102 hadoop-3.1.3]$ hadoop fs -rmdir /test

(10)-du统计文件夹的大小信息

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -du -s -h /user/atguigu/test
2.7 K  /user/atguigu/test
[root@hadoop102 hadoop-3.1.3]$ hadoop fs -du  -h /user/atguigu/test
1.3 K  /user/atguigu/test/README.txt
15     /user/atguigu/test/jinlian.txt
1.4 K  /user/atguigu/test/zaiyiqi.txt

(11)-setrep:设置HDFS中文件的副本数量

[root@hadoop102 hadoop-3.1.3]$ hadoop fs -setrep 10 /sanguo/shuguo/kongming.txt

图片-1673314163904
这里设置的副本数只是记录在NameNode的元数据中,是否真的会有这么多副本,还得看DataNode的数量。因为目前只有3台设备,最多也就3个副本,只有节点数的增加到10台时,副本数才能达到10。

1.6 生产环境中常用Linux命令(Centos)

(1)查看服务端口运行状况
sudo netstat -nltp | grep 4904

(2)查看端口
netstat -nltp

(3)查看正在运行的
iotop

(4)使用命令但是提示要安装软件时,但是不知道安装哪个
用 yum provides [命令]
如:yum provides tree

(5)查看单节点磁盘空间
df -h

(6)查看单节点内存情况
free -h

(7)测试端口的连通
telnet 192.168.1.103 80

1.7 声明

(1)可忽略用户名,因为有多套集群,截图可能存在用户名不一致的情况,用户可选用root,这样可以确保权限,如果是甲方有要求使用其他用户,可以创建一个有sudo权限的用户
(2)环境:Centos7,java1.8,hadoop3.1.3,内存4G,硬盘50G,安装必要环境(可见第一篇)
(3)小编是尚硅谷学生,文章可能会多次引用尚硅谷的教材