我有一个通过spark-ec2脚本设置的AWS EC2集群。

我想配置Zeppelin,以便可以在Zeppelin上本地编写Scala代码并在群集上运行它(通过主服务器)。此外,我希望能够访问我的s3存储桶。

我遵循了this guidethis other one,但是似乎无法从Zeppelin到集群运行scala代码。

我在本地安装Zeppelin

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


我的安全组设置为AmazonEC2FullAccess和AmazonS3FullAccess。

我在Zeppelin Web应用程序上将spark解释器属性编辑为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上发布),请告诉我!

最佳答案

您的IP地址很可能被阻止连接到您的Spark集群。您可以尝试通过启动指向该端点的spark-shell来尝试(甚至只是远程登录)。要对其进行修复,您可以登录到您的AWS账户并更改防火墙设置。也有可能它没有指向正确的主机(我假设您从spark://.us-west-2.compute.amazonaws.com:7077中删除​​了特定的框,但如果没有,则.us-west-2应该有一点)。您可以尝试ssh'ing到该计算机并运行netstat --tcp -l -n来查看其是否在监听(或者甚至只是ps aux | grep java来查看Spark是否正在运行)。

08-16 06:26