HDFS基础操作
HADOOP文件系统(对文件进行操作)
bin hadoop的二进制的执行文件
sbin 封装的bin目录的二进制执行文件的脚本,集群管理脚本(start-dfs.sh start-yarn.sh)
启动hdfs
start-dfs.sh
stop-dfs.sh
启动yarn
start-yarn.sh
stop-yarn.sh
启动单实例的一个进程(单独启动一个datanode 单独启动nodemanager)
hadoop-daemon.sh start namenode/datanode/SecondaryNameNode
hadoop-daemon.sh stop namenode/datanode/SecondaryNameNode
yarn-daemon.sh start ResourceManager/NodeManager
yarn-daemon.sh stop ResourceManager/NodeManager
yarn-daemons.sh
hadoop-daemons.sh
logs hadoop 日志目录
share 在写mapreduce hdfs客户端等代码,依赖包的来源
hadoop客户端基础操作
hadoop fs (hadoop dfs)
用hadoop fs就可以了,hadoopdfs只能操作hdfs,hadoop fs既可以操作hdfs,也可以进行本地的操作
-ls查看文件(路径是hdfs上的路径)
hadoop fs -ls /
-mkdir 创建目录
hadoop fs -mkdir /data
hadoop上传文件-moveFromLocal(put)
hadoop fs -put /tmp/test.txt /
1.第一个路径是本地
2.第二个路径是HDFS
hadoop上传文件-moveToLocal (get)
hadoop fs -get /data/test.txt /home/hadoop/soft
1.第一个路径是HDFS
2.第二个路径是本地
查看hadoop文件内容(谨慎使用)
hadoop fs -cat /data/test.txt
删除文件
hadoop fs -rm /data/test.txt
删除目录
hadoop fs -rm -r /data
复制文件-cp
功能:从hdfs的一个路径拷贝hdfs的另一个路径
示例: hadoop fs -cp /data/test.txt /data1/test.txt
[hadoop@master ~/soft]
h
a
d
o
o
p
f
s
−
m
k
d
i
r
/
d
a
t
a
[
h
a
d
o
o
p
@
m
a
s
t
e
r
/
s
o
f
t
]
hadoop fs -mkdir /data [hadoop@master ~/soft]
hadoopfs−mkdir/data[hadoop@master /soft]hadoop fs -put /tmp/test.txt /data
[hadoop@master ~/soft]
h
a
d
o
o
p
f
s
−
m
k
d
i
r
/
d
a
t
a
2
[
h
a
d
o
o
p
@
m
a
s
t
e
r
/
s
o
f
t
]
hadoop fs -mkdir /data2 [hadoop@master ~/soft]
hadoopfs−mkdir/data2[hadoop@master /soft]hadoop fs -cp /data/test.txt /data2
[hadoop@master ~/soft]$hadoop fs -ls /data2
移动文件-mv
功能:在hdfs目录中移动文件
示例: hadoop fs -mv /aaa/jdk.tar.gz /
[hadoop@master ~/soft]
h
a
d
o
o
p
f
s
−
m
k
d
i
r
/
d
a
t
a
3
[
h
a
d
o
o
p
@
m
a
s
t
e
r
/
s
o
f
t
]
hadoop fs -mkdir /data3 [hadoop@master ~/soft]
hadoopfs−mkdir/data3[hadoop@master /soft]hadoop fs -mv /data/test.txt /data3
[hadoop@master ~/soft]
h
a
d
o
o
p
f
s
−
l
s
/
d
a
t
a
[
h
a
d
o
o
p
@
m
a
s
t
e
r
/
s
o
f
t
]
hadoop fs -ls /data [hadoop@master ~/soft]
hadoopfs−ls/data[hadoop@master /soft]hadoop fs -ls /data3
-du
功能:统计文件夹的大小信息
示例:hadoop fs -du -s -h /data3/*
统计当前目录下的文件和文件夹大小
[hadoop@master ~/soft]
h
a
d
o
o
p
f
s
−
d
u
/
d
a
t
a
374
/
d
a
t
a
3
/
t
e
s
t
.
t
x
t
−
h
以
人
类
可
以
方
便
阅
读
的
方
式
呈
现
[
h
a
d
o
o
p
@
m
a
s
t
e
r
/
s
o
f
t
]
hadoop fs -du /data3 74 /data3/test.txt -h 以人类可以方便阅读的方式呈现 [hadoop@master ~/soft]
hadoopfs−du/data374/data3/test.txt−h以人类可以方便阅读的方式呈现[hadoop@master /soft]hadoop fs -du -h /data3
74 /data3/test.txt
==================================================================
hdfs命令
hdfs namenode -format
初始化namenode,不需要再datanode做,datanode不需要初始化,再第一次启动datanode的时候,datanode自己创建文件夹并且存储数据,自动向namenode进行一个注册。
集群状态的统计报告
(各节点的存活状态 100各节点 有问题及时解决
以及存储的使用情况 1TB 1TB 10台 数据分布不均匀
balancer
)
hdfs dfsadmin report
[hadoop@master /data/hadoop/tmp/dfs/name/current]$hdfs dfsadmin -report
Configured Capacity: 41100877824 (38.28 GB)
Present Capacity: 36406923264 (33.91 GB)
DFS Remaining: 36406894592 (33.91 GB)
DFS Used: 28672 (28 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Live datanodes (1):
Name: 192.168.2.10:50010 (master)
Hostname: master
Decommission Status : Normal (状态,正常情况normal)
Configured Capacity: 41100877824 (38.28 GB)
DFS Used: 28672 (28 KB)(datanode节点的存储的使用情况)
Non DFS Used: 4693954560 (4.37 GB)
DFS Remaining: 36406894592 (33.91 GB)
DFS Used%: 0.00%
DFS Remaining%: 88.58%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Nov 07 21:41:10 CST 2018
我们查看数据块的情况(数据块的冗余的情况,有多少数据块缺少冗余 )
hadoop fsck /
Total size: 148 B (总容量)
Total dirs: 4 (总目录)
Total files: 2 (总的文件数)
Total symlinks: 0
Total blocks (validated): 2 (avg. block size 74 B) (总数据块)
Minimally replicated blocks: 2 (100.0 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 1
Average block replication: 1.0
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Number of data-nodes: 1
Number of racks: 1
FSCK ended at Wed Nov 07 21:47:47 CST 2018 in 55 milliseconds
同步集群各个节点的数据用的,当我们datanode各节点磁盘利用率不一致的时候,使用该命令,进行数据的再平衡。
hdfs balancer
–threshold
后面加0-100,如果磁盘的利用率的差距超过该阈值,然后执行该平衡动作。
将HDFS1集群的数据,拷贝到HDFS2集群
hadoop distcp hdfs://master1:9000/user/access_logs hdfs://master2:9000/user/destination_access_logs
允许打开快照功能
hdfs dfsadmin -allowSnapshot /data3
创建快照
hdfs dfs -createSnapshot /data3 snap
再创建快照的时候,生成快照目录
/data3/.snapshot/snap
快照是只读的
[hadoop@master ~]$hadoop fs -ls /data3/.snapshot/snap
Found 1 items
-rw-r–r-- 1 hadoop supergroup 74 2018-11-07 17:46 /data3/.snapshot/snap/test.txt
$ hdfs dfs -renameSnapshot /data3 snap snap_1
重命令后,快照目录也会被修改
$ hdfs dfs -ls /data3/.snapshot
drwxr-xr-x - hadoop supergroup 0 2018-07-14 01:08 /test/.snapshot/snap_1
删除快照
hdfs dfs -deleteSnapshot /data3 snap_1
列出当前用户所有快照
hdfs lsSnapshottableDir
快照验证
hadoop fs -rm -r /data3/test.txt
hadoop fs -cp /data3/.snapshot/snap_1/test.txt /data3