В този блог на Hadoop Tutorial, ние ще покривка <силен> HDFS силен> Disk Balancer в детайли. Първо ще обсъдим какво представлява Disk Balancer в Hadoop, след това ще обсъдим различните операции на Hadoop Disk Balancer.
Ще обсъдим и Intra DataNode Disk Balancer в hadoop и неговия алгоритъм. Най-накрая в този урок ще разгледаме характеристиките на Hadoop HDFS диск балансьор в детайли.
Въведение в HDFS Disk Balancer
<Силен> HDFS диск балансьор силен> е инструмент за команден ред. Той разпределя данните равномерно на всички дискове на даден възел за данни. HDFS Disk Balancer е напълно различен от Balancer, който се грижи за балансирането на данни в целия клъстер.
Поради следните причини, HDFS може да не винаги разпределя данните по еднакъв начин между дисковете:
- <Ли> Много писане и изтрива
- диск замяна
Това води до значително изкривяване в DataNode. По този начин HDFS Balancer не може да се справи с това, което се отнася за Inter, Non-Intra, DN skew.
И така, се появи нова функционалност за балансиране на Intra-DataNode, за да се справи с тази ситуация. Това се извиква чрез CLI на HDFS Disk Balancer.
Disk Balancer работи срещу даден възел с данни и премества блокове от един диск на друг.
операция на диск Баланс
Чрез създаване на план (набор от изрази) и изпълнение на този план на възела на данни, HDFS Disk Balancer работи. Тези набори от изрази описват колко данни трябва да се движат между два диска.
Планът има много стъпки ход. Тези стъпки за преместване имат определен брой байтове за преместване, изходен диск и целеви диск. План може да се изпълни срещу оперативен възел за данни.
HDFS Disk Balancer не е активиран по подразбиране;
Така че, за да активирате HDFS дисков балансиране dfs.disk.balancer.enabled е зададено true в <ги> <> силни hdfs-site.xml силен> .
HDFS рамките на DataNode DiskBalancer
Когато потребителят напише нов блок в HDFS, така че с помощта на избор на обем на политика datanode изберете диска за блока. По-долу са две такива политики:
- <силен> Кръгла Robin - силен> Тази политика разпределя новите блокове по еднакъв начин между наличните дискове.
- <силен> наличното пространство - силен> Тази политика записва данни на диска, който има повече свободно място в проценти.
По подразбиране HDFS DataNode използва правилата за кръгова система.
Datanode все още създава значителен обем на дисбаланса поради масивно изтриване и добавяне на файлове в HDFS. Възможно е дори политиката за избор на обем, базирана на наличното пространство, да доведе до по-малко ефективен дисков вход/изход.
Всяко ново записване ще отиде на новия добавен празен диск, докато по това време другите дискове са били неактивни. По този начин създаваме пречка на новия диск.
За да намали проблема с дисбаланса на данните, общността на Apache Hadoop разработи сървърни офлайн скриптове. HDFS-1312 също въведе онлайн дисков балансьор. Това балансира отново обемите на работещ възел с данни въз основа на различни показатели.
способности на HDFS диск Баланс
1. Отчет за разпространението на данни
Потребителят може да измерва как да разпространява данни чрез показатели.
a) Плътност на обемните данни или плътност на данните в рамките на възела
Тези показатели могат да изчислят колко данни има на възел. Също така кажете какво е идеалното място за съхранение на всеки том.
Формула за изчисление, т.е. общите данни на този възел, разделени на общия капацитет на диска на този възел.
Идеално съхранение = общ използван % общ капацитет
Плътност на обемните данни = идеално съхранение – dfsUsedRatio
- <силен> положителна стойност - силен> Това показва, че дискът е недостатъчно използван.
- <силен> Отрицателна стойност - силен> Това показва, че дискът е прекомерно използван.
b) Плътност на данните за възел или плътност на данни между възли
Както сега изчислихме плътността на данните за обема. Така че можем лесно да сравним кои всички възли в центъра за данни трябва да балансират?
в) Доклади
Сега имаме плътност на обемни данни и плътност на данните за възел. Така дисковият балансьор може да балансира първите 20 възела в клъстера, които имат изкривено разпределение на данни.
2. Балансирайте данните между обема, докато datanode е жив
HDFS Disk Balancer има способността да премества данни от един том в друг.
Заключение
В заключение можем да кажем, че Disk Balancer е инструментът, който разпределя данни на всички дискове на datanode. Той работи чрез създаване на план (набор от изрази) и изпълнение на този план на възела за данни.
HDFS Disk Balancer използва Round-robin и <силен> наличното пространство силен> правила за избор на диск за блока. Ако намирате този блог за полезен или имате някакви въпроси, моля, споделете с нас в секцията за коментари. Ще се радваме да ги разрешим.