2015-09-28 2 views
0

У меня есть кластер gemfire с версией 8.1.0, работающий с двумя серверами и локатором. Использование приложения Pulse UI Я вижу, что кластер запущен и работает.Pivotal Gemfire NoAvailableLocatorsException

Из моего ноутбука я могу выполнить ping ip-адрес блока unix RHEL, в котором работает кластер.

Кроме того, я смог успешно подключиться к кластеру с помощью команды gfsh из моего ноутбука:

gfsh> подключить --locator = локатор-ф [15101] `

Но я пытаюсь подключиться в кластере с клиентом яровой приложения (с помощью пружины gemfire данных 1.5.0.RELEASE) работает в моем ноутбуке, используя под яровой кэш gemfire данных XML:

XML-кэша клиента, как показано ниже:

<gfe:pool id="gemfire-pool" subscription-enabled="true" > 
     <gfe:locator host="locator-ip" port="locator-port"/> 
</gfe:pool> 

Но я получаю ниже исключение:

com.gemstone.gemfire.cache.client.NoAvailableLocatorsException: Unable to connect to any locators in the list [locator-host:15101, locator-ip/locator-ip:15101] 
    at com.gemstone.gemfire.cache.client.internal.AutoConnectionSourceImpl.findServer(AutoConnectionSourceImpl.java:136) 
    at com.gemstone.gemfire.cache.client.internal.ConnectionFactoryImpl.createClientToServerConnection(ConnectionFactoryImpl.java:206) 
    at com.gemstone.gemfire.cache.client.internal.pooling.ConnectionManagerImpl.borrowConnection(ConnectionManagerImpl.java:214) 

вопрос всего напоминает была размещена

Gemfire client server topology throws NoAvailableLocatorsException

Но выше ошибка в другом методе в классе ConnectionManagerImpl.

EDIT: XML-кэш имеет под декларацией клиента кэша:

<util:properties id="gemfire-props"> 
     <prop key="log-level">error</prop> 
</util:properties> 

<gfe:client-cache id="gemfireCache" pool-name="gemfire-pool" properties-ref="gemfire-props"> 

<gfe:client-region id="skuInfoRegionBean" pool-name="gemfire-pool" 
     name="SKU_INFO" shortcut="CACHING_PROXY"> 
</gfe:client-region> 

ответ

0

Это был сетевой вопрос. Он работает, когда я пытаюсь работать, но не работает из дома через vpn.

0

Какая версия Spring Data GemFire ​​ и GemFire ​​ вы работаете? Кроме того, если вы можете поделиться своей конфигурацией Spring, настроив GemFire ​​ClientCache (& пул), подключившись к вашему клану с сервером RHEL, это было бы полезно.

Насколько я понимаю, ваш кластер работает на «удаленных» машинах RHEL UNIX, и ваш клиент работает с вашего ноутбука, правильно?

Основываясь на своем синтаксисе команды Gfsh connect, ваш Spring конфигурации нужно будет выглядеть примерно так ...

<gfe:pool ...> 
    <gfe:locator host="locator-ip" port="15101"/> 
</gfe:pool> 

<gfe:client-cache/> 

... 

NoAvailableLocatorsException сообщение кажется своеобразным ... "Невозможно подключиться к любому локаторы в списке [локатор-хост: 15101, locator-ip/locator-ip: 15101] "и не совсем правильно.

+0

Ну, вы переименовали пул пула, так что вы указали Пул на отдельном клиенте Регионы ... . Обратите внимание: строго не нужно явно указывать ClientCache (по умолчанию это «gemfireCache») или пул Pool (по умолчанию «DEFAULT»), если вы не настроили более 1 пула. –

+0

Да, я знаю об этом ... Я отредактировал вопрос, чтобы добавить более подробно –

+0

Правильно, но сообщение NoAvailableLocatorsException немного вводит в заблуждение. То естьсообщение «Исключение» вызывает 2 отдельных локатора «[локатор-хост: 15101, locator-ip/locator-ip: 15101]», прослушивающий один и тот же порт, но по-видимому разные «хосты» (например, «локатор-хост» и «локатор» -ip "). (Боковое замечание: я предполагаю, что вы заменили псевдонимы для фактических имен/IP-адресов, здесь). Тем не менее, ваша конфигурация Spring (Pool bean) только объявляет 1 локатор () ... локатор работает на «locator-ip», прослушивая 15101. –

Смежные вопросы