SnappyData v0.5
我的目标是开始一个" spark-shell"从我的SnappyData安装&#s; / bin目录中,对我的SnappyData商店中的现有表发出Scala命令。
我和我的SnappyData商店,定位器和主管在同一主机上(是的,它们都在运行)。
为此,我按照此处的文档运行此命令:
Connecting to a Cluster with 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:错误: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) at 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.EmbedConnection30。(EmbedConnection30.java:94) 在com.pivotal.gemfirexd.internal.impl.jdbc.EmbedConnection40。(EmbedConnection40.java:75) 在com.pivotal.gemfirexd.internal.jdbc.Driver40.getNewEmbedConnection(Driver40.java:95) 在com.pivotal.gemfirexd.internal.jdbc.InternalDriver.connect(InternalDriver.java:351) 在com.pivotal.gemfirexd.internal.jdbc.InternalDriver.connect(InternalDriver.java:219) 在com.pivotal.gemfirexd.internal.jdbc.InternalDriver.connect(InternalDriver.java:195) 在com.pivotal.gemfirexd.internal.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:141) 在com.pivotal.gemfirexd.internal.engine.fabricservice.FabricServiceImpl.startImpl(FabricServiceImpl.java:290) 在com.pivotal.gemfirexd.internal.engine.fabricservice.FabricServerImpl.start(FabricServerImpl.java:60) at io.snappydata.impl.ServerImpl.start(ServerImpl.scala:32)引起:com.gemstone.gemfire.GemFireConfigException:无法 联系定位器服务(超时= 5000毫秒)。操作要么超时 或定位器不存在。配置列表 定位器是" [dev-snappydata-1(null):1527]"。 at 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)
答案 0 :(得分:0)
嗯!我假设您正在从桌面尝试Spark-shell并连接到AWS中的集群? 不确定这是否会起作用,因为spark-shell启动的本地JVM将尝试连接到Snappydata中的p2p集群,这可能不起作用。
另一方面,Snappy-shell仅使用JDBC客户端进行连接(因此可以工作)。
而且,无论如何,您无法使用定位器客户端端口(1527)。见here
您可以尝试使用snappydata.store.locators=10.0.18.66:10334
NOT 1527作为端口吗?不太可能这会起作用,但值得一试。
也许有一种方法可以在AWS上打开所有端口并访问这些节点。但不建议用于生产。
我对engg团队的其他回复感到好奇。 在此之前,您可能必须从网络(AWS节点)中启动spark-shell。