Problema

La specificazione di localizzatori TCP aggiuntivi utilizzando l'argomento JVM "-Dlocators" non comporta il riconoscimento reciproco dei localizzatori TCP.

Ad esempio, se si avviano i localizzatori TCP utilizzando la seguente riga nel file "startlocator.bat":

java -cp .\gemfire.jar com.gemstone.gemfire.internal.SystemAdmin start-locator -port=%port% -address=%bindaddr% -Djava.io.tmpdir=%TEMPDIR% -Dgemfire.log-file=GFLocator.log -Dgemfire.license-type=production -Dgemfire.license-file=gemfireLicense.zip -Dlocator=10.131.96.64[22345],10.131.96.217[22345]

Allora il "GFLocator.log" continuerà a mostrare un solo nodo e a indicare l'assenza di altri gestori di distribuzione:

...

[info 2015/02/10 12:27:15.933 CET tid=0x1] GemFire P2P Listener started on tcp:///10.131.96.64:63464

[config 2015/02/10 12:27:21.152 CET tid=0x1] This member, 10.131.96.64:30179, is becoming group coordinator.

[info 2015/02/10 12:27:21.152 CET tid=0x1] Entered into membership in group GF6.5.1.35 with ID 10.131.96.64(:admin):30179/63464.

[info 2015/02/10 12:27:21.152 CET tid=0x1] Starting DistributionManager 10.131.96.64(:admin):30179/63464.

[info 2015/02/10 12:27:21.152 CET tid=0x1] Initial (membershipManager) view = [10.131.96.64(:admin):30179/63464]

[info 2015/02/10 12:27:21.152 CET tid=0x1] DMMembership: Admitting new administration member < 10.131.96.64(:admin):30179/63464 >.

[info 2015/02/10 12:27:21.152 CET tid=0x1] Non ha avuto risposta da nessun altro sistema. Io sono il primo.

[info 2015/02/10 12:27:21.152 CET tid=0x1] DistributionManager 10.131.96.64(:admin):30179/63464 started on 10.131.96.64[22345]. Altri DM presenti: 0. others: [] (admin only)

...

Soluzione

Affinché i localizatori TCP si riconoscano reiprocamente, è necessario specificare i membri aggiuntivi, passandoli in un file "GemFire.properties".

Segui i passaggi sottostanti

  • Crea un file "GemFire.properties" nella directory in cui esegui i localizzatori TCP.
  • Passa i parametri richiesti nel file "GemFire.properties", ad esempio:

name=<TCP Locator name>

locators=10.131.96.64[22345],10.131.96.217[22345]

  • Passa il file utilizzando il "-DgemfirePropertyFile" avviando il localizzatore come segue:

java -cp .\gemfire.jar com.gemstone.gemfire.internal.SystemAdmin start-locator -port=%port% -address=%bindaddr% -DgemfirePropertyFile=gemfire.properties -Djava.io.tmpdir=%TEMPDIR% -Dgemfire.log-file=GFLocator.log -Dgemfire.license-type=production -Dgemfire.license-file=gemfireLicense.zip

  • Applica la stessa modifica su tutti i localizzatori TCP (sarà necessario fornire un nome univoco nel file "GemFire.properties" per ogni istanza).

 

All'avvio, i localizzatori TCP si riconosceranno come membri della distribuzione nel "GFLocator.log":

...

[info 2015/02/12 11:08:23.281 GMT TCPLocator1 tid=0x1] GemFire P2P Listener started on tcp:///10.131.96.217:49262

[info 2015/02/12 11:08:23.796 GMT TCPLocator1 tid=0x1] Attempting to join distributed system whose membership coordinator is 10.131.96.64:36169 using membership ID 10.131.96.217:32186

[info 2015/02/12 11:08:23.984 GMT TCPLocator1 tid=0x1] Entered into membership in group GF6.5.1.17 with ID 10.131.96.217(:admin):32186/49262.

[info 2015/02/12 11:08:23.984 GMT TCPLocator1 tid=0x1] Starting DistributionManager 10.131.96.217(:admin):32186/49262.

[info 2015/02/12 11:08:23.984 GMT TCPLocator1 tid=0x1] Initial (membershipManager) view = [10.131.96.64(:admin):36169/49227, 10.131.96.217(:admin):32186/49262]

[info 2015/02/12 11:08:23.984 GMT TCPLocator1 tid=0x1] DMMembership: Admitting new administration member < 10.131.96.64(:admin):36169/49227 >.

[info 2015/02/12 11:08:23.984 GMT TCPLocator1 tid=0x1] DMMembership: Admitting new administration member < 10.131.96.217(:admin):32186/49262 >.

[info 2015/02/12 11:08:24.031 GMT TCPLocator1 tid=0x1] DistributionManager 10.131.96.217(:admin):32186/49262 started on 10.131.96.217[22345]10.131.96.64[22345]. Altri DM presenti: 0. others: [] (admin only)

...