2016-07-04 74 views
1

我在Amazon EMR上運行其公有DNS的Spark,例如23.21.40.15Apache Spark通過跨羣集訪問hdfs中的數據

現在我在這個羣集上執行我的Spark Jar &我想將我的Spark Job的輸出寫入其公有DNS爲29.45.56.72的其他Amazon EMR HDFS。

我能夠訪問我自己的羣集HDFS,即23.21.40.15,但我無法寫入羣集29.45.56.72

  • 我需要做什麼才能讓我的火花作業可以訪問跨羣集 HDFS?
  • 如果可能的話,任何人都可以共享此示例代碼?
+0

您可以在第一個羣集上寫出來,然後使用distCp將輸出移動到第二個羣集? –

+0

這是一種間接的方式,我想......但如果我的目的地是第二個集羣?我的意思是如果我想將它寫入第一個集羣的第二個集羣的hdfs? – Akki

回答

1

當你在火花的工作設置輸出目錄,你可以設置憑據訪問這樣的:

hdfs://username:[email protected]:port/pathToFolder 

PD:你不應該寫羣集的IP地址在公衆質疑;)

+1

我爲樣本寫了IP ...他們不是真正的IP ...任何替代方式,而不是指定用戶名和密碼?如果有2個亞馬遜EMR集羣參與,我該怎麼做? – Akki

+0

如果它們都是EMR集羣,那麼您可能能夠設置IAM角色以允許它們之間的EMR訪問,儘管在理論上它似乎已經被允許,但您可能還需要公開端口以供安全組使用來訪問這兩位主人的。 – Kristian

+0

明白了......我在N.California創建了我的第二個羣集,而我的第一個羣集在N.Virginia中......現在我可以訪問hdfs了......有什麼方法可以訪問2個EMR羣集,區域,即1個羣集在N.Virginia&其他在N.California? – Akki