Reputation: 1
I am trying to deploy a bidirectional sync functionality using Symmetric DS 3.12, with the server side hosted on AWS. The client side properties and the server side properties files are shown.
# server-000.properties
engine.name=server-000
db.driver=org.sqlite.JDBC
db.url=jdbc:sqlite:./server1.sqlite
db.user=symmetric
db.password=
registration.url=
sync.url=http://172.31.3.23:31415/sync/server-000
group.id=server
external.id=000
job.purge.period.time.ms=7200000
job.routing.period.time.ms=5000
job.push.period.time.ms=10000
job.pull.period.time.ms=10000
auto.registration=true
initial.load.create.first=true
jobs.synchronized.enable=true
sync.triggers.thread.count.per.server=1
# client-001.properties
engine.name=client-001
db.driver=org.sqlite.JDBC
db.url=jdbc:sqlite:./client001.sqlite
db.user=symmetric
db.password=
sync.url=http://3.141.31.76:31415/sync/server-000
registration.url=http://3.141.31.76:31415/sync/server-000
group.id=client
external.id=001
job.routing.period.time.ms=5000
job.push.period.time.ms=10000
job.pull.period.time.ms=10000
jobs.synchronized.enable=true
sync.triggers.thread.count.per.server=1
I followed the following link for setting up the configuration: https://houseofbrick.com/replicating-from-oracle-on-premise-to-oracle-in-aws-rds-using-symmetricds/. Initially I tried using the security groups from the AWS-EC2 console to expose ports 31415 (as explained in the following link): https://kerneltalks.com/virtualization/how-to-open-port-on-aws-ec2-linux-server/. But it did not work out. It always shows the port to be closed. Then I tried using the Dockerfile and exposed the ports, which passed the ping-pong test. Then I tried opening registration for the client side. It does not show any error but does not register at the server side. The log at the client side are as follows:
2021-02-20 15:49:36,330 INFO [startup] [SymmetricWebServer] [main] About to start SymmetricDS web server on 0.0.0.0:31415:HTTP/1.1
2021-02-20 15:49:37,331 INFO [startup] [SymmetricEngineHolder] [main] Current directory is /home/ysharshit/Documents/TE/KrishnaIkaP/bws-app-v2/server_sync
2021-02-20 15:49:37,331 INFO [startup] [SymmetricEngineHolder] [main] Starting in single-server mode
2021-02-20 15:49:38,321 INFO [client-001] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Initializing connection to database
2021-02-20 15:49:39,051 INFO [client-001] [JdbcDatabasePlatformFactory] [symmetric-engine-startup-1] Detected database 'SQLite', version '3', protocol 'sqlite'
2021-02-20 15:49:39,096 INFO [client-001] [JdbcDatabasePlatformFactory] [symmetric-engine-startup-1] The IDatabasePlatform being used is org.jumpmind.db.platform.sqlite.SqliteDatabasePlatform
2021-02-20 15:49:39,732 INFO [client-001] [SqliteJdbcSymmetricDialect] [symmetric-engine-startup-1] The DbDialect being used is org.jumpmind.symmetric.db.sqlite.SqliteJdbcSymmetricDialect
2021-02-20 15:49:39,963 INFO [client-001] [ExtensionService] [symmetric-engine-startup-1] Found 0 extension points from the database that will be registered
2021-02-20 15:49:40,200 INFO [client-001] [StagingManager] [symmetric-engine-startup-1] The staging directory was initialized at the following location: /home/ysharshit/Documents/TE/KrishnaIkaP/bws-app-v2/server_sync/tmp/client-001
2021-02-20 15:49:45,462 INFO [client-001] [ExtensionService] [symmetric-engine-startup-1] Found 0 extension points from the database that will be registered
2021-02-20 15:49:45,463 INFO [client-001] [ClientExtensionService] [symmetric-engine-startup-1] Found 8 extension points from spring that will be registered
2021-02-20 15:49:45,497 INFO [client-001] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Initializing SymmetricDS database
2021-02-20 15:49:45,497 INFO [client-001] [SqliteJdbcSymmetricDialect] [symmetric-engine-startup-1] Checking if SymmetricDS tables need created or altered
2021-02-20 15:49:45,657 INFO [startup] [SymmetricWebServer] [main] Joining the web server main thread
2021-02-20 15:49:45,932 INFO [client-001] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Done initializing SymmetricDS database
2021-02-20 15:49:45,932 INFO [client-001] [AbstractSymmetricEngine] [symmetric-engine-startup-1] SymmetricDS database version : 3.12.6
2021-02-20 15:49:45,933 INFO [client-001] [AbstractSymmetricEngine] [symmetric-engine-startup-1] SymmetricDS software version : 3.12.6
2021-02-20 15:49:45,935 INFO [client-001] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Starting registered node [group=client, id=001, nodeId=001]
2021-02-20 15:49:45,956 INFO [client-001] [ClusterService] [symmetric-engine-startup-1] This node picked a server id of ysharshit-X550LD
2021-02-20 15:49:45,957 INFO [client-001] [TriggerRouterService] [symmetric-engine-startup-1] Synchronizing triggers
2021-02-20 15:49:45,965 INFO [client-001] [TriggerRouterService] [symmetric-engine-startup-1] Done synchronizing triggers
2021-02-20 15:49:45,978 INFO [client-001] [RouterJob] [symmetric-engine-startup-1] Starting Routing on periodic schedule: every 5000ms with the first run at 2021-02-20T15:49:53.344+0530
2021-02-20 15:49:46,014 INFO [client-001] [PushJob] [symmetric-engine-startup-1] Starting Push on periodic schedule: every 10000ms with the first run at 2021-02-20T15:49:53.379+0530
2021-02-20 15:49:46,014 INFO [client-001] [PullJob] [symmetric-engine-startup-1] Starting Pull on periodic schedule: every 10000ms with the first run at 2021-02-20T15:49:53.380+0530
2021-02-20 15:49:46,015 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job Offline Push not configured for auto start
2021-02-20 15:49:46,015 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job Offline Pull not configured for auto start
2021-02-20 15:49:46,017 INFO [client-001] [OutgoingPurgeJob] [symmetric-engine-startup-1] Starting job 'Purge Outgoing' with cron expression: '0 0 */4 * * *'
2021-02-20 15:49:46,019 INFO [client-001] [IncomingPurgeJob] [symmetric-engine-startup-1] Starting job 'Purge Incoming' with cron expression: '0 0 */4 * * *'
2021-02-20 15:49:46,019 INFO [client-001] [StatisticFlushJob] [symmetric-engine-startup-1] Starting job 'Stat Flush' with cron expression: '0 0/5 * * * *'
2021-02-20 15:49:46,020 INFO [client-001] [SyncTriggersJob] [symmetric-engine-startup-1] Starting job 'SyncTriggers' with cron expression: '0 0 0 * * *'
2021-02-20 15:49:46,021 INFO [client-001] [HeartbeatJob] [symmetric-engine-startup-1] Starting Heartbeat on periodic schedule: every 900000ms with the first run at 2021-02-20T15:49:53.387+0530
2021-02-20 15:49:46,021 INFO [client-001] [WatchdogJob] [symmetric-engine-startup-1] Starting Watchdog on periodic schedule: every 3600000ms with the first run at 2021-02-20T15:49:53.387+0530
2021-02-20 15:49:46,022 INFO [client-001] [StageManagementJob] [symmetric-engine-startup-1] Starting job 'Stage Management' with cron expression: '0 0 * * * *'
2021-02-20 15:49:46,023 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job Refresh Cache not configured for auto start
2021-02-20 15:49:46,023 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job File Sync Tracker not configured for auto start
2021-02-20 15:49:46,023 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job File Sync Pull not configured for auto start
2021-02-20 15:49:46,023 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job File Sync Push not configured for auto start
2021-02-20 15:49:46,023 INFO [client-001] [InitialLoadExtractorJob] [symmetric-engine-startup-1] Starting Initial Load Extract on periodic schedule: every 10000ms with the first run at 2021-02-20T15:49:53.389+0530
2021-02-20 15:49:46,024 INFO [client-001] [MonitorJob] [symmetric-engine-startup-1] Starting Monitor on periodic schedule: every 60000ms with the first run at 2021-02-20T15:49:53.390+0530
2021-02-20 15:49:46,024 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job Report Status not configured for auto start
2021-02-20 15:49:46,024 INFO [client-001] [JobManager] [symmetric-engine-startup-1] Job Log Miner not configured for auto start
2021-02-20 15:49:46,025 INFO [client-001] [InitialLoadJob] [symmetric-engine-startup-1] Starting Initial Load Queue on periodic schedule: every 10000ms with the first run at 2021-02-20T15:49:53.391+0530
2021-02-20 15:49:46,030 INFO [client-001] [AbstractSymmetricEngine] [symmetric-engine-startup-1] SymmetricDS Node STARTED:
nodeId=001
groupId=client
type=server
subType=null
name=client-001
softwareVersion=3.12.6
databaseName=SQLite
databaseVersion=3.32
driverName=SQLite JDBC
driverVersion=3.32.3.2
uptime=0 sec.
2021-02-20 15:49:53,412 INFO [client-001] [DataGapFastDetector] [client-001-job-1] Full gap analysis is running
2021-02-20 15:49:53,415 INFO [client-001] [DataGapFastDetector] [client-001-job-1] Querying data in gaps from database took 2 ms
2021-02-20 15:49:53,415 INFO [client-001] [DataGapFastDetector] [client-001-job-1] Full gap analysis is done after 2 ms
Logs at the server side:
s with the first run at 2021-02-20T10:48:27.841+0000
2021-02-20 10:48:18,101 INFO [server-000] [MonitorJob] [symmetric-engine-startup-1] Starting Monitor on periodic schedule: every 60000ms with the first run at 2021-02-20T10:48:27.842+0000
2021-02-20 10:48:18,101 INFO [server-000] [JobManager] [symmetric-engine-startup-1] Job Report Status not configured for auto start
2021-02-20 10:48:18,102 INFO [server-000] [JobManager] [symmetric-engine-startup-1] Job Log Miner not configured for auto start
2021-02-20 10:48:18,102 INFO [server-000] [InitialLoadJob] [symmetric-engine-startup-1] Starting Initial Load Queue on periodic schedule: every 10000ms with the first run at 2021-02-20T10:48:27.843+0000
2021-02-20 10:48:18,104 INFO [server-000] [AbstractSymmetricEngine] [symmetric-engine-startup-1] SymmetricDS Node STARTED:
nodeId=000
groupId=server
type=server
subType=null
name=server-000
softwareVersion=3.12.6
databaseName=SQLite
databaseVersion=3.32
driverName=SQLite JDBC
driverVersion=3.32.3.2
uptime=0 sec.
2021-02-20 10:48:27,824 INFO [server-000] [DataService] [server-000-job-1] Inserting missing last data gap: { startId: 1, endId: 50000001, createTime: "Sat Feb 20 10:48:27 UTC 2021" }
2021-02-20 10:48:27,836 INFO [server-000] [DataGapFastDetector] [server-000-job-1] Full gap analysis is running
2021-02-20 10:48:27,837 INFO [server-000] [DataGapFastDetector] [server-000-job-1] Querying data in gaps from database took 0 ms
2021-02-20 10:48:27,838 INFO [server-000] [DataGapFastDetector] [server-000-job-1] Full gap analysis is done after 2 ms
2021-02-20 10:48:27,839 INFO [server-000] [PushHeartbeatListener] [server-000-job-4] Some attribute(s) of node changed. Recording changes
2021-02-20 10:48:27,840 INFO [server-000] [PushHeartbeatListener] [server-000-job-4] Updating my node configuration info according to the symmetric properties
2021-02-20 10:48:27,858 INFO [server-000] [NodeCommunicationService] [server-000-job-3] pull will use 10 threads
2021-02-20 10:48:33,007 INFO [server-000] [ConfigurationChangedDataRouter] [server-000-job-9] About to refresh the cache of nodes because new configuration came through the data router
Why is the client side not registering at the server side? I have taken care of the public and private IPs that AWS provides.Exposing ports using AWS should ideally be done using the security group itself - it didn't work out. What is it that I am missing?
I will be extremely grateful if I can receive help on this. Thank you.
Upvotes: 0
Views: 219
Reputation: 64640
Sync URL at the server should be the same as the registration URL at the client. Both URLs at the client seems having equal IP address and the port
Upvotes: 2