Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
org.apache.ignite:无法连接到群集,连接失败,重新连接失败_Ignite - Fatal编程技术网

org.apache.ignite:无法连接到群集,连接失败,重新连接失败

org.apache.ignite:无法连接到群集,连接失败,重新连接失败,ignite,Ignite,我正在使用spark集成ignite查询数据。程序在以下错误发生前不久不会启动。我检查ignite的状态,服务节点存在 import org.apache.ignite.spark_ 导入org.apache.ignite.configuration_ 导入org.apache.ignite.ignite 导入org.apache.ignite.IgniteCache 导入org.apache.ignite.Ignition 导入org.apache.ignite.scalar.scalar

我正在使用spark集成ignite查询数据。程序在以下错误发生前不久不会启动。我检查ignite的状态,服务节点存在

import org.apache.ignite.spark_
导入org.apache.ignite.configuration_
导入org.apache.ignite.ignite
导入org.apache.ignite.IgniteCache
导入org.apache.ignite.Ignition
导入org.apache.ignite.scalar.scalar
导入org.apache.ignite.scalar.scalar_
//val ic=新的IgniteContext(sc,()=>新的IgniteConfiguration())
val ic=new-IgniteContext(sc,“/data/dk/jar/config/default-config.xml”)
val recordCache=ic.ignite.cache[String,AttendRecord](“attent_RECORD_TL”)
var retSet:scala.collection.mutable.Buffer[java.sql.Timestamp]=null
如果(OperateMestite!=null){
retSet=recordCache.sql(“punchSiteId=?和operateTime=?按operateTime desc limit 1排序”,punchSiteId,computetTime,operateTime).getAll.map(u.getValue.operateTime)
}否则{
retSet=recordCache.sql(“punchSiteId=?和operateTime=?order by operateTime limit 1”,punchSiteId,新的时间戳(operateTimeSite.getTime-4*3600*1000)).getAll.map(u.getValue.operateTime)
否则无效

}
您可以在独立模式下为Spark使用Ignite integration。这意味着,客户端Ignite节点将在内部启动。它将查找其他节点,并连接到它们。因此,您需要Ignite cluster单独运行并由IP提供,这是您在其IP finder中的
IgniteContext
配置中指定的

IP查找器应包含服务器节点的地址。因此,不需要指定内部具有客户端节点的其他Spark执行器的地址

“连接到群集失败、连接失败和重新连接失败”错误意味着客户端节点无法通过指定的IP找到任何服务器节点

当启动服务器Ignite节点而不是客户端时,还有一种嵌入式模式,可以替代单机模式。这可以通过使用另一个
IgniteContext
的构造函数来启用:

val ic=new-IgniteContext(sc,“/data/dk/jar/config/default-config.xml”,false)
但是,这种模式的使用是非常不鼓励的,它将很快被删除。因此,我建议单独运行Ignite群集

有关更多信息,请参阅以下文档页面:

p.S.


您使用一个IP查找器,它使Ignite扫描配置的多播组中的所有IP地址。如果您知道服务器节点的所有IP地址,则可以使用。它可以让Ignite实例更快地启动。

您能提供配置XML文件的内容吗?172.17.112.139:47500..47510172.17.112.140:47500..47510172.17.112.141:47500..47510172.17.112.142:47500..47510非常感谢,我测试了它,没有报告错误。val ic=new IgniteContext(sc,“/data/dk/jar/config/default config.xml”,false)@正如我已经提到的,强烈建议不要使用嵌入式模式,因为Spark执行器将存储数据,这将导致过度的再平衡和可能的数据丢失。我建议您单独启动Ignite群集。我使用以下配置:val ic=new IgniteContext(sc,“/data/dk/jar/config/default config.xml”),创建一个Ignite客户端,出现原因:class org.apache.Ignite.internal.NodeStoppingException:操作已取消(节点正在停止)。我使用此方法:TcpDiscoveryVmIpFinder,它指定了igniteI的服务节点,我正在齐柏林飞艇中运行spark程序。