amazon-web-services - 客户端无法使用 Symmetric DS 在 AWS 上托管的服务器上注册
问题描述
我正在尝试使用 Symmetric DS 3.12 部署双向同步功能,服务器端托管在 AWS 上。显示客户端属性和服务器端属性文件。
# 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
我按照以下链接设置配置: https ://houseofbrick.com/replicating-from-oracle-on-premise-to-oracle-in-aws-rds-using-symmetricds/ 。最初,我尝试使用 AWS-EC2 控制台中的安全组来公开端口 31415(如以下链接中所述): https ://kerneltalks.com/virtualization/how-to-open-port-on-aws-ec2- linux服务器/ . 但它没有成功。它总是显示要关闭的端口。然后我尝试使用 Dockerfile 并暴露端口,它通过了乒乓测试。然后我尝试为客户端打开注册。它没有显示任何错误,但没有在服务器端注册。客户端的日志如下:
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
服务器端的日志:
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
为什么客户端没有在服务器端注册?我已经处理了 AWS 提供的公共和私有 IP。理想情况下,使用 AWS 公开端口应该使用安全组本身来完成 - 它没有成功。我错过了什么?
如果我能得到这方面的帮助,我将不胜感激。谢谢你。
解决方案
服务器端的同步 URL 应与客户端的注册 URL 相同。客户端的两个 URL 似乎具有相同的 IP 地址和端口
推荐阅读
- assembly - VS Code 调试器不会为 Raspberry 4 上的 asm 代码启动:GDB:无法设置控制终端
- javascript - 未定义不是对象(评估'route.params.title')
- mlflow - MLFlow - 如何将运行从一个实验迁移或复制到另一个?
- flask - 下拉菜单不适用于 Flask-Bootstrap
- python - 我在 for 循环中使用 Tabulas;收到此错误:IndexError: list index out of range
- python - Python函数max()和ifelse结构耗时的一个问题
- javascript - 我无法从用户 [Discord.js v12] 那里获得语音频道
- kubernetes - 如何将大使与 Kubernetes 一起使用?
- python - Ajax 似乎只执行一次
- reactjs - REACT Props 在 useEffect 中未定义