2015-10-15 3 views
0

У нас есть два кластера, которые говорят, что один старый и один новый. Оба они находятся на AWS - EMR. Улей на этих кластерах, указывающих на тот же метафоры улья, который находится на RDS. Мы переходим от старого к новому.Улей - Несколько кластеров, указывающих на тот же метастор

Вопрос теперь, если я остановлю старый кластер, будет ли проблема для доступа к старым таблицам? "Все данные на S3. Все таблицы ВНЕШНЕЕ. Но все эти базы данных на HDFS .. как

hdfs://old:1234/user/hive/warehouse/myfirst.db 

Если я перестану старый кластер это место считается недействительным, что делает дб недействительным, а также таблицы? Хотя они являются внешними.

Я действительно не уверен, если это будет проблемой, но это на прод, так что я пытаюсь найти, если кто-нибудь уже сталкивался с этой проблемой.

Спасибо!

ответ

0

пока все ваши таблицы имеют LOCATION, установленное на S3, теряя место для DATABASE/SCHEMA не повлияет на доступ к вашим метаданным.

Единственное, что будет иметь место в вашем новом кластере, это то, что операторы CREATE TABLE, выполненные в пользовательской базе данных («myfirstdb» в вашем примере) без явного LOCATION, не смогут достичь пути HDFS по умолчанию, который унаследован от Расположение базы данных.

Таблицы, созданные в схеме «по умолчанию», не будут терпеть неудачу, так как Hive решит местоположение новой таблицы на значение свойства «hive.metastore.warehouse.dir», которое является «/ user/hive/warehouse "в Elastic MapReduce.

Опять же, этот не влияет на таблицы с явным РАСПОЛОЖЕНИЕМ, установленным во время создания.

В общем, для достижения полностью «портативный» Metastore то, что вы хотите сделать, это:

  • Убедитесь, что все таблицы имеют РАСПОЛОЖЕНИЕ установлены в S3 (любые данные в HDFS, очевидно, связаны с кластером жизненный цикл). Это может быть достигнуто за счет:
    • явно заходящего МЕСТЕ в операторе CREATE TABLE или
    • Настройка местоположения для всех DATABASE/SCHEMAS (кроме «по умолчанию») на пути в S3
  • При необходимости (но настоятельно рекомендуется) используйте таблицы EXTERNAL (управляемые пользователем или не управляемые), чтобы предотвратить случайную потерю данных из-за заявлений DDL
Смежные вопросы