linux - 从 SpringBoot 应用程序访问 Ubuntu 16.04 上的 MariaDB Galera 集群

标签 linux spring-boot mariadb ubuntu-16.04 mariadb-connect-engine

我在 2 个节点的 Ubuntu 16.04 上安装了 MariaDB Galera 集群。

这里是来自 node1 的信息:

root@localhost:~# sudo more /etc/mysql/conf.d/galera.cnf
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.143.81,192.168.148.75"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.143.81"
wsrep_node_name="Node1"

这里是来自 node2 的信息:

mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.143.81,192.168.148.75"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.148.75"
wsrep_node_name="Node2”

我正在从 Java 应用程序访问数据库。具有这些属性:

spring.datasource.url=jdbc:mysql://192.168.143.81:3306/can_peris_db
spring.datasource.username=peris
spring.datasource.password=3nRam0nD3L3s0l1v3s
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.format_sql=true
hibernate.dialect=org.hibernate.dialect.MySQLDialect

一切正常,数据在两个数据库中都被复制了。但是当我关闭服务器 192.168.143.81 时,我得到了错误 java.net.NoRouteToHostException: No route to host (Host unreachable)

有没有办法自动连接到可用的主机?

最佳答案

需要设置 float IP并安装Keepalived

关于linux - 从 SpringBoot 应用程序访问 Ubuntu 16.04 上的 MariaDB Galera 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51605405/

相关文章:

spring-boot - CORS 与 Spring Boot - 将 GET 请求限制到某些域

mysql - 如何创建一个 jpa 查询,该查询采用多个(动态)范围数量的 Between 子句来获取结果

java - MySQL--字段列表中的未知列

javascript - 多个数据库查询以 json 对象形式返回。更清洁的方法?

mysql - kernel limit "open file limit "和mysql "Opened_files"相关吗?

linux - cp 命令在 Linux 中失败

linux - 如何从 grep -R 中排除目录?

linux - 检查哪个脚本在/tmp 中创建文件

java - Couchbase DefaultOrphanResponseReporter 观察到的孤儿 react

创建多个子进程并运行execvp