Один из использования датододы достиг 100% в hdfs? Балансер не работает - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть некоторые проблемы с Hadoop hdfs. (Hadoop 2.7.3) У меня есть 2 namenode (1 активный, 1 резервный) и 3 datanodes. Коэффициент репликации равен 3.

$  hdfs dfs -df -h /
Filesystem                Size    Used  Available  Use%
hdfs://hadoop-cluster  131.0 T  51.3 T     79.5 T   39%

Используемый диск 51T с командой -df.

$ hdfs dfs -du -h /
912.8 G  /dir1
2.9 T    /dir2

Но используемый диск составляет около 3T с командой -du.

Я обнаружил, что один из датододов достиг 100% использования.

Live datanodes (3):

datanode1: 
Configured Capacity: 48003784114176 (43.66 TB)
DFS Used: 2614091989729 (2.38 TB)
Non DFS Used: 95457946911 (88.90 GB)
DFS Remaining: 45294174318384 (41.19 TB)
DFS Used%: 5.45%
DFS Remaining%: 94.36%


*****datanode2******
Configured Capacity: 48003784114176 (43.66 TB)
DFS Used: 48003784114176 (43.66 TB)
Non DFS Used: 0
DFS Remaining: 0
DFS Used%: 100%
DFS Remaining%: 0%


datanode3: 
Configured Capacity: 48003784114176 (43.66 TB)
DFS Used: 2615226250042 (2.38 TB)
Non DFS Used: 87496531142 (81.49 GB)
DFS Remaining: 45301001735984 (41.20 TB)
DFS Used%: 5.45%
DFS Remaining%: 94.37%

Мой вопрос

  1. Я пытался сделать balancer. Кажется, это работает, но ни один блок не был перемещен для всех итераций, и он существует без каких-либо ошибок. Как я могу сбалансировать использование диска датоделами? Почему команда hdfs balancer не перемещает ни одного блока?
19/11/06 11:27:51 INFO balancer.Balancer: Decided to move 10 GB bytes from datanode2:DISK to datanode3:DISK
19/11/06 11:27:51 INFO balancer.Balancer: chooseStorageGroups for SAME_RACK: overUtilized => belowAvgUtilized
19/11/06 11:27:51 INFO balancer.Balancer: chooseStorageGroups for SAME_RACK: underUtilized => aboveAvgUtilized
19/11/06 11:27:51 INFO balancer.Balancer: chooseStorageGroups for ANY_OTHER: overUtilized => underUtilized
19/11/06 11:27:51 INFO balancer.Balancer: chooseStorageGroups for ANY_OTHER: overUtilized => belowAvgUtilized
19/11/06 11:27:51 INFO balancer.Balancer: chooseStorageGroups for ANY_OTHER: underUtilized => aboveAvgUtilized
19/11/06 11:27:51 INFO balancer.Balancer: Will move 10 GB in this iteration
19/11/06 11:27:51 INFO balancer.Dispatcher: Limiting threads per target to the specified max.
19/11/06 11:27:51 INFO balancer.Dispatcher: Allocating 5 threads per target.

No block has been moved for 5 iterations. Exiting...

Несмотря на то, что datanode2 заполнен, состояние узла отображается как «В рабочем состоянии» или «Работает» или «Нормально». Конечно, в этой ситуации я не могу записывать новые данные в формате hdf.

Результат -df и результат -du слишком разные. Почему?

...