2011-11-17 50 views
3

我試圖在EC2上創建一個集羣。我有一個帳戶設置和AWS驗證。我已成功下載並安裝segue軟件包和相關軟件包並設置了我的AWS憑證。我嘗試創建羣集時遇到問題,並且出現以下錯誤:R segue createCluster()問題

> 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 

任何想法?

+0

你在運行什麼操作系統?截至目前,我不認爲塞古可以用於窗戶。 – Chase

+0

我正在運行windows 7.這會影響本地機器還是集羣?換句話說,我可以在本地Windows機器上運行R,並在EC2上使用Linux實例嗎? – screechOwl

+0

@JD Long可以肯定地告訴我們,但是當他向我提及時,我認爲他是指由於PATH問題而導致本地計算機無法在Windows上工作......這看起來可能是上面發生的事情。 – Chase

回答

6

acesnap,我是Segue的作者,我可以自信地說,你遇到的問題是Segue包尚未實現在Windows平臺上運行。我懷疑問題在於Windows使用文件路徑,臨時文件等做些有趣的事情。 Segue包的服務器端始終是運行Linux的Amazon Elastic Map Reduce服務,但臨時文件建立在客戶端機器上,因此Segue必須與本地操作系統進行良好的溝通。

有幾種變通辦法,我能想到的:

  1. 設置虛擬盒在本地計算機上,並獲得Ubuntu和安裝R上。

  2. 設置EC2機器並安裝R和Segue,然後使用該機器來啓動Segue作業。

  3. 購買Mac或臺式機上安裝Linux(還挺明顯的,我猜)

即使我的臺式機Mac和Linux,我用#2上面頻繁。我這樣做是因爲它加快了運行Segue的機器和後端羣集之間的通信。它還降低了Segue主機失去與EMR後端連接的可能性。這很有價值,因爲如果Segue和亞馬遜雲之間的通信在工作運行時失去了,那麼這個工作將在雲集羣上運行,但無法將結果返回給Segue主機(您提交作業的機器)。

+0

從什麼時候開始'segue'大寫? :) – Iterator

+0

順便說一句,可以通過使用像'screen'這樣的程序或像'byobu'這樣的增強來改進#2,以確保終端窗口(如果這是您使用R的方式)不會丟失。 – Iterator

+0

我更喜歡使用RStudio連接到EC2上的R實例。同樣的想法。 –