2016-03-29 18 views
0

Amazon AWS üzerinde çalışan Spark 1.6 var. Ben ana düğümü url geçerek bir SparkContext oluşturmak nerede bu kodu çalıştırmak çalışıyorum ama bağlantı reddedildi hata alıyorum. Benim şu anki kodudur: Bu kodu çalıştırdığınızdaAmazon aws'da bir SparkContext oluşturmak için ana düğüm URL'si için belirtilecek port numarası nasıl bulunur?

import fnmatch 
import os 
import sys 
from os import system 
from sys import argv 
from pyspark import SparkContext 
from pyspark.sql import SQLContext 

def test(master_url): 

    sc = SparkContext(master=master_url, appName='demo') 

    sqlContext = SQLContext(sparkContext=sc) 
    sqlContext.setConf('spark.sql.parquet.binaryAsString','true') 

if __name__ == '__main__': 

    master_url = 'spark://host_ip:7077' 

    test(master_url) 

Ben Size uygun bağlantı sağlamak için yapılandırılmamış altında sunduk AWS güvenlik grubuna benziyor

WARN AppClient$ClientEndpoint: Failed to connect to master host_ip:7077 
java.io.IOException: Failed to connect to /host_ip:7077 

cevap

1

olsun. Bulduğum en kolay yol, tüm bağlantı noktalarının güvenlik grubundaki herhangi bir bilgisayar için açık olmasına izin vermekti. Güvenlik grubundan kaynaklı tüm bağlantı noktalarını açacaksınız. Temel olarak güvenlik grubunuzdaki herhangi bir bilgisayarın aynı güvenlik grubundaki diğer bilgisayarlara erişmesine izin verin. enter image description here

Örneğimde, "launch-wizard-9" adlı bir güvenlik grubu altında başlattım ve aynı grubun tüm trafiğinden FROM'a izin vermek için güvenlik grubuna girdim ve düzenledim.

Grubunuzda erişim sağlamak istemediğiniz bir bilgisayar olmadığı sürece, gitmek için iyi olmanız gerekir ve bu, grubunuzun dışındaki bilgisayarların grubunuzdaki bilgisayarlara erişmesine izin vermez.

Alternatif olarak, aynı alıştırmayı gerçekleştirebilir ve her bağlantı noktasını açabilirsiniz.

Makine arasında erişime izin vermek için güvenlik grubunu ayarlayana kadar aynı hatayı aldım.

port numarasını bulmak için:

ana düğümün port numarası Eğer ana devrenin başladığında aksi belirtilmedikçe varsayılan değerdir. Yapma alışkanlığımla uğraştığım bir şey, ana düğüme giriş yapmak ve bir wget http://127.0.0.1:8080 yapıp sonra her şeyin doğru göründüğünden emin olmak için vi.n veya nano index.html dosyasıdır ve sonra tam ağ referansını ana düğüme kopyalayabilirsiniz. port numarası ile birlikte reklam veriyor.

Bu yardımcı olur umarım.

İlgili konular