0

我正在尝试在 CentOS 6.10 中进行集群

我的 Jdk 版本,JRE=

java version "1.8.0_60" javac 1.8.0_60

这是 ip =192.168.4.109 的 config.tdsl 文件

admins = [
    'admin@imrggn.com'
]
'config-type' = 'default'
debug = [ 'server' ]
'default-virtual-host' = 'imrggn.com'
dataSource () {
    default () {
        uri = 'jdbc:derby:tigasedb;create=true'
    }
}
'audit-log' () {}
http () {
    setup () {
        'admin-password' = 'tigase'
        'admin-user' = 'admin'
    }
}
pubsub () {
    trusted = [ 'http@{clusterNode}' ]
}
'sess-man' () {
    'audit-log' () {}
}



'dns-resolver' {
-'tigase-resolver-class' = -'tigase.util.DNSResolverDefault'
-'tigase-primary-address' = -'192.168.4.109'
-'tigase-secondary-address' = -'192.168.4.109'
}

stun (class: tigase.stun.StunComponent) {
-'stun-primary-ip' = -'mc2.imrggn.com'
-'stun-primary-port' = 3478
-'stun-secondary-ip' = -'hey-sjain-l'
-'stun-secondary-port' = 7001


}

'cluster-mode' = true
'cluster-nodes' = [ -'mc2.imrggn.com', -'mc1.imrggn.com']

当我运行 Wireshark 即 tcp.port==5277 时,我根本看不到默认端口仅为 5277 的地方,因此在两台机器上都没有显示任何价值

lsof -iTCP:5277显示java 21155 root 175u IPv6 733910 0t0 TCP *:5277 (LISTEN)

我的 ip =192.168.4.109主机名 =mc2.imrggn.com 而另一台机器是我的 ip =192.168.4.111主机名 =mc1.imrggn.com

怎么了 ?

4

1 回答 1

0

问题归结为您的数据库设置(`uri = 'jdbc:derby:tigasedb;create=true') - 要使集群正常工作(并且有意义),您必须使用可供所有集群使用的数据库节点(在本例中为 MySQL、PostgreSQL、Microsoft SQLServer 或 MongoDB)。

原因有两个:

  • 如果您将在所有节点上使用本地 DerbyDB,那么所有信息都将是本地的(即,您将在每个节点上拥有不同的用户列表
  • (更重要的是) Tigase 使用集群自动发现,它利用数据库(每个节点通过共享数据库宣布它的可用性)
于 2020-06-09T16:58:28.510 回答