Используя s3 в качестве fs.default.name или HDFS? - PullRequest
1 голос
/ 08 июня 2011

Я настраиваю кластер Hadoop на EC2, и мне интересно, как сделать DFS. Все мои данные в настоящее время находятся в s3, и все приложения карты / сокращения используют пути к файлам s3 для доступа к данным. Теперь я посмотрел, как настраивается Amazons EMR, и кажется, что для каждого рабочего процесса настраиваются namenode и datanodes. Теперь мне интересно, действительно ли мне нужно сделать это таким образом или я мог бы просто использовать s3 (n) в качестве DFS? При этом есть ли недостатки?

Спасибо!

Ответы [ 4 ]

5 голосов
/ 26 августа 2011

, чтобы использовать S3 вместо HDFS, fs.name.default в core-site.xml должен указывать на ваш контейнер:

<property>
        <name>fs.default.name</name>
        <value>s3n://your-bucket-name</value>
</property>

Рекомендуется использовать S3N, а НЕ простую реализацию S3,потому что S3N читается любым другим приложением и вами самим:)

Кроме того, в том же файле core-site.xml необходимо указать следующие свойства:

  • fs.s3n.awsAccessKeyId
  • fs.s3n.awsSecretAccessKey

fs.s3n.awsSecretAccessKey

1 голос
/ 08 ноября 2016

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/core-default.xml

fs.default.name устарело, и, возможно, fs.defaultFS лучше.

1 голос
/ 15 июня 2011

Любые промежуточные данные вашей работы отправляются в HDFS, так что да, вам все еще нужен наменод и датододы

0 голосов
/ 03 августа 2016

Мне удалось заставить работать интеграцию s3 с помощью

<property>
        <name>fs.default.name</name>
        <value>s3n://your-bucket-name</value>
</property> 

в файле core-site.xml и получите список файлов, получаемых с помощью hdfs ls command.but также должен иметь конфигурацию namenode и отдельного datanode, так как coz все еще не был уверен, как данные разбиваются на узлы данных.

у нас должно быть локальное хранилище для namenode и datanode?

...