0

I want to create GeodeRedisServer what the regiontype is REPLICATE_PERSISTENT. According to the documentation:

gfsh> start server --name=server1 --redis-bind-address=localhost \
 --redis-port=11211 --J=-Dgemfireredis.regiontype=PARTITION_PERSISTENT

I use the command, but it is not successful. An error is :

gfsh>start server --name=server2 --server-port=40405 --redis-bind-address=192.168.16.36 --redis-port=6372 --J=-Dgemfireredis.regiontype=REPLICATE_PERSISTENT
Starting a Geode Server in /home/apache-geode-1.10.0/my_geode/server2...
The Cache Server process terminated unexpectedly with exit status 1. Please refer to the log file in /home/apache-geode-1.10.0/my_geode/server2 for full details.

Exception in thread "main" java.lang.NullPointerException
    at org.apache.geode.internal.cache.LocalRegion.findDiskStore(LocalRegion.java:7436)
    at org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:595)
    at org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:541)
    ...

the log i can see:

[info 2019/12/10 15:55:11.097 CST <main> tid=0x1] _monitoringRegion_192.168.16.36<v1>41001 is done getting image from 192.168.16.36(locator1:62278:locator)<ec><v0>:41000. isDeltaGII is false
[info 2019/12/10 15:55:11.097 CST <main> tid=0x1] Initialization of region _monitoringRegion_192.168.16.36<v1>41001 completed
[info 2019/12/10 15:55:11.379 CST <main> tid=0x1] Initialized cache service org.apache.geode.connectors.jdbc.internal.JdbcConnectorServiceImpl
[info 2019/12/10 15:55:11.396 CST <main> tid=0x1] Initialized cache service org.apache.geode.cache.lucene.internal.LuceneServiceImpl
[info 2019/12/10 15:55:11.397 CST <main> tid=0x1] Starting GeodeRedisServer on bind address 192.168.16.36 on port 6379
[error 2019/12/10 15:55:11.402 CST <main> tid=0x1] java.lang.NullPointerException
[info 2019/12/10 15:55:11.405 CST <Distributed system shutdown hook> tid=0x15] VM is exiting - shutting down distributed system

but when i change the the regiontype is REPLICATE, success. And I want to make my redis service highly available, now i can create redis adapter service, but once it hangs, it is not available. Is there any way to create a redis adapter cluster? I haven't found an available method in the official documentation, I hope someone can help me, thank you very much。

As a side note, the version I tested was 1.9.0.

M.long
  • 21
  • 2

2 Answers2

1

Unfortunately this appears to be broken and I don't think there is a good workaround. I've opened a ticket for this: https://issues.apache.org/jira/browse/GEODE-7721

Jens D
  • 4,229
  • 3
  • 16
  • 19
  • Thank you very much, this problem has troubled me for a long time. I thought it was a problem of my configuration or operation until I saw your answer。 – M.long Jan 19 '20 at 07:35
0

I think Jens is right that the REPLICATE_PERSISTENT policy seems to be broken.

You also asked "Is there any way to create a redis adapter cluster?" If you use the REPLICATE or PARTITION_REDUNDANT data policies, I think it should work. If you start additional geode servers they will make redundant copies of your data.

Do be aware that this adapter is still experimental and in development.

Dan Smith
  • 481
  • 2
  • 3
  • Hi, thank you for your previous answer. Regarding the creation of a redis adapter cluster, the problem I encountered was that when I started the redis adapter service on multiple machines, my client code was only able to connect to the service of one machine in the cluster. After this service was suspended, the client Cannot connect to the cluster, unlike the geode service cluster, we can connect to the locator, it only connects to the service – M.long Jan 19 '20 at 07:44