Команда Hadoop distcp с использованием другого места назначения S3

Я использую частное облако Eucalyptus, в котором я установил CDH5 HDFS. Я хотел бы сделать резервную копию моей HDFS на Eucalyptus S3. Классический способ использования distcp, предложенный здесь: http://wiki.apache.org/hadoop/AmazonS3, т.е. hadoop distp hdfs://namenode:9000/user/foo/data/fil1 s3://$AWS_ACCESS_KEY:$AWS_SECRET_KEY@bucket/key не работает.

Кажется, что в hadoop предварительно настроено местоположение S3 на Amazon, и я не могу найти, где находится эта конфигурация, чтобы изменить ее на IP-адрес моей службы S3, работающей на Eucalyptus. Я ожидал, что смогу просто изменить uri S3 так же, как вы можете изменить свой uri NameNode при использовании префикса hdfs: //. Но кажется, что это невозможно ... Есть идеи?

Я уже нашел обходные пути для передачи моих данных. В частности, инструменты s3cmd здесь: https://github.com/eucalyptus/eucalyptus/wiki/HowTo-use-s3cmd-with-Eucalyptus и скрипты s3curl здесь: aws.amazon.com/developertools/Amazon-S3/2880343845151917 работают нормально, но я бы предпочел, если бы я мог передать свои данные с помощью map-reduce с помощью команды distcp.


person Geeky    schedule 10.10.2014    source источник


Ответы (1)


Похоже, что hadoop использует библиотеку jets3t для доступа к S3. Возможно, вы сможете использовать конфигурацию, описанную в этом блоге для доступа к эвкалипту, но обратите внимание, что для версии 4 и новее путь будет "/ services / objectstorage", а не "/ services / Walrus".

person sjones4    schedule 15.10.2014
comment
Спасибо за Ваш ответ. Мне не удалось заставить его работать полностью, но ваш ответ помог мне продвинуться немного дальше. Кажется, что в моем случае distcp работает с s3n: //, но не с s3: //. В последнем случае я получаю ошибку 404. Указанная сущность не найдена, и я пока не знаю, как ее решить. Я добавил конфигурацию в core-site.xml и создал файл jets3t.properties, как указано в вашей ссылке и некоторых других связанных ссылках, которые я нашел для jets3t. - person Geeky; 20.10.2014