Наш блог

Полезная информация для клиентов

Установка s3cmd на машинах AWS EMR (Suse linux)

1 июля - Всё об IT

Довольно часто возникает такая проблема, что машины EMR-кластеров Amazon Web Services не снабжены поддержкой s3cmd по умолчанию. Бывает, что приходится устанавливать s3cmd по нескольку раз на день, на разные кластеры. 

Поэтому составил себе небольшую памятку, откуда зачастую просто выдираю команды копи-пастом.

1. Заходим на основную машину кластера через SSH (ссылка "SSH" есть на странице параметров кластера)

2. Устанавливаем s3cmd - напомню, что в Suse привычный для Ubuntu apt-get не работает. Да и sudo yum install s3cmd изначально тоже работать не будет, сначала надо добавить репозиторий:

cd /etc/yum.repos.d

sudo wget http://s3tools.org/repo/RHEL_6/s3tools.repo

Вот теперь уже можно:

sudo yum install s3cmd

2.1 "Из коробки" это также работать не станет, покуда не добавим файл конфигурации. Мне проще - я копирую содержимое файла с любой другой EC2 машины, где s3cmd уже настроен. Сначала, конечно, надо файл создать:

nano ~/.s3cfg

(либо сначала cd ~, а потом nano .s3cfg)

Если у Вас нет готового файла на другой машине - смотрите здесь, как его создать с нуля.

3. Устанавливаем aws-cli. Это не всегда нужно - например, на кластерах с предустановленными Hadoop и Spark у меня работало и без этого. А на Hadoop / Hive - нет.

sudo yum install aws-cli

3.1 Как и с s3cmd, aws-cli требуют настройки. По сути, там нужны только aws credentials:

mkdir ~/.aws

nano ~/.aws/credentials

Содержимое файла:

[default]

aws_access_key_id=<AWS key ID>

aws_secret_access_key=<Secret Access Key>

Всё, теперь и s3cmd работает, и aws-cli готовы к использованию. Делаем "s3cmd get.." или "s3cmd sync..", радуемся и веселимся. :)

Николай Пасько

Survive, succeed and ascend

(c) Godsmen faction @ Planescape: Torment

Ваш комментарий очень важен для нас