当前位置: 首页 > 知识库问答 >
问题:

未能找到具有启动缓存的数据存储配置的关联服务器节点

曹鹏海
2023-03-14

未能找到具有启动缓存的数据存储配置的关联服务器节点[Cachename=SQL_PUBLY_JSON_TBL,ALIVESRVNodes=[]]。

我在Ec2机器中的HDP集群设置中运行它,但当我在这里的集群机器中执行相同的操作时,它工作得很好,但在Ec2机器中不是。

提前谢了。

val df = sqlContext.read.json("~/responses")
val s = df.select("response.id","response.name")
s.write.format(IgniteDataFrameSettings.FORMAT_IGNITE).option(IgniteDataFrameSettings.OPTION_CONFIG_FILE, "~/apache-ignite-fabric-2.6.0-bin/examples/config/spark/example-shared-rdd.xml").option(IgniteDataFrameSettings.OPTION_CREATE_TABLE_PRIMARY_KEY_FIELDS,"id").option(IgniteDataFrameSettings.OPTION_TABLE, "json_table").save()

下面是我在单个Ignite服务器上使用的xml配置文件

 <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
            <property name="cacheConfiguration">
                <!-- SharedRDD cache example configuration (Atomic mode). -->
                <bean class="org.apache.ignite.configuration.CacheConfiguration">
                    <!-- Set a cache name. -->
                    <property name="name" value="sharedRDD"/>
                    <!-- Set a cache mode. -->
                    <property name="cacheMode" value="PARTITIONED"/>
                    <!-- Index Integer pairs used in the example. -->
                    <property name="indexedTypes">
                        <list>
                            <value>java.lang.Integer</value>
                            <value>java.lang.Integer</value>
                        </list>
                    </property>
                    <!-- Set atomicity mode. -->
                    <property name="atomicityMode" value="ATOMIC"/>
                    <!-- Configure a number of backups. -->
                    <property name="backups" value="1"/>
                </bean>
            </property>
            <property name="discoverySpi">
                <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                    <property name="ipFinder">
    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
                            <property name="addresses">
                                <list>
                                    <!-- In distributed environment, replace with actual host IP address. -->
                                    <value>127.0.0.1:47500..47509</value>
                                </list>
                            </property>
                        </bean>
                    </property>
                </bean>
            </property>
        </bean>
    </beans> 

这是完整的日志。

18/10/30 12:32:54警告griddiagnostic:初始堆大小为252MB(应不小于512MB,请使用-xms512m-xmx512m)。18/10/30 12:32:54警告TCPCommunicationSPI:消息队列限制设置为0,由于发送方和接收方的消息队列增长,在以FULL_ASYNC或PRIMARY_SYNC模式运行缓存操作时,可能会导致潜在的OOME。18/10/30 12:32:55 WARN noopcheckpointspi:检查点被禁用(以启用配置任何GridCheckpointSpi实现)18/10/30 12:32:55 WARN gridcolliisionManager:冲突解决被禁用(所有作业到达后将被激活)。18/10/30 12:32:57 WARN TCPDiscoverySPI:由于ClassNotFoundException(确保所有节点上可用的所有类的相同版本),无法读取消息[RMTNodeID=3085DFA9-58BA-4AC0-A7F8-F78E2901A699,ERR=O.A.I.I.Processors.Hadoop.HadoopAttributes]18/10/30 12:32:57 WARN IGNITEAuthenticationProcessor:找不到服务器协调器节点。客户机可能以forceservermode=true启动。安全警告:用户身份验证将在客户端被禁用。18/10/30 12:32:58错误clustercachesinfo:未能找到具有启动缓存的数据存储配置的关联服务器节点[cachename=sql_public_json_tbl6,alivesrvnodes=[]]18/10/30 12:32:58警告cacheAffinitySharedManager:没有找到缓存客户端的服务器节点:SQL_PUBLIC_JSON_TBL

共有1个答案

申屠森
2023-03-14

日志包含以下记录:

12:32:57 WARN TcpDiscoverySpi: Failed to read message due to ClassNotFoundException (make sure same versions of all classes are available on all nodes) [rmtNodeId=3085dfa9-58ba-4ac0-a7f8-f78e2901a699, err=o.a.i.i.processors.hadoop.HadoopAttributes] 

它指出,发现消息不能反序列化,因为HadoopAttributes类不在类路径上。它可能会导致连接问题,并影响节点之间的互见能力。

确保所有节点的类路径上都有ignite-hadoop模块,或者消除这种依赖关系。

 类似资料:
  • 我正在使用Spring方法级别的注释@cacheable来缓存我从数据库中获取的数据。我可以在服务器启动时使用上述注释执行缓存吗?我尝试了这个,但它再次从数据库而不是从缓存中获取。

  • 32.6 配置缓存存储 开箱即用,缓存抽象提供了多种存储集成。要使用它们,需要简单地声明一个适当的CacheManager - 一个控制和管理Caches,可用于检索这些存储。 32.6.1 JDK ConcurrentMap-based Cache 基于JDK的Cache实现位于org.springframework.cache.concurrent包下。它允许使用ConcurrentHashM

  • 我试图理解DirectByteBuffer如何在Linux上工作,并编写了以下在strace下运行的非常简单的程序: 实际上,我期望一些mmap或sys\u brk系统调用直接从操作系统分配内存,但实际上它只是设置请求页面的读写保护。我的意思是: 这似乎是分配直接缓冲区比分配堆缓冲区慢的原因,因为每次分配都需要系统调用。 如果我错了,请纠正我,但是堆缓冲区分配(如果发生在TLAB内部)相当于返回一

  • 我想我调用AWS存储网关refreshCache方法的频率太高了(如消息所示),但我不确定我需要等待多长时间,直到我再次点击它,任何帮助都将是感激的。 com.amazonaws.services.StorageGateway.model.InvalidGatewayRequestException:向服务器发送的请求太多。(服务:AwsStorageGateway;状态代码:400;错误代码:I

  • 更新 下面是我用于single Ignite服务器的xml配置文件:

  • 我用gogs创建了我的私人git存储库,并遇到了docker Containter。当我启动配置服务器时,在我的个人文件夹中创建了一个临时文件夹,其名称如下:config-repo-6084055946640576163,它包含了所有的配置文件,所以我确信该存储库是由服务器克隆的,但是,当我通过internet explorer访问它时,我看不到配置,它们是空的。 我切下URLhttp://loc