R segue createCluster () проблема - PullRequest
3 голосов
/ 17 ноября 2011

Я пытаюсь создать кластер на EC2. У меня есть настройки учетной записи и подтверждены с помощью AWS. Я успешно загрузил и установил пакет segue и связанные с ним пакеты и установил свои учетные данные AWS. Моя проблема начинается, когда я пытаюсь создать кластер, и я получаю следующее:

> library(segue)
Loading required package: rJava
Loading required package: caTools
Loading required package: bitops
Segue did not find your AWS credentials. Please run the setCredentials() function.
> setCredentials('', '') #keys hidden

> myCluster <- createCluster(numInstances=5)
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  com.amazonaws.AmazonClientException: Can't turn bucket name into a URI: Illegal character in authority at index 8: https://c:\users\backup~1\appdata\local\temp\rtmp4u0n8yqaaoducils-segue.s3.amazonaws.com

Есть идеи?

1 Ответ

6 голосов
/ 18 ноября 2011

acesnap, я являюсь автором Segue и могу с уверенностью сказать, что проблема, с которой вы сталкиваетесь, заключается в том, что пакет Segue не был реализован для работы на платформе Windows. Я подозреваю, что проблема в том, что Windows делает забавные вещи с путями файлов, временными файлами и тому подобным. На стороне сервера пакета Segue всегда используется сервис Amazon Elastic Map Reduce, который работает под управлением Linux, но временные файлы создаются на клиентском компьютере, поэтому Segue должен хорошо общаться с локальной операционной системой.

Есть несколько обходных путей, о которых я могу подумать:

  1. Установите Virtual Box на локальном компьютере и установите Ubuntu и R.

  2. Настройте машину EC2 и установите R и Segue, а затем используйте эту машину для запуска заданий Segue.

  3. Купите Mac или установите Linux на настольном компьютере (я думаю, это довольно очевидно)

Несмотря на то, что мои настольные компьютеры - Mac и Linux, я часто использую № 2 выше. Я делаю это потому, что это ускоряет связь между машиной, на которой работает Segue, и внутренним кластером. Это также снижает вероятность того, что основной компьютер Segue потеряет связь с бэкэндом EMR. Это ценно, потому что, если во время выполнения задания потеряна связь между Segue и облаком amazon, то задание будет выполняться в облачном кластере, но не сможет вернуть результаты на основной компьютер Segue (компьютер, с которого вы отправляете задания).

...