Не удалось найти узел сервера сходства с конфигурацией хранения данных для запуска кэша - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь сохранить таблицу памяти Spark в Ignite. Когда я пытаюсь это сделать, я получаю сообщение об ошибке:

Не удалось найти узел сервера сходства с конфигурацией хранения данных для запуска кэша [cacheName = SQL_PUBLIC_JSON_TBL, aliveSrvNodes = []].

Я запускаю его в настройке кластера HDP на машине Ec2, но когда я делаю то же самое на машине кластера, он работает отлично, но не на машине EC2.

Заранее спасибо.

UPDATE:

Я использую оболочку Spark. Вот код.

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()

Вот файл конфигурации xml, который я использую для своего единственного сервера Ignite:

 <?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 WARN GridDiagnostic: начальный размер кучи составляет 252 МБ (должно быть не менее 512 МБ, используйте -Xms512m -Xmx512m). 18/10/30 12:32:54 WARN TcpCommunicationSpi: Предел очереди сообщений установлен в 0, что может привести к потенциальным OOME при выполнении операций кэширования в режимах FULL_ASYNC или PRIMARY_SYNC из-за роста очередей сообщений на стороне отправителя и получателя. 18/10/30 12:32:55 ПРЕДУПРЕЖДЕНИЕ NoopCheckpointSpi: контрольные точки отключены (для включения настройки любой реализации GridCheckpointSpi) 18/10/30 12:32:55 WARN GridCollisionManager: разрешение столкновений отключено (все задания будут активированы по прибытии). 18/10/30 12:32:57 WARN TcpDiscoverySpi: Не удалось прочитать сообщение из-за ClassNotFoundException (убедитесь, что одинаковые версии всех классов доступны на всех узлах) [rmtNodeId = 3085dfa9-58ba-4ac0-a7f8-f78e2901a699, err = oaii 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 WARN CacheAffinitySharedManager: Не найдены узлы сервера для клиента кэширования: SQL_PUBLIC_JSON_TBL

1 Ответ

0 голосов
/ 30 октября 2018

Журнал содержит следующую запись:

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 на своем пути к классам, или избавьтесь от этой зависимости.

...