我正在尝试在 CentOS 6.10 中进行集群
我的 Jdk 、 JRE 版本=
java 版本“1.8.0_60”
javac 1.8.0_60
这是我的 config.tdsl 文件,ip =192.168.4.109
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
出了什么问题?
最佳答案
问题归结为您的数据库设置(`uri = 'jdbc:derby:tigasedb;create=true') - 为了使集群工作(并有意义),您必须使用可用的数据库到所有集群节点(在本例中为 MySQL、PostgreSQL、Microsoft SQLServer 或 MongoDB)。
原因有两个:
- 如果您要在所有节点上使用本地 DerbyDB,那么所有信息都将是本地的(即每个节点上都会有不同的用户列表
- (更重要)Tigase 使用利用数据库的集群自动发现(每个节点通过共享数据库宣布其可用性)
关于java - 无法在 CentOS6.10 64 位上的 Tigase Server 中进行集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62281089/