2016-06-29 5 views
1

У меня проблема с кластером из 72 машин. 60 из них являются ГОРЯЧЕЙ ХРАНЕНИЕМ, а 12 - ХОЛОДНЫМИ. Когда я пытаюсь поместить данные в COLD Hive столы иногда я получил ошибку:Hadoop CDH. Файл может быть реплицирован только на 0 узлов вместо minReplication (= 1)

Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/hive/warehouse/test.db/rawlogs/dt=2016-01-31/.hive-staging_hive_2016-06-29_12-54-09_949_6553181118480369018-1/_task_tmp.-ext-10002/_tmp.001029_3 could only be replicated to 0 nodes instead of minReplication (=1). There are 71 datanode(s) running and no node(s) are excluded in this operation. 

Есть много свободного пространства на обоих хост-FS и HDFS.

Configured Capacity | Capacity Used | Capacity Remaining | Block Pool Used

ARCHIVE 341.65 TB 56.64 TB (16.58%) 267.65 TB (78.34%) 56.64 TB

DISK 418.92 TB 247.78 TB (59.15%) 148.45 TB (35.44%) 247.78 TB

У меня есть 4 стойки, определенные для COLD-серверов.

Rack: /50907 1 node

Rack: /50912 1 node

Rack: /50917 1 node

Rack: /80104 9 nodes

Это рабочий кластер, и я не могу просто очистка всех данных, как предложено в подобной проблеме на StackOverflow.

Обновление. Я решил развернуть обновленный сценарий топологии на всех серверах в кластере. После развертывания я перезапустил все демоны-аддопы на каждом узле, включая namenode, но dfsadmin -showTopology показывает старую схему. Что мне нужно сделать для обновления топологии кластера? Возможно, отбросьте какой-то кеш и т. Д.

ответ

1

Пожалуйста, проверьте и попробуйте устранить все 8 возможных причин/причин, как указано здесь, - https://wiki.apache.org/hadoop/CouldOnlyBeReplicatedTo. Только если все эти условия будут исключены, и если вы по-прежнему не можете решить эту проблему самостоятельно, вы должны взглянуть на следующий подход.

ВНИМАНИЕ: форматирование наменования уничтожит данные на HDFS !!.

Шаги по решению этой проблемы уже задокументированы here, here и here. Следовательно, я даю только шаги высокого уровня без точных команд, поскольку они могут быть найдены в вышеупомянутых ссылках, чтобы избежать дублирования.

  1. Остановите все демоны Hadoop
  2. Удалить соответствующие временные файлы (см вышеуказанные ссылки)
  3. Формат NameNode
  4. Start все демоны Hadoop
+0

@ janeshs-- что будет с существующими данными, если вы форматируете namenode? – Farooque

+0

@Farooque - Этот вопрос, к сожалению, требует форматирования, которое необходимо выполнить во многих случаях. – janeshs

+0

Спасибо за предложения! К сожалению, все 8 условий в wiki не связаны с моей проблемой. Лично я считаю, что мне нужно изменить топологию сети для COLD-datanodes. Как вы можете видеть, есть 4 стойки, и 3 из них включают один один узел. – Samriang