I am trying to setup a simple cluster for influxdb on AWS using EFS (elastic file storage which is similar to NFS) where 2 different influx processes will share database. I have 2 EC2 instances (named: EC2_1, EC2_2) running their own influxdb processes. Both EC2 instances are mounted with a common EFS directory called "efs" at /opt/efs. I modified influxdb.conf on both ec2 instances to have it point to common /opt/efs/influxdb/data directory for data, /opt/efs/influxdb/wal for wal,/opt/efs/influxdb/meta for meta directories.
What I am trying to achieve by this is when EC2_1 influx process writes something to database it can be immediately read by influx process on EC2_2.
To achieve this I am trying to find out a setting that can disable WAL or make writing to disk very frequent (once/sec) so that another process can read directly from disk. Read/Write performance or data loss is not a major concern for me right now.
I tried changing below setting hoping that it will make WAL flush frequent but it did not work the way I expected:
# CacheSnapshotMemorySize is the size at which the engine will
# snapshot the cache and write it to a TSM file, freeing up memory
# cache-snapshot-memory-size = 26214400
cache-snapshot-memory-size = 2
# CacheSnapshotWriteColdDuration is the length of time at
# which the engine will snapshot the cache and write it to
# a new TSM file if the shard hasn't received writes or deletes
# cache-snapshot-write-cold-duration = "1h"
cache-snapshot-write-cold-duration = "1s"
If EC2_1 writes something to influxdb, querying EC2_2 does not show that data unless influxdb process on EC2_2 is restarted and vice versa.