欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SymmetricDS重新注册一个节点的操作步骤

程序员文章站 2022-06-09 09:01:35
...

在测试Initial Load的时候,需要观察节点刚注册之后发生的Initial Load过程。经过测试,发现注册一个节点的过程大体是这样的,这里以手工注册为例,假设B节点是Registration Server,A节点要注册到B节点上,B已经启动,A启动之后,会根据配置的registration.

在测试Initial Load的时候,需要观察节点刚注册之后发生的Initial Load过程。经过测试,发现注册一个节点的过程大体是这样的,这里以手工注册为例,假设B节点是Registration Server,A节点要注册到B节点上,B已经启动,A启动之后,会根据配置的registration.url属性尝试注册到A来获取A的信息(SYM_NODE表和SYM_NODE_SECURITY表中的信息),A这时没有为B开启注册,A是没有办法注册上的。在B端执行

../bin/symadmin--engine corp-000 open-registration store 001
命令之后,就相当于接受了A的连接请求(猜测:B根据这条命令传入的参数与A一直尝试发过来的信息作比对,他们指的是同一个节点,就接受连接请求),连接建立之后,A就可以获取B的信息以填充SYM_NODE表和SYM_NODE_SECURITY表中的列了(其实SYM_NODE_IDENTITY表和SYM_NODE_HOST表也是在执行这条命令之后填充的相关的数据)。

可以看到,注册的目的,就是让A可以拥有B的信息,进一步拥有B的访问等的权限。也就是说,A到底有没有注册到B,就是看A有没有持有B的信息。那我们把A中B的信息删除掉,应该就会使A忘记先前的注册关系。

重新注册一个节点的步骤:

1. 找到了下面四个相关的表:SYM_NODE,SYM_NODE_IDENTITY,SYM_NODE_HOST,SYM_NODE_SECURITY。

在A端将这四个表清空,A的SymmetricDS控制台接着就会打印出未注册相关的信息:

[store-001] - RegistrationService - Thisnode is unregistered.  It will attempt toregister using the registration.url
[store-001] - DataLoaderService - Usingregistration URL ofhttp://hadoop4.highgo.com:8080/sync/corp-000/registration?nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2Fhadoop3%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=PostgreSQL&databaseVersion=9.2&symmetricVersion=3.6.14&hostName=hadoop3&ipAddress=192.168.100.59
[store-001] - DataLoaderService -Registration attempt failed. Registration was not open
[store-001] - RegistrationService - Couldnot register.  Sleeping before attemptingagain.
[store-001] - RegistrationService -Sleeping for 17000ms

2. 这时在B节点运行开启注册的命令:

../bin/symadmin--engine corp-000 open-registration store 001

3. 在A端的数据库中查看刚才清空的几个表,可以看到已经填充了相关的信息。