三个进程
NameNode (NN): 名称节点 --》client第一个操作的对象
DataNode (DN): 数据节点 --》存储数据的
Secondary NameNode(SNN): 第二名称节点
组成:block(数据块)
大小:64M
128M
参数: dfs.blocksize
副本数
dfs.replication : 3
hadoop2.x一般公司就3个
hadoop3.0 : 1.5(新特性 纠删码) 1+0.5
架构设计
NameNode: 文件系统的命名空间
1.文件名称
2.文件目录结构
3.文件的属性(权限 创建时间 副本数)
4.文件对应哪些数据块--》这些数据块对应哪些DataNode节点上
不会持久化存储这个映射关系,是通过集群的启动和运行时,datanode定期发送blockReport给NN,
以此NN在【内存】中动态维护这种映射关系。
存储:维护文件系统树及整个树内的所有文件和目录,这些信息以两种文件形式永久保存在本地磁盘上命名空间镜像文件fsimage+编辑日志editlog
DataNode:
存储: 数据块+数据块校验和
与NN通信:
1.每隔3秒发送一次心跳 参数可配置
2.每隔10次心跳发送一次blockReport (30s)
Secondary NameNode:
存储: 命名空间镜像文件fsimage+编辑日志editlog
作用: 定期合并fsimage+editlog文件为新的fsimage,推送给NN,称为检查点,checkpoint
参数: dfs.namenode.checkpoint.period: 3600 秒
3.文件读流程--》FSDataInputStream
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -cat /test.log
3.1 client通过FileSystem.open(filePath)方法,去NN进行RPC通信,返回该文件的部分或者全部的block块,
也就是返回FSDataInputStream对象;
4.文件写流程--》FSDataOutputStream
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -put rzdata.log /xxx
重命名
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -put rzdata.log /xxx01/
put: `/xxx01/': No such file or directory: `hdfs://192.168.137.201:9000/xxx01'
要求: 1.流程搞清楚
2.文件写流程--》FSDataOutputStream
3.校验文件是否存在和权限问题
4.最后一步DFS.complete()方法,告诉NN节点写入成功
https://wenku.baidu.com/view/fabe57b004a1b0717fd5dda5.html
5.命令jps 查看进程
[hadoop@rzdatahadoop002 ~]$ jps
54450 Jps
10611 NodeManager
5720 NameNode
6030 SecondaryNameNode
5823 DataNode
10511 ResourceManager
[hadoop@rzdatahadoop002 ~]$ which jps
/usr/java/jdk1.8.0_45/bin/jps
[root@rzdatahadoop002 ~]# cd /tmp/hsperfdata_hadoop/
[root@rzdatahadoop002 hsperfdata_hadoop]# ll
total 160
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 10511
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 10611
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 5720
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 5823
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:11 6030
5.1 正常流程
[root@rzdatahadoop002 hsperfdata_hadoop]# jps
10611 -- process information unavailable
6325 jar
54487 Jps
5720 -- process information unavailable
6030 -- process information unavailable
5823 -- process information unavailable
10511 -- process information unavailable
[root@rzdatahadoop002 hsperfdata_hadoop]# ps -ef |greo 10611
找到该进程的使用用户名称
[root@rzdatahadoop002 hsperfdata_hadoop]# su - hadoop
[hadoop@rzdatahadoop002 ~]$ jps
10611 NodeManager
5720 NameNode
54524 Jps
6030 SecondaryNameNode
5823 DataNode
10511 ResourceManager
[hadoop@rzdatahadoop002 ~]$
5.2 异常流程
[root@rzdatahadoop002 rundeck]# jps
10611 -- process information unavailable
6325 jar
5720 -- process information unavailable
6030 -- process information unavailable
54591 Jps
5823 -- process information unavailable
10511 -- process information unavailable
[root@rzdatahadoop002 rundeck]# kill -9 10611
[root@rzdatahadoop002 rundeck]# jps
10611 -- process information unavailable
6325 jar
5720 -- process information unavailable
54605 Jps
6030 -- process information unavailable
5823 -- process information unavailable
10511 -- process information unavailable
[root@rzdatahadoop002 rundeck]# ps -ef|grep 10611
root 54618 48324 0 10:15 pts/1 00:00:00 grep 10611
[root@rzdatahadoop002 rundeck]#
10611信息残留,去/tmp/hsperfdata_hadoop文件夹删除该10611文件
[root@rzdatahadoop002 hsperfdata_hadoop]# ll
total 160
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:17 10511
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:15 10611
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:17 5720
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:17 5823
-rw-------. 1 hadoop hadoop 32768 Dec 17 10:16 6030
[root@rzdatahadoop002 hsperfdata_hadoop]# rm -f 10611
[root@rzdatahadoop002 hsperfdata_hadoop]# jps
54626 Jps
6325 jar
5720 -- process information unavailable
6030 -- process information unavailable
5823 -- process information unavailable
10511 -- process information unavailable
[root@rzdatahadoop002 hsperfdata_hadoop]# su - hadoop
[hadoop@rzdatahadoop002 ~]$ jps
54661 Jps
5720 NameNode
6030 SecondaryNameNode
5823 DataNode
10511 ResourceManager
登录一台机器,jps命令+ps命令,残留信息删除
参考: http://blog.itpub.net/30089851/viewspace-1994344/
6.hadoop和hdfs 文件系统命令
hadoop fs
等价
hdfs dfs
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -ls /
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -mkdir -p /rzdatadir001/001
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -cat /test.log
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -put rzdata.log1 /rzdatadir001/001
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -get /rzdatadir001/001/rzdata.log1 /tmp/
[hadoop@rzdatahadoop002 hadoop]$ bin/hdfs dfs -get /rzdatadir001/001/rzdata.log1 /tmp/rzdata.log123 重命名
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
删除:
1.配置回收站
[-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...]
core-site.xml
fs.trash.interval : 10080
2.测试
bin/hdfs dfs -rm -r -f /xxxx ---》进入回收站,是可以恢复的
bin/hdfs dfs -rm -r -f -skipTrash /xxxx ---》不进入回收站,是不可以恢复的
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
1.启动顺序
start-all.sh
nn dn snn
rm nm
2.hdfs dfsadmin
[hadoop@rzdatahadoop002 ~]$ hdfs dfsadmin -report
[hadoop@rzdatahadoop002 ~]$ hdfs dfsadmin -safemode enter
Safe mode is ON
[hadoop@rzdatahadoop002 ~]$ hdfs dfs -ls /
Found 5 items
-rw-r--r-- 1 hadoop supergroup 4 2017-12-17 09:38 /rzdata.log
drwxr-xr-x - hadoop supergroup 0 2017-12-17 10:29 /rzdatadir001
drwx------ - hadoop supergroup 0 2017-12-16 10:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2017-12-16 10:23 /user
-rw-r--r-- 1 hadoop supergroup 4 2017-12-17 09:39 /xxx
[hadoop@rzdatahadoop002 ~]$ echo "345">jepson.log
[hadoop@rzdatahadoop002 ~]$ hdfs dfs -put jepson.log /
put: Cannot create file/jepson.log._COPYING_. Name node is in safe mode.
[hadoop@rzdatahadoop002 ~]$ hdfs dfsadmin -safemode leave
Safe mode is OFF
[hadoop@rzdatahadoop002 ~]$ hdfs dfs -put jepson.log /
[hadoop@rzdatahadoop002 ~]$ hdfs dfs -ls /
Found 6 items
-rw-r--r-- 1 hadoop supergroup 4 2017-12-19 21:19 /jepson.log
-rw-r--r-- 1 hadoop supergroup 4 2017-12-17 09:38 /rzdata.log
drwxr-xr-x - hadoop supergroup 0 2017-12-17 10:29 /rzdatadir001
drwx------ - hadoop supergroup 0 2017-12-16 10:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2017-12-16 10:23 /user
-rw-r--r-- 1 hadoop supergroup 4 2017-12-17 09:39 /xxx
[hadoop@rzdatahadoop002 ~]$
1.多台机器的磁盘存储分布不均匀?
解决方案: 1.1 不加新机器,原机器的磁盘分布不均匀:
[hadoop@rzdatahadoop002 ~]$ hdfs dfsadmin -setBalancerBandwidth 52428800
Balancer bandwidth is set to 52428800
[hadoop@rzdatahadoop002 ~]$
[hadoop@rzdatahadoop002 sbin]$ ./start-balancer.sh
等价
[hadoop@rzdatahadoop002 sbin]$ hdfs balancer
Apache Hadoop集群环境: shell脚本每晚业务低谷时调度
CDH集群环境: 忽略
http://blog.itpub.net/30089851/viewspace-2052138/
1.2 加新机器,原机器的磁盘比如450G(500G),现在的新机器磁盘规格是5T
在业务低谷时,先将多台新机器加入到HDFS,做DN;
然后选一台的DN下架掉,等待hdfs自我修复块,恢复3份(网络和io最高的,也是最有风险性的)
2.一台机器的多个磁盘分布不均匀?
2.1.无论加不加磁盘,且多块磁盘的分布不均匀
https://hadoop.apache.org/docs/r3.0.0-alpha2/hadoop-project-dist/hadoop-hdfs/HDFSDiskbalancer.html
hdfs diskbalancer -plan node1.mycluster.com
hdfs diskbalancer -execute /system/diskbalancer/nodename.plan.json
Apache Hadoop3.x
CDH5.12+
[hadoop@rzdatahadoop002 sbin]$ hdfs fsck /
Connecting to namenode via http://rzdatahadoop002:50070/fsck?ugi=hadoop&path=%2F
FSCK started by hadoop (auth:SIMPLE) from /192.168.137.201 for path / at Tue Dec 19 21:47:08 CST 2017
..........Status: HEALTHY
Total size: 389306 B
Total dirs: 16
Total files: 10
Total symlinks: 0
Total blocks (validated): 10 (avg. block size 38930 B)
Minimally replicated blocks: 10 (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 Tue Dec 19 21:47:08 CST 2017 in 16 milliseconds
The filesystem under path '/' is HEALTHY
[hadoop@rzdatahadoop002 sbin]$
Corrupt blocks: 100
Missing replicas: 20 (1.0 %) ==:>发邮件给管理员
[hadoop@rzdatahadoop002 sbin]$ hdfs fsck / -delete
[hadoop@rzdatahadoop002 sbin]$ hdfs dfs -get /xxx/xxx ./
[hadoop@rzdatahadoop002 sbin]$ hdfs haadmin
打印出hadoop的环境变量
[hadoop@rzdatahadoop002 sbin]$ hadoop classpath
A盘450G
B盘400G
新来的data01,会选择B盘,让B盘追上A盘
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31513228/viewspace-2149504/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31513228/viewspace-2149504/