2015-10-13 2 views
0

я о топологии прибегая к помощи стойки и нашел этот вопрос ... может быть это сертификация Hadoop вопрос:топология Rack в Hadoop

Кластера имеет подчиненные узлы в трех различных стойках, и вы написали топологию стеллажа скрипт идентифицирующий каждая машина находится в стойке1, стойке2 или стойке3. Клиентская машина вне кластера записывает небольшой (одноблочный) файл в HDFS. Первая копия блока записывается в узел на стойке2. Как определяется размещение блоков для двух других реплик?

Ответ на некоторые из сайтов: либо оба будут записаны в узлы на стойке1, либо оба будут записаны в узлы на стойке3.

Почему бы не написать следующий блок на самой стойке2 и остальном блоке на стойке или стойке3?

ответ

0

Если Клиент находится за пределами стойки, первая репликация, которую он пишет, считается Локальным Узлом.

Из документации, Hadoop помещает реплики в 3-х различных узлах данных:

Узла Локальных данных: Узел данных, где клиент может инициировать запись (например, с использованием для Hadoop Fs -cp команды). Здесь размещена первая реплика. Если клиент записывает данные извне кластера, то этот узел выбирается случайным образом. Это узел, на котором записывается первая реплика.

Узел данных без вывода данных: Узел данных, который присутствует на другой стойке. Здесь размещена вторая реплика.

Узел данных Rack Data: Узел данных, который физически присутствует в той же стойке, что и первый узел данных. Третья копия размещена здесь

Следовательно, в вашем случае, поскольку первая реплика написана на стойке 2, это будет локальный узел данных. Вторая реплика в любом из Rack 1/Rack 3 [Учетный узел вне стойки]. И третья реплика снова в Rack 2 [On-Rack Data Node].

Смежные вопросы