1

我在工作站(Windows 7)上运行了 2 个 apacheds 服务。其中一项服务作为 Windows 服务运行,另一项我从命令行使用其 jar 文件运行

java -jar "C:\Program Files (x86)\ApacheDS - Instance2\lib\apacheds-service-2.0.0-M15.jar"    "C:\Program Files (x86)\ApacheDS - Instance2\instances\instance2" 

第一个 apacheds 安装位于 C:\Program Files (x86)\ApacheDS 位置,它在 10389 上运行。第二个服务在端口 11389 上运行。使用 apache directory studio 我可以连接到在我的工作站上运行的这两个实例/服务控制台上没有错误。通过使用以下 ldif 文件,我为实例 1 导入了设置,它将成为主实例

dn: ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config 
changetype: modify 
add: ads-replReqHandler 
ads-replReqHandler: org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler

然后我还将以下 ldif 文件导入到 Instance 1/master -

dn: ads-replConsumerId=1,ou=replConsumers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config
changetype: add
ads-replRefreshNPersist: TRUE
ads-replAliasDerefMode: never
ads-replProvPort: 10389
ads-replSearchSizeLimit: 0
ads-replProvHostName: localhost
objectClass: ads-replConsumer
objectClass: ads-base
ads-replUserDn: uid=admin, ou=system
ads-replRefreshInterval: 60000
ads-replUserPassword: secret
ads-replConsumerId: 1
ads-replAttributes: *
ads-replSearchTimeOut: 0
ads-replSearchScope: sub
ads-replSearchFilter: (objectClass=*)
ads-searchBaseDN: ou=system

我在主服务器上的 ou=users, ou=system 下添加了一些用户,但从服务器上没有复制任何内容。在这两个实例的控制台上都没有证据表明这两个实例正在尝试对话,因此我认为这不是正确的配置或不完整的配置,因为我在 apacheds 文档中找不到任何需要作为一部分添加的内容Instance2/Slave 上的消费者配置。我错过了什么吗?

谢谢 !

4

1 回答 1

4

apacheds 2.0 - M15 版本中存在一些关于复制的错误。该错误已得到纠正,修复将在 M16 中进行。我从 apacheds svn trunk 构建了 2 个单独的实例,并构建了安装程序并运行了 2 个单独的实例。在 Provider/Master 上添加了以下设置/配置(在端口 10389 上运行)-

dn: ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config 
changetype: modify 
add: ads-replReqHandler 
ads-replReqHandler:         org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler

向消费者/从属实例添加了以下配置(在 11389 上运行)-

dn: ads-replConsumerId=1,ou=replConsumers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config
changetype: add
ads-replRefreshNPersist: TRUE
ads-replAliasDerefMode: never
ads-replProvPort: 10389
ads-replSearchSizeLimit: 0
ads-replProvHostName: localhost
objectClass: ads-replConsumer
objectClass: ads-base
ads-replUserDn: uid=admin, ou=system
ads-replRefreshInterval: 60000
ads-replUserPassword: secret
ads-replConsumerId: 1
ads-replAttributes: *
ads-replSearchTimeOut: 0
ads-replSearchScope: sub
ads-replSearchFilter: (objectClass=*)
ads-searchBaseDN: ou=system

重新启动两个实例并尝试在 Provider 和 Wow 下添加一个条目!它被复制给了消费者。

尽管我在问题中发布的配置不正确,但一些令人困惑的事情导致了该配置。

  1. apacheds 网站上缺乏清晰的文档。
  2. Apache ds studio - 当您在 apache ds studio 中创建连接以连接到 apacheds 服务时,您可以右键单击该连接并打开其配置(存储在 ou=config 下。它基本上是 ou=config 的 GUI)。当您单击最后一个选项卡“复制”时。标题为“所有复制消费者”,右侧有一个“添加”按钮。这是一种误导,因为它给用户一种印象,即需要在此处添加消费者/从属详细信息,并且此配置应该位于主/提供者端。
于 2013-09-03T16:23:00.970 回答