spark-ec2 スクリプトによる aws ec2 クラスターのセットアップがあります。
Zeppelin でローカルに scala コードを記述し、クラスターで (マスター経由で) 実行できるように、Zeppelin を構成したいと考えています。さらに、s3 バケットにアクセスできるようにしたいと考えています。
このガイドとこの別のガイドに従いましたが、zeppelin からクラスターに scala コードを実行できないようです。
Zeppelinをローカルにインストールしました
mvn install -DskipTests -Dspark.version=1.4.1 -Dhadoop.version=2.7.1
私のセキュリティ グループは、AmazonEC2FullAccess と AmazonS3FullAccess の両方に設定されていました。
Zeppelin Webapp の spark インタープリターのプロパティを local[*] からspark://.us-west-2.compute.amazonaws.com:7077に編集しました。
私がテストするとき
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
「conf/zeppelin-site.xml」を編集してポートを 8082 に変更しようとしても、違いはありません。
注:最終的には、次のような方法で s3 バケットにもアクセスしたいと考えています。
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
親切なユーザーからのアドバイス (StackOverflow にまだ投稿されていないもの) がある場合は、お知らせください。