2015-02-05 4 views
0

Я новичок в Hadoop администрации :)улей, HDFS данные в локальной системе и обратно

У меня есть Apache Hadoop 2.4.1 кластер из 8 узлов, 16TB DFS используется (не удалось найти фактор репликации в любой из xml-файлов), Hive 0.13 с метастаретом MySQL.

Цель: Резервное копирование данных на кластере на диске NFS, удалить кластер, установить какой-либо другой дистрибутив (Cloudera, Hortonworks) и загрузите данные из NFS диск в этот новый кластер.

Есть две таблицы Hive из 956 ГБ (примерно 9 миллиардов строк) и 32 ГБ (несколько миллионов строк) и несколько других меньших таблиц.

Обеспокоенность/Запросы:

  1. Как я резервное копирование всего кластер на NFS диска? В настоящее время у меня есть независимая машина (не входит в состав кластера) с установленным накопителем NFS
  2. Самый грубый способ - экспортировать таблицы в файлы csv/tsv на накопитель NFS и загрузить их в новый кластер, когда он готов, но экспортирует эти большие таблицы в csv/tsv делают мне неудобно, но я не мог думать о другом пути
  3. distcp работает на уровне HDFS в соответствии с моим пониманием, поэтому я не уверен, могу ли я использовать его для более быстрой копирования из HDFS в NFS и NFS для новой HDFS. Это связано с тем, что тогда мне также необходимо создать резервную копию метаданных Hive, а затем заставить ее работать с новым дистрибутивом, который может быть невозможен.

Как я могу продолжить эту миграцию или, по крайней мере, передачу данных с HDFS на NFS и назад?

ответ

0

Эти шаги, мы следуем:

  1. Создать новый Hadoop кластера
  2. Копирование данных в новый кластер, используя distcp
  3. уронить старый кластер

Если это не вариант

  1. Написать сценарий оболочки, который п копирование данных с использованием Hadoop фс -get
  2. Убедитесь, что вы применить логику таким образом, что тот же сценарий оболочки может выполняться параллельно с использованием поЬир принимая каталог HDFS или файл шаблона в качестве параметров
0

Используйте Hadoop fs -get команду перенесите файл на NAS. Предполагая, что NAS монтируется на одном из узлов хаопа. Для метаданных HIVE запустите команду "SHOW CREATE TABLE tablename", чтобы получить оператор create, который может быть запущен в новом кластере.

Несмотря на то, что вышеуказанные шаги соответствуют вашей цели. рекомендуемым вариантом будет скопировать данные из существующего в новый кластер непосредственно с помощью DISTCP. и сценарии куста DDL

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