【问题标题】:Accessing to a MariaDB Galera Cluster on Ubuntu 16.04 from SpringBoot app从 SpringBoot 应用程序访问 Ubuntu 16.04 上的 MariaDB Galera 集群
【发布时间】:2019-01-07 09:06:13
【问题描述】:

我在 Ubuntu 16.04 上的 2 个节点上安装了 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)

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

【问题讨论】:

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


    【解决方案1】:

    需要设置浮动IP并安装Keepalived

    【讨论】:

      【解决方案2】:

      您有几个选择。看看MariaDB JDBC connector documentation

      例如,如果你只想有一个故障转移方案,你应该这样设置 jdbc url:

      jdbc:mariadb:sequential://mainHost,failoverHost/your_database?autoReconnect=true
      

      “顺序”模式意味着应用程序将尝试始终连接到第一个主机并仅在第一个节点不可用时切换到故障转移节点。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-30
        • 2019-01-07
        • 1970-01-01
        • 2021-09-23
        • 2014-04-15
        • 2016-07-22
        相关资源
        最近更新 更多