Vora 无法连接到领事代理

Vora Could not connect to Consul Agent

我已经在基于 HDP2.3 的 SLES 11 SP3 上安装了 Vora 1.2。

当我尝试根据新安装和管理手册的第 2.7 节(第 34 页)对 Vora 进行基于命令行的验证时,我现在收到一个新错误:

scala> vc.sql(testsql)

com.sap.spark.vora.discovery.DiscoveryException: Could not connect to Consul Agent on localhost:8500 : null        at
 com.sap.spark.vora.discovery.ConsulDiscoveryClient$ConsulDiscoveryClient.(ConsulDiscoveryClient.scala:38)        at 
com.sap.spark.vora.discovery.ConsulDiscoveryClient$.getClient(ConsulDiscoveryClient.scala:21)        at 
com.sap.spark.vora.discovery.DiscoveryClientFactory$.getClient(DiscoveryClientFactory.scala:9)        at 
com.sap.spark.vora.config.VoraConfiguration$.apply(VoraConfiguration.scala:24)        at 
com.sap.spark.vora.DefaultSource.buildConfiguration(DefaultSource.scala:403)        at 
com.sap.spark.vora.DefaultSource.createRelation(DefaultSource.scala:149)        at org.apache.spark.sql.execution.datasources.CreateTableUsingTemporaryAwareCommand.resolveDataSource(CreateTableUsingTemporaryAwareCommand.scala:73)        at org.apache.spark.sql.execution.datasources.CreateTableUsingTemporaryAwareCommand.run(CreateTableUsingTemporaryAwareCommand.scala:31)        at org.apache.spark.sql.execution.ExecutedCommand.sideEffectResult$lzycompute(commands.scala:57)        at org.apache.spark.sql.execution.ExecutedCommand.sideEffectResult(commands.scala:57)        at org.apache.spark.sql.execution.ExecutedCommand.doExecute(commands.scala:69)        at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute.apply(SparkPlan.scala:140)        at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute.apply(SparkPlan.scala:138)        at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:147)        at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:138)        at org.apache.spark.sql.SQLContext$QueryExecution.toRdd$lzycompute(SQLContext.scala:933)        at org.apache.spark.sql.SQLContext$QueryExecution.toRdd(SQLContext.scala:933)        at org.apache.spark.sql.DataFrame.(DataFrame.scala:144)        at org.apache.spark.sql.DataFrame.(DataFrame.scala:129)        at org.apache.spark.sql.DataFrame$.apply(DataFrame.scala:51)        at org.apache.spark.sql.SQLContext.sql(SQLContext.scala:725)

我在 Zeppelin 中遇到同样的错误。我的服务器上缺少那个 Consul 东西吗?

正如 Vora Troubleshooting Wiki 的评论部分所指出的:

Vora 发现服务使用 Consul(来自 HashiCorp)来注册服务。每个服务器都需要有一个 Consul 服务器或 Consul 代理(互斥,因为服务器和代理都在端口 8500 上侦听;至少需要 3 个 Consul 服务器——非服务器主机应该有一个客户端)。您的错误消息表明主机没有 Consul 服务器或代理 运行.

Vora1.2 与 Vora1.1 相比具有不同的体系结构,具有许多新服务。请参阅What's New in Vora 1.2 and the Vora Installation and Administration Guide。 Vora Discovery Service (=Consul) 是需要安装的新组件之一。

至少需要 3 台机器,因为我们需要至少 3 台 Vora 发现服务器。每个服务器也充当客户端,因此带有代理的附加主机是可选的(但如果存在附加主机,则它们需要具有发现代理 运行)。