Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xtradb cluster #20

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

Xtradb cluster #20

wants to merge 12 commits into from

Conversation

jrmoserbaltimore
Copy link

Was a bit over-zealous before. First time working on an open source project, sent a pull request before it was ready.

I was going to request a pull to development, but your development branch looks like it needs a sync to your master branch badly.

This works well now. Sample configuration below.

node /^db-\d+\.example\.com$/ {
  $svr_idx = regsubst($fqdn, '^db-(\d+)\.example\.com', '\1')

  # Install the cluster database server
  # Just YAML this and use hiera
  class { 'percona':
    server => 'true',
    cluster => 'true',
    cluster_index => $svr_idx,
    cluster_name => 'db-cluster',
    cluster_node_name => $hostname,
    cluster_address => $svr_idx ? {
      1 => 'gcomm://',
      default => 'gcomm://db-1.example.com',
    },
    cluster_replication_user => 'cluster',
    cluster_replication_password => 'cluster_password',
    targetdir => '/var/lib/mysql/backup',
# Set as below to install Percona-XtraDB-Cluster-common
# Otherwise leave undef, or you can't install redhat-lsb
#    pkg_compat => false,
    manage_repo  => 'true',
# Required.  If /etc/my.cnf is root:root, xtrabackup fails
# as it tries to reread the file as user mysql
    config_user  => 'mysql',
    config_group  => 'mysql',
# Do this if /var/lib/mysql is a mount point
    datadir => '/var/lib/mysql/db/',
    configuration => {
# Query cache is currently disabled with wsrep
#      'mysqld/query_cache_size' => '16M',
#      'mysqld/query_cache_limit' => '8M',
#      'mysqld/query_cache_type' => '1',
      'mysqld/max_connections' => '536',
      'mysqld/interactive_timeout' => '300',
      'mysqld/wait_timeout' => '300',
      'mysqld/connect_timeout' => '10',
      'mysqld/thread_cache_size' => '512',
      'mysqld/expire_logs_days' => '30',
      'mysqld/max_binlog_size' => '256M',
      'mysqld/table_cache' => '1024',
#      'mysqld/table_open_cache' => '512',
      'mysqld/table_definition_cache' => '1024',
      'mysqld/auto_increment_offset' => $svr_idx,
# Should be at least 2x the number of cores,
# or 1/4 the number of writing client connections
# the other nodes have
# Set to 1 if you have ANY tables without primary keys!
# Tables without primary keys make MySQL slow, so fix that...
      'mysqld/wsrep_slave_threads' => '1',
# This attempts to retry the commit 4 times if there's a deadlock
      'mysqld/wsrep_retry_autocommit' => '4',
    },
  }

  file { '/var/lib/mysql/backup':
    ensure => directory,
    mode => 'ug+rwX,o=r,o-x',
    owner => 'mysql',
    group => 'mysql',
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant