Редактировать:
ОК, у меня есть два экземпляра сервера, один из которых устарел, я попытался использовать последнюю версию minio с этими параметрами:
sc.hadoopConfiguration.set("hadoop.fs.s3a.path.style.access","true")
sc.hadoopConfiguration.set("hadoop.fs.s3a.fast.upload","true")
sc.hadoopConfiguration.set("hadoop.fs.s3a.fast.upload.buffer","bytebuffer")
sc.hadoopConfiguration.set("fs.s3a.path.style.access","true")
sc.hadoopConfiguration.set("fs.s3a.multipart.size","128M")
sc.hadoopConfiguration.set("fs.s3a.fast.upload.active.blocks","4")
sc.hadoopConfiguration.set("fs.s3a.committer.name","partitioned")
Пока я могу писать без проблем.
Однако мой swift-сервер, который немного старше этой конфигурации:
sc.hadoopConfiguration.set("fs.s3a.signing-algorithm","S3SignerType")
, похоже, не поддерживает должным образом partionner.
Относительно "Hadoop S3guard":
В настоящее время невозможно, чтобы Hadoop S3guard, хранящий метаданные файлов S3, был включен в Hadoop.S3guard, тем не менее, полагается на DynamoDB - проприетарную службу Amazon.
Сейчас нет альтернативы, например, файла sqlite или другой системы БД для хранения метаданных.
Так что, если вы используете S3 с minio
или любую другую реализацию S3, вам не хватает DynamoDB.
Эта статья хорошо объясняет , как работает S3guard