部署mariadb高可用
上传文件到opt目录下
Galera能够实现MySQL/MariaDB数据库的主主复制和多主复制等模式,这些复制模式都是同步进行的,同步时间非常短。
每一个节点都可以同时写入和读取,当某一节点发生故障时,可自动从集群中自动剔除。
HAProxy能提供负载均衡和故障判断等功能解决服务器系统存在的单点故障。
Keepalived能提供客户端连接数据库时使用的虚拟IP地址(VIP)。
(1)主节点
IP地址:node-1 192.168.1.74
(2)备份节点
IP地址:node-2 192.168.1.75
编辑每个节点/etc/hosts文件,添加所有节点IP地址和主机名
vi /etc/hosts
192.168.1.74 node-1
192.168.1.75 node-2
关闭selinux
# vi /etc/selinux/config
SELINUX=permissive
关闭防火墙并设置开机不自启
# systemctl stop firewalld
配置yum源文件
# vi /etc/yum.repos.d/mariadb.repo
#yum clean all
#yum list
安装服务(node-1节点和node-2节点)
#yum install MariaDB-server galera
修改配置文件
(1)修改/etc/my.cnf,添加以下内容(node-1节点和node-2节点)
#vi /etc/my.cnf
[mysqld] max_connect_errors=1000
(2)配置主节点node-1
#vi /etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=
bind-address=0.0.0.0 wsrep_cluster_name="MariaDB_Cluster"
wsrep_node_address="192.168.1.74"
wsrep_sst_method=rsyn
(3)配置备份节点node-2
#vi /etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_address="gcomm://192.168.1.74,192.168.1.75" binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0 wsrep_cluster_name="MariaDB_Cluster"
wsrep_node_address="192.168.1.75"
wsrep_sst_method=rsync
启动服务
node-1节点:
#/bin/galera_new_cluster
node-2节点:
#systemctl start mariadb
测试集群状态
(1)查询集群状态
#mysql -u root -p
MariaDB [(none)]> show status like 'wsrep_%';
+------------------------------+---------------------------------------+
| Variable_name | Value |
+------------------------------+---------------------------------------+
| wsrep_apply_oooe | 0.000000 |
| wsrep_apply_oool | 0.000000 |
| wsrep_apply_window | 0.000000 |
| wsrep_causal_reads | |
| wsrep_cert_deps_distance | 0.000000 |
| wsrep_cert_index_size | |
| wsrep_cert_interval | 0.000000 |
| wsrep_cluster_conf_id | |
| wsrep_cluster_size | |
| wsrep_cluster_state_uuid | 841486a3-b56a-11e8-a451-d7d8f2309253 |
| wsrep_cluster_status | Primary |
| wsrep_commit_oooe | 0.000000 |
| wsrep_commit_oool | 0.000000 |
| wsrep_commit_window | 0.000000 |
| wsrep_connected | ON |
| wsrep_desync_count | |
| wsrep_evs_delayed | |
| wsrep_evs_evict_list | |
| wsrep_evs_repl_latency | //// |
| wsrep_evs_state | OPERATIONAL |
| wsrep_flow_control_paused | 0.000000 |
| wsrep_flow_control_paused_ns | |
| wsrep_flow_control_recv | |
| wsrep_flow_control_sent | |
| wsrep_gcomm_uuid | 8412f980-b56a-11e8-bb08-4fd6339a7674 |
| wsrep_incoming_addresses | 192.168.100.11:,192.168.1.74: |
| wsrep_last_committed | |
| wsrep_local_bf_aborts | |
| wsrep_local_cached_downto | |
| wsrep_local_cert_failures | |
| wsrep_local_commits | |
| wsrep_local_index | |
| wsrep_local_recv_queue | |
| wsrep_local_recv_queue_avg | 0.166667 |
| wsrep_local_recv_queue_max | |
| wsrep_local_recv_queue_min | |
| wsrep_local_replays | |
| wsrep_local_send_queue | |
| wsrep_local_send_queue_avg | 0.000000 |
| wsrep_local_send_queue_max | |
| wsrep_local_send_queue_min | |
| wsrep_local_state | |
| wsrep_local_state_comment | Synced |
| wsrep_local_state_uuid | 841486a3-b56a-11e8-a451-d7d8f2309253 |
| wsrep_protocol_version | |
| wsrep_provider_name | Galera |
| wsrep_provider_vendor | Codership Oy <info@codership.com> |
| wsrep_provider_version | 25.3.(r3764) |
| wsrep_ready | ON |
| wsrep_received | |
| wsrep_received_bytes | |
| wsrep_repl_data_bytes | |
| wsrep_repl_keys | |
| wsrep_repl_keys_bytes | |
| wsrep_repl_other_bytes | |
| wsrep_replicated | |
| wsrep_replicated_bytes | |
| wsrep_thread_count | |
+------------------------------+---------------------------------------+
rows in set (0.00 sec)
如果 "wsrep_local_state_comment" is "Synced" 则表明集群创建成功
(3)数据同步
在node-1上新建数据库galera_test
MariaDB [(none)]> create database galera_test;
MariaDB [(none)]> show databases;
在node-2上查询
MariaDB [(none)]> show databases;
部署mariadb高可用的更多相关文章
- 部署MYSQL高可用集群
mysql-day08 部署MYSQL高可用集群 u 集群架构 ...
- 腾讯云部署keepalived高可用
使用背景: 通过调用python SDK在腾讯云手动部署keepalived高可用 部署环境 系统:centos7.3 Master:192.168.0.100 Slave:192.168.0.14 ...
- (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)
参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...
- 部署zookeepe高可用集群
部署zookeepe高可用集群 部署规划 Nno1 192.16 ...
- 一键部署Kubernetes高可用集群
三台master,四台node,系统版本为CentOS7 IP ROLE 172.60.0.226 master01 172.60.0.86 master02 172.60.0.106 master0 ...
- 容器化部署Cassandra高可用集群
前提: 三台装有docker的虚拟机,这里用VM1,VM2,VM3表达(当然生产环境要用三个独立物理机,否则无高可用可言),装docker可参见Ubuntu离线安装docker. 开始部署: 部署图 ...
- Hadoop部署方式-高可用集群部署(High Availability)
版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参考:https://www.cnblogs.com/yinzhengjie/p/90651 ...
- RabbitMQ集群部署、高可用和持久化
RabbitMQ 安装和使用 1.安装依赖环境 在 http://www.rabbitmq.com/which-erlang.html 页面查看安装rabbitmq需要安装erlang对应的版本 在 ...
- Linux 系统中部署 LNMP 高可用负载均衡架构集群实现动态博客
(一)设计思路 高可用:keepalived 解决方案 负载均衡:(lvs)DR做轮询,需要一个调度器,后端节点两个(部署nginx动态博客),通过一个vip去访问动态博客 后端节点需要部署动态博客作 ...
随机推荐
- 网络编程(socket,套接字)
服务端地址不变 ip + mac 标识唯一一台机器 ip +端口 标识唯一客户端应用程序 套接字: 网络编程 网络编程 一.python提供了两个级别访问的网络服务 低级别的网络服务支持基本的 S ...
- SHA1
整理于互动百科 安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital ...
- 仿sql注入 sql
<?phpclass sqlsafe { //(and|or)\\b 表示以and和or结尾的单词如:aand,band,都可以匹配//如果匹配and或or则使用 \\b(and|or)\\b来 ...
- Java中多线程
引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个 ...
- [LeetCode&Python] Problem 806. Number of Lines To Write String
We are to write the letters of a given string S, from left to right into lines. Each line has maximu ...
- java语法基础练习
1.阅读示例: EnumTest.java,并运行.分析结果 代码: public class EnumTest { public static void main(String[] args) { ...
- smarty学习——内建函数(部分接上)
9.{foreach} {foreachelse} 格式如下: {foreach $arrayvar as $itemvar} {foreach $arrayvar as $keyvar=>$i ...
- Apache+modjk布置tomcat集群
一.版本: Apache: 2.2.14: 下载地址:http://archive.apache.org/dist/httpd/binaries/win32/ Mod_jk:tomcat-connec ...
- RAC6——crsctl 和 srvctl 命令的区别理解
Oracle Clusterware提供了丰富的工具,我们把常用的工具按照rac的四层机构做了划分,然后分别介绍: 节点层: olsnodes 参数-n -i -p 网络层: oifcfg 四个子命令 ...
- Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
Mac下当你在[终端]输入java -version时,是执行的哪里的java呢,which java命令可以看到,就是[/usr/bin/java] [/usr/bin/java]只是个替身,实际指 ...