2015-09-14 7 views
5

spark-ec2スクリプトによるaws ec2クラスタセットアップがあります。Zeppelinを使用してaws spark-ec2クラスタおよびs3バケットにアクセスする方法

私はZeppelinをローカルでZeppelinに書き込んで(マスタ経由で)クラスタ上で実行できるようにZeppelinを設定したいと思います。さらに私はs3バケットにアクセスできるようにしたいと考えています。

私はthis guidethis other oneに従っていますが、私はzeppelinから自分のクラスタにスカラコードを実行できないようです。私は

mvn install -DskipTests -Dspark.version=1.4.1 -Dhadoop.version=2.7.1 

でローカルにツェッペリンをインストール

私のセキュリティグループは、AmazonEC2FullAccessとAmazonS3FullAccessの両方に設定しました。

Iは、スパークにツェッペリンのWebappに火花インタプリタプロパティを編集:ローカル[*]

  1. 場合Iから7077 ://.us-west-2.compute.amazonaws.comインタプリタで

    sc 
    

    を試し、私は

    java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:182) at 
    
  2. このエラーを受け取ります3210
  3. "conf/zeppelin-site.xml"を編集してポートを8082に変更しようとすると、違いはありません。

注:私は最終的にもようなもので、私のS3バケットにアクセスしたいと思う:すべての善意のユーザーが任意のアドバイスを(それはすでにStackOverflowの上で掲載されていなかった)がある場合

sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "xxx") 
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey","xxx") 
val file = "s3n://<<bucket>>/<<file>>" 
val data = sc.textFile(file) 
data.first 

ください。お知らせ下さい!

答えて

2

ほとんどの場合、あなたのIPアドレスはあなたのスパーククラスターに接続できません。そのエンドポイントを指し示すスパークシェルを起動することで(または単にtelnetで)試すことができます。これを修正するには、AWSアカウントにログインしてファイアウォール設定を変更します。また、正しいホストに指されていない可能性もあります(特定のボックスをspark://.us-west-2.compute.amazonaws.com:7077から削除したと仮定していますが、そうでない場合は.us-west-2のビットが必要です)。あなたはそのマシンにssh'ingし、netstat --tcp -l -nを実行してリッスンするかどうかを調べることができます(またはps aux | grep javaでSparkが実行中かどうかを確認することもできます)。

+1

あなたは正しいです! EC2セキュリティグループでポートを開くだけでした。ありがとうございました! – liber

+0

偉大な、喜んで:) – Holden

関連する問題