SymmetricDS 注册从 Linux 到 Windows
SymmetricDS Registration from Linux to Windows
我在 windows 上的 PostgreSQL 节点之间有 SymmetricDS 运行。
注册节点在 Windows 和 5 个客户端上运行。我正在迁移到 Linux,所以我试图在 Linux 上启动一个从服务器。但是我收到以下无法解决的错误
PullService - Could not communicate with node 'null:null:?' at http://XXX:8081/sync because of unexpected error
java.lang.NullPointerException
日志剩余部分如下
Log output will be written to /usr/lib/symmetric-server-3.11.7/logs/symmetric.log
[startup] - AbstractCommandLauncher - Option: name=port, value={8082}
[startup] - SymmetricUtils -
_____ __ _ ____ _____
/ ___/ __ _____ __ ___ __ ___ _/ /_ ____(_)___ / __ | / ___/
\__ \ / / / / _ `_ \/ _ `_ \/ _ \/_ __// __/ / __/ / / / / \__ \
___/ // /_/ / // // / // // / __// / / / / / /_ / /_/ / ___/ /
/____/ \__ /_//_//_/_//_//_/\___/ \_/ /_/ /_/\__/ /_____/ /____/
/____/
+-----------------------------------------------------------------+
| Copyright (C) 2007-2020 JumpMind, Inc. |
| |
| Licensed under the GNU General Public License version 3. |
| This software comes with ABSOLUTELY NO WARRANTY. |
| See http://www.gnu.org/licenses/gpl.html |
+-----------------------------------------------------------------+
[startup] - SymmetricWebServer - About to start SymmetricDS web server on host:port 0.0.0.0:8082
[fil4-104] - AbstractSymmetricEngine - Initializing connection to database
[fil4-104] - JdbcDatabasePlatformFactory - Detected database 'postgres95', version '11', protocol 'postgresql'
[fil4-104] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.postgresql.PostgreSql95DatabasePlatform
[fil4-104] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[fil4-104] - ExtensionService - Found 0 extension points from the database that will be registered
[fil4-104] - StagingManager - The staging directory was initialized at the following location: /usr/lib/symmetric-server-3.11.7/tmp/fil4-104
[fil4-104] - ExtensionService - Found 0 extension points from the database that will be registered
[fil4-104] - ClientExtensionService - Found 8 extension points from spring that will be registered
[fil4-104] - AbstractSymmetricEngine - Initializing SymmetricDS database
[fil4-104] - PostgreSqlSymmetricDialect - Checking if SymmetricDS tables need created or altered
[startup] - SymmetricWebServer - Starting JMX HTTP console on port 8083
[startup] - SymmetricWebServer - Joining the web server main thread
HttpAdaptor version 3.0.1 started on port 8083
[fil4-104] - AbstractSymmetricEngine - Done initializing SymmetricDS database
[fil4-104] - AbstractSymmetricEngine - SymmetricDS database version : 3.11.4
[fil4-104] - AbstractSymmetricEngine - SymmetricDS software version : 3.11.7
[fil4-104] - AbstractSymmetricEngine - SymmetricDS database version does not match the current software version, running software upgrade listeners.
[fil4-104] - AbstractSymmetricEngine - Starting registered node [group=fil4, id=104, nodeId=104]
[fil4-104] - ClusterService - This node picked a server id of filefour
[fil4-104] - TriggerRouterService - Synchronizing triggers
[fil4-104] - TriggerRouterService - Done synchronizing triggers
[fil4-104] - PullService - Could not communicate with node 'null:null:?' at http://XXX:8081/sync because of unexpected error
java.lang.NullPointerException
at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromConfig(DataLoaderService.java:508)
at org.jumpmind.symmetric.service.impl.PullService.pullConfigData(PullService.java:192)
at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:688)
at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:646)
at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:271)
at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(SymmetricEngineHolder.java:601)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[fil4-104] - RouterJob - Starting Routing on periodic schedule: every 3000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - PushJob - Starting Push on periodic schedule: every 3000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - PullJob - Starting Pull on periodic schedule: every 3000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - JobManager - Job Offline Push not configured for auto start
[fil4-104] - JobManager - Job Offline Pull not configured for auto start
[fil4-104] - OutgoingPurgeJob - Starting job 'Purge Outgoing' with cron expression: '0 0 */4 * * *'
[fil4-104] - IncomingPurgeJob - Starting job 'Purge Incoming' with cron expression: '0 0 */4 * * *'
[fil4-104] - StatisticFlushJob - Starting job 'Stat Flush' with cron expression: '0 0/5 * * * *'
[fil4-104] - SyncTriggersJob - Starting job 'SyncTriggers' with cron expression: '0 0 0 * * *'
[fil4-104] - JobManager - Job Heartbeat not configured for auto start
[fil4-104] - WatchdogJob - Starting Watchdog on periodic schedule: every 3600000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - StageManagementJob - Starting job 'Stage Management' with cron expression: '0 0 * * * *'
[fil4-104] - JobManager - Job Refresh Cache not configured for auto start
[fil4-104] - JobManager - Job File Sync Tracker not configured for auto start
[fil4-104] - JobManager - Job File Sync Pull not configured for auto start
[fil4-104] - JobManager - Job File Sync Push not configured for auto start
[fil4-104] - InitialLoadExtractorJob - Starting Initial Load Extract on periodic schedule: every 10000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - MonitorJob - Starting Monitor on periodic schedule: every 60000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - JobManager - Job Report Status not configured for auto start
[fil4-104] - JobManager - Job Log Miner not configured for auto start
[fil4-104] - InitialLoadJob - Starting Initial Load Queue on periodic schedule: every 10000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - AbstractSymmetricEngine - SymmetricDS Node STARTED:
nodeId=104
groupId=fil4
type=server
subType=null
name=fil4-104
softwareVersion=3.11.7
databaseName=PostgreSQL
databaseVersion=11.8
driverName=PostgreSQL JDBC Driver
driverVersion=42.2.8
uptime=0 sec.
[fil4-104] - DataGapFastDetector - Full gap analysis is running
[fil4-104] - DataGapFastDetector - Querying data in gaps from database took 5 ms
[fil4-104] - DataGapFastDetector - Full gap analysis is done after 6 ms
Client引擎文件如下
engine.name=fil4-104
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost/track?stringtype=unspecified
db.user=*
db.password=*
registration.url=http://XXXX:8081/sync
sync.url=http://ME:8082/sync
group.id=fil4 external.id=104
job.routing.period.time.ms=3000
job.push.period.time.ms=3000
job.pull.period.time.ms=3000
auto.registration=true
start.purge.job=true
job.purge.period.time.ms=3000000
purge.retention.minutes=120
start.heartbeat.job=false
initial.load.delete.first=false
auto.sync.triggers=true
auto.reload=false
auto.sync.configuration=false
auto.sync.configuration.on.incoming=false
file.sync.enable=false
stream.to.file.enabled=true
db.sql.query.timeout.seconds=180
注册服务器引擎设置如下
engine.name=main-000
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost/track?stringtype=unspecified
db.user=*
db.password=*
registration.url=http://XXX:8081/sync
sync.url=http://XXX:8081/sync
group.id=main
external.id=000
start.purge.job=true
job.purge.period.time.ms=3000000
purge.retention.minutes=120
job.routing.period.time.ms=5000
db.sql.query.timeout.seconds=600
job.push.period.time.ms=3000
job.pull.period.time.ms=3000
auto.registration=true
start.heartbeat.job=false
initial.load.delete.first=false
auto.sync.triggers=false
auto.reload=false
auto.sync.configuration=true
auto.sync.configuration.on.incoming=true
file.sync.enable=false
http.push.stream.output.enabled=true
stream.to.file.enabled=true
initial.load.create.first = false
这是抛出 NullPointerException
:
的代码行
ProcessInfo processInfo = statisticManager.newProcessInfo(
new ProcessInfoKey(
remote.getNodeId(),
Constants.CHANNEL_CONFIG,
local.getNodeId(),
PULL_CONFIG_JOB));
很多事情都可能出错。我建议 运行 symmetricDs 服务器处于调试模式,检查 IDE 中的 3.11.7 源代码,在第 508 行放置一个断点,远程连接到进程并观察什么是 null
我在 windows 上的 PostgreSQL 节点之间有 SymmetricDS 运行。 注册节点在 Windows 和 5 个客户端上运行。我正在迁移到 Linux,所以我试图在 Linux 上启动一个从服务器。但是我收到以下无法解决的错误
PullService - Could not communicate with node 'null:null:?' at http://XXX:8081/sync because of unexpected error
java.lang.NullPointerException
日志剩余部分如下
Log output will be written to /usr/lib/symmetric-server-3.11.7/logs/symmetric.log
[startup] - AbstractCommandLauncher - Option: name=port, value={8082}
[startup] - SymmetricUtils -
_____ __ _ ____ _____
/ ___/ __ _____ __ ___ __ ___ _/ /_ ____(_)___ / __ | / ___/
\__ \ / / / / _ `_ \/ _ `_ \/ _ \/_ __// __/ / __/ / / / / \__ \
___/ // /_/ / // // / // // / __// / / / / / /_ / /_/ / ___/ /
/____/ \__ /_//_//_/_//_//_/\___/ \_/ /_/ /_/\__/ /_____/ /____/
/____/
+-----------------------------------------------------------------+
| Copyright (C) 2007-2020 JumpMind, Inc. |
| |
| Licensed under the GNU General Public License version 3. |
| This software comes with ABSOLUTELY NO WARRANTY. |
| See http://www.gnu.org/licenses/gpl.html |
+-----------------------------------------------------------------+
[startup] - SymmetricWebServer - About to start SymmetricDS web server on host:port 0.0.0.0:8082
[fil4-104] - AbstractSymmetricEngine - Initializing connection to database
[fil4-104] - JdbcDatabasePlatformFactory - Detected database 'postgres95', version '11', protocol 'postgresql'
[fil4-104] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.postgresql.PostgreSql95DatabasePlatform
[fil4-104] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[fil4-104] - ExtensionService - Found 0 extension points from the database that will be registered
[fil4-104] - StagingManager - The staging directory was initialized at the following location: /usr/lib/symmetric-server-3.11.7/tmp/fil4-104
[fil4-104] - ExtensionService - Found 0 extension points from the database that will be registered
[fil4-104] - ClientExtensionService - Found 8 extension points from spring that will be registered
[fil4-104] - AbstractSymmetricEngine - Initializing SymmetricDS database
[fil4-104] - PostgreSqlSymmetricDialect - Checking if SymmetricDS tables need created or altered
[startup] - SymmetricWebServer - Starting JMX HTTP console on port 8083
[startup] - SymmetricWebServer - Joining the web server main thread
HttpAdaptor version 3.0.1 started on port 8083
[fil4-104] - AbstractSymmetricEngine - Done initializing SymmetricDS database
[fil4-104] - AbstractSymmetricEngine - SymmetricDS database version : 3.11.4
[fil4-104] - AbstractSymmetricEngine - SymmetricDS software version : 3.11.7
[fil4-104] - AbstractSymmetricEngine - SymmetricDS database version does not match the current software version, running software upgrade listeners.
[fil4-104] - AbstractSymmetricEngine - Starting registered node [group=fil4, id=104, nodeId=104]
[fil4-104] - ClusterService - This node picked a server id of filefour
[fil4-104] - TriggerRouterService - Synchronizing triggers
[fil4-104] - TriggerRouterService - Done synchronizing triggers
[fil4-104] - PullService - Could not communicate with node 'null:null:?' at http://XXX:8081/sync because of unexpected error
java.lang.NullPointerException
at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromConfig(DataLoaderService.java:508)
at org.jumpmind.symmetric.service.impl.PullService.pullConfigData(PullService.java:192)
at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:688)
at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:646)
at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:271)
at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(SymmetricEngineHolder.java:601)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[fil4-104] - RouterJob - Starting Routing on periodic schedule: every 3000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - PushJob - Starting Push on periodic schedule: every 3000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - PullJob - Starting Pull on periodic schedule: every 3000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - JobManager - Job Offline Push not configured for auto start
[fil4-104] - JobManager - Job Offline Pull not configured for auto start
[fil4-104] - OutgoingPurgeJob - Starting job 'Purge Outgoing' with cron expression: '0 0 */4 * * *'
[fil4-104] - IncomingPurgeJob - Starting job 'Purge Incoming' with cron expression: '0 0 */4 * * *'
[fil4-104] - StatisticFlushJob - Starting job 'Stat Flush' with cron expression: '0 0/5 * * * *'
[fil4-104] - SyncTriggersJob - Starting job 'SyncTriggers' with cron expression: '0 0 0 * * *'
[fil4-104] - JobManager - Job Heartbeat not configured for auto start
[fil4-104] - WatchdogJob - Starting Watchdog on periodic schedule: every 3600000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - StageManagementJob - Starting job 'Stage Management' with cron expression: '0 0 * * * *'
[fil4-104] - JobManager - Job Refresh Cache not configured for auto start
[fil4-104] - JobManager - Job File Sync Tracker not configured for auto start
[fil4-104] - JobManager - Job File Sync Pull not configured for auto start
[fil4-104] - JobManager - Job File Sync Push not configured for auto start
[fil4-104] - InitialLoadExtractorJob - Starting Initial Load Extract on periodic schedule: every 10000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - MonitorJob - Starting Monitor on periodic schedule: every 60000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - JobManager - Job Report Status not configured for auto start
[fil4-104] - JobManager - Job Log Miner not configured for auto start
[fil4-104] - InitialLoadJob - Starting Initial Load Queue on periodic schedule: every 10000ms with the first run at Mon Jun 08 16:33:54 CEST 2020
[fil4-104] - AbstractSymmetricEngine - SymmetricDS Node STARTED:
nodeId=104
groupId=fil4
type=server
subType=null
name=fil4-104
softwareVersion=3.11.7
databaseName=PostgreSQL
databaseVersion=11.8
driverName=PostgreSQL JDBC Driver
driverVersion=42.2.8
uptime=0 sec.
[fil4-104] - DataGapFastDetector - Full gap analysis is running
[fil4-104] - DataGapFastDetector - Querying data in gaps from database took 5 ms
[fil4-104] - DataGapFastDetector - Full gap analysis is done after 6 ms
Client引擎文件如下
engine.name=fil4-104
db.driver=org.postgresql.Driver db.url=jdbc:postgresql://localhost/track?stringtype=unspecified
db.user=* db.password=*
registration.url=http://XXXX:8081/sync sync.url=http://ME:8082/sync
group.id=fil4 external.id=104
job.routing.period.time.ms=3000
job.push.period.time.ms=3000
job.pull.period.time.ms=3000
auto.registration=true
start.purge.job=true
job.purge.period.time.ms=3000000
purge.retention.minutes=120
start.heartbeat.job=false initial.load.delete.first=false auto.sync.triggers=true auto.reload=false auto.sync.configuration=false auto.sync.configuration.on.incoming=false file.sync.enable=false
stream.to.file.enabled=true
db.sql.query.timeout.seconds=180
注册服务器引擎设置如下
engine.name=main-000 db.driver=org.postgresql.Driver db.url=jdbc:postgresql://localhost/track?stringtype=unspecified db.user=* db.password=*
registration.url=http://XXX:8081/sync sync.url=http://XXX:8081/sync group.id=main external.id=000 start.purge.job=true job.purge.period.time.ms=3000000 purge.retention.minutes=120 job.routing.period.time.ms=5000 db.sql.query.timeout.seconds=600 job.push.period.time.ms=3000 job.pull.period.time.ms=3000 auto.registration=true start.heartbeat.job=false initial.load.delete.first=false auto.sync.triggers=false auto.reload=false auto.sync.configuration=true auto.sync.configuration.on.incoming=true file.sync.enable=false http.push.stream.output.enabled=true stream.to.file.enabled=true initial.load.create.first = false
这是抛出 NullPointerException
:
ProcessInfo processInfo = statisticManager.newProcessInfo(
new ProcessInfoKey(
remote.getNodeId(),
Constants.CHANNEL_CONFIG,
local.getNodeId(),
PULL_CONFIG_JOB));
很多事情都可能出错。我建议 运行 symmetricDs 服务器处于调试模式,检查 IDE 中的 3.11.7 源代码,在第 508 行放置一个断点,远程连接到进程并观察什么是 null