无法使用spark-shell命令

时间:2016-08-12 15:38:36

标签: snappydata

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)

1 个答案:

答案 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。