0

SnappyData v0.5

我的目标是从我的 SnappyData 安装的 /bin 目录启动一个“spark-shell”,并针对我的 SnappyData 存储中的现有表发出 Scala 命令。

我与我的 SnappyData 存储、定位器和潜在客户位于同一主机上(是的,它们都在运行)。

为此,我根据此处的文档运行此命令:

使用 spark-shell 连接到集群

~/snappydata/bin$ spark-shell --master local[*] --conf snappydata.store.locators=10.0.18.66:1527 --conf spark.ui.port=4041

我在尝试为我的商店创建 spark-shell 时收到此错误:

[TRACE 2016/08/12 15:21:55.183 UTC GFXD:error:FabricServiceAPI tid=0x1] 启动服务器时发生 XJ040 错误:java.sql.SQLException(XJ040): 无法启动数据库
ase 'snappydata',请参阅原因了解详情。java.sql.SQLException(XJ040): 启动数据库'snappydata'失败,查看原因。在 com.pivotal.gemfirexd.internal.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:124) 在 com.pivotal.gemfirexd.internal.impl.jdbc.Util.newEmbedSQLException(Util.java:110) 在 com.pivotal .gemfirexd.internal.impl.jdbc.Util.newEmbedSQLException(Util.java:136) 在 com.pivotal.gemfirexd.internal.impl.jdbc.Util.generateCsSQLException(Util.java:245) 在 com.pivotal.gemfirexd.internal .impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:3380) 在 com.pivotal.gemfirexd.internal.impl.jdbc.EmbedConnection.(EmbedConnection.java:450) 在 com.pivotal.gemfirexd.internal.impl.jdbc。嵌入连接 30。

原因:com.gemstone.gemfire.GemFireConfigException:无法联系定位器服务(超时 = 5000 毫秒)。操作超时或定位器不存在。配置的定位器列表是“[dev-snappydata-1(null):1527]”。在 com.gemstone.gemfire.distributed.internal.membership.jgroup.GFJGBasicAdapter.getGemFireConfigException(GFJGBasicAdapter.java:533) 在 com.gemstone.org.jgroups.protocols.TCPGOSSIP.sendGetMembersRequest(TCPGOSSIP.java:212) 在 com.gemstone .org.jgroups.protocols.PingSender.run(PingSender.java:82) 在 java.lang.Thread.run(Thread.java:745)

4

1 回答 1

0

唔!我假设您正在从桌面尝试 Spark-shell 并连接到 AWS 中的集群?不确定这是否会起作用,因为 spark-shell 启动的本地 JVM 将尝试连接到 Snappydata 中的 p2p 集群,这不太可能起作用。

另一方面,Snappy-shell 仅使用 JDBC 客户端进行连接(因此可以工作)。

而且,无论如何,您不能使用定位器客户端端口 (1527)。看这里

您可以尝试使用snappydata.store.locators=10.0.18.66:10334 NOT 1527 作为端口吗?这不太可能会奏效,但值得一试。

也许有一种方法可以打开所有端口并访问 AWS 上的这些节点。但不推荐用于生产。

我很好奇 engg 团队的其他回应。在此之前,您可能必须从网络(AWS 节点)内启动 spark-shell。

于 2016-08-12T21:38:17.867 回答