Я пытаюсь настроить EMR Hive для использования S3 в качестве хранилища базы данных и расположения по умолчанию для внутренних / управляемых баз данных / таблиц.
Я уже настроил S3 в качестве файловой системы по умолчанию для hadoop, установив fs.defaultFS
в s3://..
в core-site.xml хоста namenode -
<property>
<name>fs.defaultFS</name>
<value>s3://***********</value>
</property>
Некоторые свойстваприсутствовали по умолчанию, чего я не трогал
<property>
<name>fs.s3.impl</name>
<value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value>
</property>
<property>
<name>fs.s3n.impl</name>
<value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value>
</property>
<property>
<name>fs.s3.buffer.dir</name>
<value>/mnt/s3,/mnt1/s3</value>
<final>true</final>
</property>
<property>
<name>fs.s3.buckets.create.region</name>
<value>sa-east-1</value>
</property>
<property>
<name>fs.s3bfs.impl</name>
<value>org.apache.hadoop.fs.s3.S3FileSystem</value>
</property>
<property>
<name>fs.AbstractFileSystem.s3.impl</name>
<value>org.apache.hadoop.fs.s3.EMRFSDelegate</value>
</property>
Это работает, как и ожидалось, с помощью команд hadoop fs
, и я могу получить доступ к корзине S3.
Чтобы настроить куст на использование S3, я внес эти изменения в файл hive-site.xml хоста namenode, где также работает hive-server2
<property>
<name>fs.defaultFS</name>
<value>s3://***********</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name> .
<value>s3://***********/user/hive/warehouse</value>
</property>
После перезапуска компонентов hadoop-hdfs-namenode
, hive-server2
, hadoop-yarn-resourcemanager
, я пытаюсь использовать Hive CLI для создания базы данных.
create database test
Но когда я описываю эту базу данных, она дает мне ее местоположение как hdfs://..
Я исправил это, используя s3:a//
в качестве схемы URI вhive-site.xml .. расположение базы данных тогда s3a://
.. но потом, когда я пытаюсь вставить в него данные ... но происходит сбой с ошибкой -
Error during job, obtaining debugging information...
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-1: HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec
путь к классу hadoop имеет путьгде присутствуют jar hadoop-aws -
/ etc / hadoop / conf: / usr / lib / hadoop / lib / : / usr / lib / hadoop /.//: / usr/lib/hadoop-hdfs/./:/usr/lib/hadoop-hdfs/lib/:/usr/lib/hadoop-hdfs/.//:/usr/lib/hadoop-yarn/Библиотека / : / USR / Библиотека / Hadoop-пряжа /.//* * тысяча сорок-один: / USR / Библиотека / Hadoop-MapReduce / Библиотека / : / USR / Библиотека / Hadoop MapReduce-/.// :: / и т.д. / тез / конф: / USR / Lib / тез / : / USR / Lib / тез / Библиотека / : / USR / Lib / Hadoop-LZO / Библиотека / :/ USR / доли / AWS / AWS-Java-SDK / : / USR / доли / AWS / ЭМИ / emrfs / конф: / USR / доли / AWS / ЭМИ / emrfs / Библиотека / : / USR /доля / AWS / ОЙ / emrfs / auxlib / : / USR / доли / AWS / ОЙ / DDB / Библиотека / ЭЙ-DDB-hadoop.jar: / USR / доли / AWS / АЯ / лакомство / Библиотека / emr-хаDoop-goodies.jar: /usr/share/aws/emr/kinesis/lib/emr-kinesis-hadoop.jar: / USR / доли / AWS / АЯ / cloudwatch раковина / Библиотека / : / USR / доли/ aws / emr / security / conf: / usr / share / aws / emr / security / lib /
Пожалуйста, укажите в комментарии, если для устранения проблемы требуется какая-либо другая информация.Заранее спасибо!