Подтвердить что ты не робот

Разница между Amazon S3 и S3n в Hadoop

Когда я подключил свой кластер Hadoop к хранилищу Amazon и загрузил файл в HDFS, я обнаружил, что s3://не работает, но ищет некоторую помощь в Интернете. Я нашел, что могу использовать S3n, поэтому, когда я использовал S3n, он работал. Я не понимаю различия между использованием S3 или s3n с моим кластером hadoop, может кто-нибудь объяснить?

4b9b3361

Ответ 1

Я думаю, что основная проблема связана с наличием S3 и S3N двух отдельных точек соединения для Hadoop. S3n://означает "Обычный файл, читаемый из внешнего мира, на этом S3-url". S3://относится к файловой системе HDFS, отображаемой в ведро S3, которое находится на кластере хранения AWS. Поэтому, когда вы использовали файл из хранилища Amazon, вы должны использовать S3N и почему ваша проблема решена. Также добавлена ​​информация, добавленная @Steffen.

Ответ 2

Две файловые системы для использования Amazon S3 задокументированы в соответствующем Hadoop wiki-страница, адресованная Amazon S3:

  • S3 Native FileSystem (схема URI: s3n)
    Собственная файловая система для чтения и записи обычных файлов на S3. Преимущество этого файловая система - это доступ к файлам на S3, которые были написаны с помощью другие инструменты. И наоборот, другие инструменты могут обращаться к файлам, написанным с использованием Hadoop. Недостатком является ограничение 5 ГБ на размер файла, налагаемый S3. По этой причине он не подходит для замены HDFS (который имеет поддержку очень больших файлов).

  • S3 Block FileSystem (схема URI: s3)
    Файловая система на основе блоков, поддерживаемая S3. Файлы хранятся в виде блоков, как и они находятся в HDFS. Это позволяет эффективно выполнять переименование. Эта файловой системе требуется выделить ведро для файловой системы - вы не следует использовать существующее ведро, содержащее файлы, или писать другие файлы в одно и то же ведро. Файлы, хранящиеся в этой файловой системе, могут быть более 5 ГБ, но они не совместимы с другими инструментами S3.

Существует два способа использования S3 с Hadoop Map/Reduce, либо в качестве замены HDFS с использованием файловой системы блока S3 (т. используя его как надежную распределенную файловую систему с поддержкой очень большие файлы) или как удобный репозиторий для ввода данных и вывод из MapReduce, используя файловую систему S3. Во втором случае HDFS все еще используется для фазы Map/Reduce. [...]

[акцент мой]

Таким образом, разница в основном связана с тем, как обрабатывается ограничение 5 ГБ (который является самым большим объектом, который может быть загружен в одном PUT, хотя объекты могут иметь размер от 1 до 5 терабайт, см. Сколько данных я могу хранить?): при использовании S3 Block FileSystem (схема URI: s3) позволяет исправить ограничение в 5 ГБ и хранить файлы до 5 ТБ, это заменяет HDFS по очереди.

Ответ 3

Вот объяснение: https://notes.mindprince.in/2014/08/01/difference-between-s3-block-and-s3-native-filesystem-on-hadoop.html

В Hadoop 0.10.0 (HADOOP-574) была введена первая файловая система Hadoop с поддержкой S3. Он назывался файловой системой блока S3, и ему была назначена схема URI s3://. В этой реализации файлы хранятся в виде блоков, как и в HDFS. Файлы, хранящиеся в этой файловой системе, не совместимы с другими инструментами S3 - это означает, что , если вы перейдете на консоль AWS и попытаетесь найти файлы, написанные этой файловой системой, вы их не найдете, вместо этого вы найти файлы с именами вроде block_-1212312341234512345 и т.д.

Чтобы преодолеть эти ограничения, в Hadoop 0.18.0 (HADOOP-930) была введена другая файловая система с поддержкой S3. Он назывался родной файловой системой S3 и ему была назначена схема URI s3n://. Эта файловая система позволяет вам обращаться к файлам на S3, которые были написаны с помощью других инструментов... Когда эта файловая система была представлена, S3 имел ограничение на размер файла 5 ГБ и, следовательно, эта файловая система могла работать только с файлами размером менее 5 ГБ. В конце 2010 года Amazon... увеличил размер файла с 5 ГБ до 5 ТБ...

Использование файловой системы блока S3 больше не рекомендуется. Различные поставщики Hadoop-as-a-service, такие как Qubole и Amazon EMR, дошли до сопоставления как s3://, так и s3n://URI для собственной файловой системы S3 для обеспечения этого.

Поэтому всегда используйте собственную файловую систему. Ограничения 5Gb больше нет. Иногда вам может потребоваться ввести s3:// вместо s3n://, но просто убедитесь, что все созданные вами файлы видны в проводнике в браузере.

Также см. http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-plan-file-systems.html.

Ранее Amazon EMR использовала S3 Native FileSystem с URI-схемой s3n. Хотя это все еще работает, мы рекомендуем использовать схему URI s3 для обеспечения максимальной производительности, безопасности и надежности.

В нем также говорится, что вы можете использовать s3bfs:// для доступа к старой файловой системе блока, ранее известной как s3://.