ITPub博客

centos 6.9搭建pxc集群

原创 数据架构 作者:贺子_DBA时代 时间:2018-10-09 17:48:06 0 删除 编辑

一:环境介绍:

10.1.32.49 

10.1.32.50

10.1.32.36

其中操作系统全部为 :centos 6.9 ,并且49和50是数据库集群的数据节点,36为鉴证节点或者叫选举节点,安装的percona 5.6版本,其中鉴证节点的garb安装的是garbd-3版本

二:正式安装:

2.1.首先安装相关的yum 源:

1-3版本的yum源:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

1-4版本的yum源:(一般选择新版本)

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

装一些centos源里面没有的软件的源

yum install http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

查看关于percona的yum源存在否:

[root@ory-newcaiwu-mysql-02 ~]# rpm  -qa  | grep  percona

percona-xtrabackup-24-2.4.9-1.el6.x86_64

percona-release-0.1-4.noarch

percona-toolkit-3.0.6-1.el6.x86_64

2.2 关闭防火墙和 Selinux

service iptables stop

chkconfig iptables off

vi /etc/selinux/config

SELINUX=disabled

2.2.查看已经安装的Percona的版本,如果不是自己需要的,那么卸载掉,防止冲突!

[root@ory-newcaiwu-mysql-01 ~]# yum list  Percona*

或者

[root@ory-newcaiwu-mysql-02 ~]# rpm  -qa  | grep  Percona*

卸载系统本身有的 Percona

[root@ory-newcaiwu-mysql-01 ~]# yum remove   Percona*

安装pxc具体需要安装下面几个包,真正安装的时候只需要 Percona-XtraDB-Cluster-server-56即可,其余的都作为依赖包自动安装上了!

yum -y install Percona-XtraDB-Cluster-server Percona-XtraDB-Cluster-client Percona-Server-shared-compat percona-xtrabackup

查看Percona的各个版本的包的名字,以便于具体选择特定的版本:

[root@ory-newcaiwu-mysql-02 ~]# rpm  -qa  | grep  Percona*

2.3使用yum安装,只需要安装 Percona-XtraDB-Cluster-server即可,别的都是他的依赖包,一并都给自动安装了,如下我们选择的是5.6版本的mysql:

[root@ory-newcaiwu-mysql-02 ~]# yum install   -y  Percona-XtraDB-Cluster-server-56

2.4.然后配置参数/etc/my.cnf,两个数据节点配置参数基本相同,需要改个别参数;

[mysqld]
# GENERAL
datadir                                                                 = /data/mysqldata
tmpdir                                                                  = /tmp
socket                                                                  = /data/mysqldata/mysql.sock
pid_file                                                                = /data/mysqldata/mysql.pid
user                                                                    = mysql
port                                                                    = 3306
character-set-server                                                    = utf8
bind-address                                                            = 0.0.0.0
server-id                                                               = 1013250
skip-name-resolve
lower_case_table_names                                                  = 1
# INNODB
# This changes how |InnoDB| autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode                                                = 2
innodb_buffer_pool_size                                                 = 90G
innodb_buffer_pool_instances                                            = 8
innodb_thread_concurrency                                               = 40
innodb_log_buffer_size                                                  = 32M
innodb_log_file_size                                                    = 1024M
innodb_online_alter_log_max_size                                        = 512M
innodb_open_files                                                       = 65535
innodb_purge_threads                                                    = 8
innodb_data_home_dir                                                    = /data/mysqldata
innodb_data_file_path                                                   = ibdata1:256M:autoextend
innodb_read_io_threads                                                  = 8
innodb_write_io_threads                                                 = 8
innodb_file_per_table                                                   = 1
innodb_flush_method                                                     = O_DIRECT
innodb_flush_log_at_trx_commit                                          = 2
innodb_max_dirty_pages_pct                                              = 90
innodb_file_format                                                      = Barracuda
innodb_file_format_max                                                  = Barracuda
innodb_io_capacity                                                      = 512
innodb_io_capacity_max                                                  = 4096

#event_scheduler                                                        = OFF

# MyISAM
key_buffer_size                                                         = 32M

# LOGS
#general_log                                                            = 1
#general_log_file                                                       = /data/logs/mysql/mysql_general.log
log_warnings                                                            = 2
log_error                                                               = /data/logs/mysql/mysql_error.log
slow_query_log                                                          = ON
slow_query_log_file                                                     = /data/logs/mysql/mysql_slow.log
log_queries_not_using_indexes                                           = 0
long_query_time                                                         = 1
expire_logs_days                                                        = 15
log-bin                                                                 = mysql-bin.log
innodb_print_all_deadlocks                                              = 1
relay-log                                                               = relay-log
relay-log-index                                                         = relay-log
log_bin_trust_function_creators                                         = 1
# BINLOG
# In order for Galera to work correctly binlog format should be ROW
binlog_format                                                           = ROW
binlog_cache_size                                                       = 32M
max_binlog_size                                                         = 512M
log_bin_trust_function_creators                                         = 1

# OTHER
default_storage_engine                                                  = InnoDB
tmp_table_size                                                          = 32M
max_heap_table_size                                                     = 128M
query_cache_type                                                        = 0
query_cache_size                                                        = 0M
max_connections                                                         = 1024
thread_cache_size                                                       = 600
open_files_limit                                                        = 65535
innodb_buffer_pool_load_at_startup                                      = ON
innodb_buffer_pool_dump_at_shutdown                                     = ON
auto_increment_offset                                                   = 1
optimizer-switch                                                        = "mrr=on,mrr_cost_based=off,batched_key_access=on"
join_buffer_size                                                        = 16M
expand_fast_index_creation                                              = 1
sort_buffer_size                                                        = 16M
max_allowed_packet                                                      = 16M
sql_mode                                                                = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
# WSREP
wsrep_auto_increment_control                                            = OFF
# Path to Galera library
wsrep_provider                                                          = /usr/lib64/libgalera_smm.so
# Cluster connection URL
wsrep_cluster_address                                                   = gcomm://10.1.32.49:4567,10.1.32.50:4567
# Node #1 address
wsrep_node_address                                                      = 10.1.32.50 # local IP
# SST method
wsrep_sst_method                                                        = xtrabackup-v2
# Cluster name
wsrep_cluster_name                                                      = XFXJ_CAIWU_CLUSTER
# Authentication for SST method
wsrep_sst_auth                                                          = "sstuser:LLivTGmIWpVohjMD"
wsrep_max_ws_rows                                                       = 500000
wsrep_max_ws_size                                                       = 2147483647
wsrep_slave_threads                                                     = 40
wsrep_provider_options                                                  = "gcache.size=32G; gcache.page_size=512M; gcs.fc_limit = 4096;gcs.fc_master_slave = yes"

#Replication
log_slave_updates                                                       = 1
slave_parallel_worker                                                   = 4
gtid-mode                                                               = on
enforce_gtid_consistency                                                = true
binlog_checksum                                                         = CRC32
slave_allow_batching                                                    = 1
master_verify_checksum                                                  = 1
slave_sql_verify_checksum                                               = 1
master_info_repository                                                  = TABLE
relay_log_info_repository                                               = TABLE

[client]
socket                                                                  = /data/mysqldata/mysql.sock
port                                                                    = 3306
#default_character_set                                                  = utf8
[mysql]
default-character-set                                                   = utf8
prompt                                                                  ="\\u@\\h : \\d \\R:\\m:\\s>"
no-auto-rehash

2.5初始化数据库主节点:其他的不用刻意的初始化,因为 等你启动第二个节点的时候他会sst同步给第二个节点

mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

2.6.删除匿名账号

mysql -e "delete from mysql.user where user=' ';delete from mysql.user where user='';flush privileges;"

2.7.给管理员账号设密码

mysqladmin -u root password $password

2.8.每台机器mysql添加SST账户

其实只需要在主节点添加即可,因为等你启动第二个节点的时候他会sst同步给第二个节点,那么用户也会同步过去。注意用户名和密码需要在参数wsrep_sst_auth中对应!

CREATE USER 'sstuser' @ 'localhost' IDENTIFIED BY 'liuwenhe' ;

GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT,PROCESS ON *.* TO 'sstuser' @ 'localhost' ;

2.9.启动主节点(以bootstrap-pxc方式启动):

[root@ory-newcaiwu-mysql-01 ~]# /etc/init.d/mysql   #显示mysql启动全部方式!

Usage: mysql {start|stop|restart|restart-bootstrap|reload|force-reload|status|bootstrap-pxc}  [ MySQL (Percona XtraDB Cluster) options ]

以bootstrap-pxc方式启动:

[root@ory-newcaiwu-mysql-01 ~]# /etc/init.d/mysql   bootstrap-pxc

3.0.启动节点32.50,会自动触发集群主节点32.49给它全量同步数据(也就是sst)

[root@ory-newcaiwu-mysql-02 mysqldata]# /etc/init.d/mysql  start

Starting MySQL (Percona XtraDB Cluster)...State transfer in progress, setting sleep higher

....                                                       [  OK  ]

三:32.36上 鉴证节点相关操作:

3.1.安装garb服务:

[root@ory-fanxiqian-Oracle-01 ~]# yum  install Percona-XtraDB-Cluster-garbd-3

3.2.配置gab参数:

[root@ory-fanxiqian-Oracle-01 ~]# cat /etc/sysconfig/garb

# A comma-separated list of node addresses (address[:port]) in the cluster

GALERA_NODES="10.1.32.36:4567 10.1.32.49:4567 10.1.32.50:4567"

# Galera cluster name, should be the same as on the rest of the nodes.

GALERA_GROUP="XFXJ_CAIWU_CLUSTER"

# Optional Galera internal options string (e.g. SSL settings)

# see http://galeracluster.com/documentation-webpages/galeraparameters.html

# GALERA_OPTIONS=""

# Log file for garbd. Optional, by default logs to syslog

# Deprecated for CentOS7, use journalctl to query the log for garbd

LOG_FILE="/tmp/garbd.log"

3.3.启动gab服务:

root@localhost : (none) 17:57:32>show  status  like   'wsrep_cluster_size';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| wsrep_cluster_size | 2    |

+--------------------+-------+

1 row in set (0.00 sec)

[root@ory-fanxiqian-Oracle-01 ~]# /etc/init.d/garb start

其中时候你会发现集群节点数量增加了1,由2变成了3;

root@localhost : (none) 17:57:32>show  status  like   'wsrep_cluster_size';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| wsrep_cluster_size | 3     |

+--------------------+-------+

1 row in set (0.00 sec)

至此两个数据节点+一个仲裁节点的pxc架构搭建完毕,至于相关的参数优化接下来继续更新。。。。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29654823/viewspace-2215775/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-05-12

  • 博文量
    216
  • 访问量
    1498656