MariaDB Galera Cluster集群企业版编译安装与配置

安装环境

系统:CentOS 6.8 x86_64

软件:MariaDB 10.1.16

节点一:192.168.11.132 4C 8GB

节点二:192.168.11.133 4C 8GB

软件获取

访问MariaDB企业版下载地址 https://mariadb.com/my_portal/download/mariadb-enterprise 登录帐号后选择 10.1.16GA版本 源代码包下载。

从MariaDB Enterprise 10.1版本开始,企业版软件包与集群功能集成到一起,所以下载软件包就一个。

下载源代码包到CentOS系统的/usr/src目录下

访问galeracluster官网 http://galeracluster.com/ 下载页面

选择目前最新版Galera 3 wsrep源代码包下载到CentOS系统的/usr/src目录

下载完成后将两个软件包拷贝到各个节点的/usr/src目录下

安装过程

1.添加epel的yum源

rpm -vih http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm

2.重新生成yum源缓存

yum clean all;yum makecache

3.使用yum来安装必要的软件包

yum install -y ntp ntpdate libaio jemalloc ncurses-devel make cmake bison zlib zlib-devel openssl openssl-devel gcc gcc-c++ rsync scons boost boost-devel check check-devel

4.利用文件CRC校验码来判断,如果/etc/localtime与/usr/share/zoneinfo/Asia/Shanghai不是同一个文件,则系统时区不为亚洲上海,此时需要拷贝或链接/usr/share/zoneinfo/Asia/Shanghai文件到/etc/localtime文件覆盖。

5.与ntp server同步来更新系统时间

ntpdate 0.centos.pool.ntp.org

hwclock -w

/etc/init.d/ntpd start

chkconfig ntpd on

chkconfig ntpdate on

6.关闭系统防火墙服务与selinux服务

/etc/init.d/iptables stop

/etc/init.d/ip6tables stop

chkconfig iptables off

chkconfig ip6tables off

setenforce 0

7.解压galera压缩包,拷贝到/usr/local并重命名

tar zxf galera-3-25.3.17.tar.gz

mv galera-3-25.3.17 /usr/local/galera

8.使用scons命令来编译安装galera

9.安装完成会生成/usr/local/galera/libgalera_smm.so模块

10.切换到/usr/src目录解压mariadb-enterprise配置

cd /usr/src/

tar zxf mariadb-enterprise-10.1.16.tar.gz

cd mariadb-10.1.16/

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DDEFAULT_SYSCONFDIR=/usr/local/mariadb/etc -DMYSQL_DATADIR=/usr/local/mariadb/data  -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mariadb/mariadb.sock -DMYSQL_USER=mariadb -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=ON

11.用cpu的4核心同时编译

make -j 4

12.安装

make install

13.创建mariadb用户及相应目录

useradd -M -s /sbin/nologin mariadb

mkdir -p /usr/local/mariadb/etc

mkdir -p /usr/local/mariadb/run

mkdir -p /usr/local/mariadb/log

14.如果存在/etc/my.cnf文件,请删除或改名。并创建新的配置文件

mv /etc/my.cnf /etc/my.cnf.bak

cp support-files/my-large.cnf.sh /usr/local/mariadb/etc/my.cnf

15.编辑/usr/local/mariadb/etc/my.cnf修改port与socket参数,并在[mysqld]添加

pid-file        = /usr/local/mariadb/run/mariadb.pid

log-error       = /usr/local/mariadb/log/mariadb.log

16.修改mariadb目录所有者

chown -R mariadb:mariadb /usr/local/mariadb/

17.初始化mariadb数据库

/usr/local/mariadb/scripts/mysql_install_db --user=mariadb --basedir=/usr/local/mariadb/ --datadir=/usr/local/mariadb/data/

18.修改/usr/local/mariadb/bin/mysqld_safe文件参数

user=‘mariadb‘

19.启动mariadb数据库

/usr/local/mariadb/bin/mysqld_safe &

20.查看进程与端口状态

21.创建启动脚本

cp /usr/src/mariadb-10.1.16/support-files/mysql.server /etc/init.d/mariadb

chmod 755 /etc/init.d/mariadb

22.修改/etc/init.d/mariadb文件如下参数

basedir=/usr/local/mariadb

datadir=/usr/local/mariadb/data

mysqld_pid_file_path=/usr/local/mariadb/run/mariadb.pid

23.添加chkconfig管理

chkconfig --add mariadb

24.测试启动功能

25.配置mariadb数据库root账户登录密码,并进行安全配置。

/usr/local/mariadb/bin/mysql_secure_installation

26.使用密码登录数据库

/usr/local/mariadb/bin/mysql -u‘root‘ -p‘D5)Ga!3‘

27.创建用于同步数据库的sst帐号

GRANT USAGE ON *.* to [email protected]‘%‘ IDENTIFIED BY ‘g#ds0Gl‘;

GRANT ALL PRIVILEGES on *.* to [email protected]‘%‘;

FLUSH PRIVILEGES;

28.停止数据库

/etc/init.d/mariadb stop

修改配置文件 /usr/local/mariadb/etc/my.cnf 在末尾加入

!includedir /usr/local/mariadb/etc/my.cnf.d/

29.创建/usr/local/mariadb/etc/my.cnf.d/目录与wsrep.cnf配置文件

mkdir /usr/local/mariadb/etc/my.cnf.d/

cp /usr/src/mariadb-10.1.16/support-files/wsrep.cnf.sh /usr/local/mariadb/etc/my.cnf.d/wsrep.cnf

chown -R mariadb.mariadb /usr/local/mariadb/etc/my.cnf.d/

在节点二(如果存在多个节点请在其他每个节点)执行以上1到29步骤安装配置数据库。

在节点一执行:

修改/usr/local/mariadb/etc/my.cnf.d/wsrep.cnf在[mysqld]部分以下参数

wsrep_on=on

binlog_format=ROW

default-storage-engine=innodb

innodb_autoinc_lock_mode=2

bind-address=0.0.0.0

wsrep_provider=/usr/local/galera/libgalera_smm.so

wsrep_cluster_name="my_wsrep_cluster"

wsrep_cluster_address="gcomm://192.168.11.132,192.168.11.133"

wsrep_node_name=node01

wsrep_node_address=192.168.11.132

wsrep_sst_method=rsync

wsrep_sst_auth=sst:g#ds0Gl

启动集群服务

/etc/init.d/mariadb bootstrap

查看日志/usr/local/mariadb/log/mariadb.log有 WSREP: Synchronized with group, ready for connections 信息表示集群服务启动成功。

tail /usr/local/mariadb/log/mariadb.log

在节点二执行:

修改/usr/local/mariadb/etc/my.cnf.d/wsrep.cnf在[mysqld]部分以下参数

wsrep_on=on

binlog_format=ROW

default-storage-engine=innodb

innodb_autoinc_lock_mode=2

bind-address=0.0.0.0

wsrep_provider=/usr/local/galera/libgalera_smm.so

wsrep_cluster_name="my_wsrep_cluster"

wsrep_cluster_address="gcomm://192.168.11.132,192.168.11.133"

wsrep_node_name=node02

wsrep_node_address=192.168.11.133

wsrep_sst_method=rsync

wsrep_sst_auth=sst:g#ds0Gl

启动集群服务

/etc/init.d/mariadb start

日志详情

如有多个节点,请参照节点二配置。

在任意一节点登录mariadb数据库

查看集群功能是否开启

show status like ‘wsrep_ready‘;

初始化数据库显示情况

show variables like ‘wsrep_cluster_address‘;

查看集群相关参数

show status like ‘wsrep%‘;

wsrep_cluster_size集群规模节点数

wsrep_cluster_state_uuid集群uuid

wsrep_connected连接状态

wsrep_ready启动状态

查看各节点数据库系统时间是否一致

select now();

测试在一个创建数据库与数据表

create database base;

use base;

create table pet(name varchar(20), owner varchar(20),species varchar(20),sex char(1),birth date, death date);

在另一个节点查看已经同步成功

在另一个节点向数据表插入一条记录

insert into pet values(‘Puffball‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,null);

在其他节点查看记录已经同步

select * from pet;

删除数据库

drop database base;

至此MariaDB Galera Cluster集群部署成功。

时间: 2024-07-30 13:47:21

MariaDB Galera Cluster集群企业版编译安装与配置的相关文章

MariaDB Galera Cluster集群

一.MariaDB Galera Cluster概要: 1.简述: MariaDB Galera Cluster 是一套在mysql innodb存储引擎上面实现multi-master及数据实时同步的系统架构,业务层面无需做读写分离工作,数据库读写压力都能按照既定的规则分发到 各个节点上去.在数据方面完全兼容 MariaDB 和 MySQL. 2.特性: (1).同步复制 Synchronous replication (2).Active-active multi-master 拓扑逻辑 (

实战Mariadb galera Cluster集群架构

Mariadb galera Cluster安装:操作系统:Centos7.4版本集群数量:3个节点主机信息: 192.168.153.142 node1 selinux=disabled firewalld关闭192.168.153.143 node2 selinux=disabled firewalld关闭192.168.153.144 node3 selinux=disabled firewalld关闭搭建步骤1.主机之间互相解析:三台节点都要执行vim /etc/hosts192.168

理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 (2)Swift 原理和架构 (3)Swift 监控 (4)Swift 性能 要实现的系统的效果图: 特点: 使用三个对等物理节点,每个节点上部署所有Swift 服务 使用开源的 UCARP 控制一个 VIP,它会被绑定到三个物理网卡中的一个. 使用开源的 HAProxy 做负载均衡 开启 Swift

galera cluster集群的分裂与仲裁机制

集群的分裂  当集群由于网络原因分裂为几个单独的组时(一组可能是单节点,也可能是几个互联的节点),数据出现不一致,此时可能产生脑裂及数据不一致.这种情况下,只有一组节点能够继续提供服务,这组节点的状态是primary.当这种状况发生时,galera cluster会启动特别的仲裁算法来选举一个组件作为primary组件. cluster size决定了quorum仲裁的投票数(因此是单数比较好,避免产生脑裂——这扩展到其他的设备也是适用的,比如交换机.网络.数据中心,至少使用3个),当一个节点不

Mariadb Cluster+Haproxy+keepalived 集群的详细安装与配置

要点概括 1.关闭iptables 或者设置常用端口为accept(关闭省事) 2.修改/etc/hosts ,设置RSA互信,避免在传文件需要密码 3.使用mariadb或者其他版本的DB带有WSREP功能 4.修改配置文件,在原来初始化的基础上加上WSREP的参数 5.启动第一个节点 6.在第一节点设置其他2节点的连接用户名和密码和配置文件设置一致 7.初始化启动其他节点 8.集群负载均衡和单点故障使用haproxy+keepalived 9.Haproxy+cluster状态检测 10.h

redis3.0 集群实战1 -- 安装和配置

本文主要是在centos7上安装和配置redis集群实战 参考: http://hot66hot.iteye.com/blog/2050676 集群教程: http://redisdoc.com/topic/cluster-tutorial.html#id2 1 安装准备 1.1 下载redis3.0版本 到redis官网redis.io或者redis中文官网www.redis.cn上(http://www.redis.cn/download.html)去下载最新的版本,我下载的是redis3.

solrcloud(solr集群版)安装与配置

1 Solr集群 1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求. SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心. 它有几个特色功能: 1)集中式的配置

分布式架构高可用架构篇_02_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试

从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于ZooKeeper + LevelDB的 Master-Slave实现方式,其他两种方式目录共享和数据库共享依然存在. 三种集群方式的对比: (1)基于共享文件系统(KahaDB,默认): <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persi

mariadb gelera cluster集群参数介绍

参考官网:https://mariadb.com/kb/en/mariadb/galera-cluster-system-variables/#wsrep_notify_cmd