WSO2 Application Server构建集群发生svn:存储库UUID XXXX与预期的UUID OOOO

时间:2015-05-11 01:44:15

标签: svn wso2 cluster-computing application-server

我在Ubuntu Server 14.04.2中测试WSO2 Application Server 5.2.1 + Load Balancer 2.1.1

以下是我的环境配置:

爪哇:OpenJDK的-1.7

SVN服务器版本为1.8

SVN存储库名称称为" wso2"

我现在根据Clustering Application Server中的说明构建一个集群环境。

在上述步骤中,我还按照Deployment Synchronizer Configuration for SVN sync fails

中的描述进行了以下步骤
  

将以下两个jar添加到repository / component / lib   http://mirrors.ibiblio.org/pub/mirrors/maven2/org/tmatesoft/svnkit/svnkit/1.3.5/svnkit-1.3.5.jar   http://mirrors.ibiblio.org/pub/mirrors/maven2/org/tmatesoft/svnkit/svnkit-javahl/1.3.5/svnkit-javahl-1.3.5.jar

     

将以下jar添加到repository / component / dropins   http://dist.wso2.org/maven2//org/tigris/svn-client-adapter/1.6.18.wso2v2/svn-client-adapter-1.6.18.wso2v2.jar

榆树似乎运行正常。但是mgt(wso2ap3.uzoo.net)就像例外情况一样:

TID: [0] [AS] [2015-05-11 11:19:50,493]  INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent} -  Local member: [b1c58ff3-9472-4f6c-b5e8-9eb4e34a1d68] - Host:192.168.168.220, Remote Host:null, Port: 4250, HTTP:9764, HTTPS:9444, Domain: wso2.as.domain, Sub-domain:mgt, Active:true {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}
TID: [0] [AS] [2015-05-11 11:19:50,498]  INFO {org.wso2.carbon.core.clustering.hazelcast.util.MemberUtils} -  Added member: Host:192.168.168.220, Remote Host:null, Port: 4250, HTTP:9764, HTTPS:9444, Domain: wso2.as.domain, Sub-domain:mgt, Active:true {org.wso2.carbon.core.clustering.hazelcast.util.MemberUtils}
TID: [0] [AS] [2015-05-11 11:19:50,624]  INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent} -  Cluster initialization completed {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}
TID: [0] [AS] [2015-05-11 11:19:50,626]  INFO {org.apache.tomcat.util.net.NioSelectorPool} -  Using a shared selector for servlet write/read {org.apache.tomcat.util.net.NioSelectorPool}
TID: [0] [AS] [2015-05-11 11:19:50,683]  INFO {org.apache.tomcat.util.net.NioSelectorPool} -  Using a shared selector for servlet write/read {org.apache.tomcat.util.net.NioSelectorPool}
TID: [0] [AS] [2015-05-11 11:19:50,722]  INFO {org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl} -  Task service starting in CLUSTERED mode... {org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl}
TID: [0] [AS] [2015-05-11 11:19:51,115]  INFO {org.wso2.carbon.core.init.JMXServerManager} -  JMX Service URL  : service:jmx:rmi://localhost:11112/jndi/rmi://localhost:10000/jmxrmi {org.wso2.carbon.core.init.JMXServerManager}
TID: [0] [AS] [2015-05-11 11:19:51,116]  INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} -  Server           :  Application Server-5.2.1 {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent}
TID: [0] [AS] [2015-05-11 11:19:51,117]  INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} -  WSO2 Carbon started in 18 sec {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent}
TID: [0] [AS] [2015-05-11 11:19:51,258]  INFO {org.wso2.carbon.ui.internal.CarbonUIServiceComponent} -  Mgt Console URL  : https://wso2ap3.uzoo.net:8243/carbon/ {org.wso2.carbon.ui.internal.CarbonUIServiceComponent}
TID: [0] [AS] [2015-05-11 11:20:00,101] ERROR {org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository} -  Error while checking out or updating artifacts from the SVN repository {org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository}
org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.javahl.ClientException: svn: Repository UUID '025b8c78-f788-11e4-9b42-0b9417c5a686' doesn't match expected UUID '0055e058-f55e-11e4-936c-e97121446169'
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.update(AbstractJhlClientAdapter.java:1079)
        at org.wso2.carbon.deployment.synchronizer.subversion.SVNBasedArtifactRepository.checkout(SVNBasedArtifactRepository.java:440)
        at org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizer.checkout(DeploymentSynchronizer.java:181)
        at org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.update(DeploymentSynchronizerServiceImpl.java:87)
        at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.deploymentSyncUpdate(CarbonDeploymentSchedulerTask.java:165)
        at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:123)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
....

如何解决上述异常?

2 个答案:

答案 0 :(得分:0)

对于基于Carbon 4.2.x及更低版本的所有产品,请仅使用SVN版本1.6作为工作副本(添加到部署同步器的SVN存储库)。但是,您可以在服务器上使用SVN 1.6或1.7。

基于Carbon 4.3.x(尚未发布)的WSO2产品将支持SVN版本1.7和1.8。

不支持使用SVN部署Synchronizer和SSH协议。

WSO2 Application Server 5.2.1依赖于Carbon 4.2.0,因此,请使用SVN 1.6或1.7 for Server,并使用SVN 1.6作为工作副本。

答案 1 :(得分:0)

简短answer

svnadmin setuuid REPOS_PATH [NEW_UUID]

稍长answer

  

Subversion存储库具有通用唯一标识符(UUID)   与他们相关联。 Subversion客户端使用它来验证   当其他形式的验证不好时,存储库的身份   足够的(例如检查存储库URL,可以转换   时间)。大多数Subversion存储库管理员很少需要   将存储库UUID视为一件轻而易举的事情   Subversion的实现细节。然而,有时候会有   请注意这个细节。

     

作为一般规则,您需要实时存储库的UUID   独特。毕竟,这就是拥有UUID的重点。但是这里有   您希望两个存储库的存储库UUID的时间   完全相同的。例如,如果您为其创建存储库的副本   备份的目的,你希望备份是一个完美的副本   原来这样,如果你必须恢复该备份   并取代实时存储库,用户不要突然看到外观   像一个不同的存储库。转储和加载存储库时   历史(如前面“迁移”一节所述)   Repository Data Elsewhere“),您可以决定是否应用   UUID将数据转储流封装到其中的存储库中   你正在加载数据。具体情况将决定   正确的行为。

     

有几种方法可以设置(或重置)存储库的UUID,   你需要吗?从Subversion 1.5开始,这就像使用一样简单   svnadmin setuuid命令。如果为此子命令提供了   显式UUID,它将验证UUID是否格式良好然后   将存储库UUID设置为该值。如果省略UUID,a   将为您的存储库生成全新的UUID。