SlideShare a Scribd company logo
1 of 25
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Manage Galera Cluster
with Puppet
Configuration management with puppet
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Who am I?
• Krishna Prajapati, MySQL Engineer at Olindata
http://www.olindata.com/
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Overview
• What is puppet (for those not aware)?
• What is Galera Cluster?
• Terminology
• Block Diagram/Feature
• MySQL Parameter for Galera
• Puppet Module for Galera
• Install Galera health check
• Haproxy
• wsrep status
• Questions
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
What is Puppet and why do we care?
• Configuration management software
- http://www.olindata.com/blog/2014/08/puppet-master-agent-setup
- http://olindata.com/blog/2015/03/setup-puppet-server-centos-70
• Scales very well (from 1 to 200k+ nodes)
• Multi-platform (windows, *nix, Mac OS, BSD)
• Commercially supported Open Source
• Infrastructure as code
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
What is Galera Cluster ?
• Galera is a synchronous multimaster database cluster
• Opensource
• Multi-platform (*nix)
• Consists of
- Percona
- MariaDB
- MySQL
• HA
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Terminology
• Synchronous vs Asynchronous
• Failover
• Split Brain
• GTID
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Block Diagram
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Galera Features
• True Multi-master Read and write to any node at any time.
• Synchronous Replication No slave lag, no data is lost at node
crash.
• Tightly Coupled All nodes hold the same state. No diverged
data between nodes allowed.
• Multi-threaded Slave For better performance. For any
workload.
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
• No Master-Slave Failover Operations or Use of VIP.
• Hot Standby No downtime during failover (since there is no
failover).
• Automatic Node Provisioning No need to manually back up
the database and copy it to the new node.
• Supports InnoDB.
• Transparent to Applications Required no (or minimal)
changes) to the application.
• No Read and Write Splitting Needed.
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
[mysqld]
# (This must be substituted by wsrep_format)
binlog_format=ROW
# Currently only InnoDB storage engine is supported
default-storage-engine=innodb
# to avoid issues with 'bulk mode inserts' using autoinc
innodb_autoinc_lock_mode=2
# This is a must for paralell applying
innodb_locks_unsafe_for_binlog=1
# Query Cache is not supported with wsrep
query_cache_size=0
query_cache_type=0
# Override bind-address
# In some systems bind-address defaults to 127.0.0.1, and with mysqldump SST
bind-address=0.0.0.0
MySQL Parameter for Galera
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
1. Github/olindata https://github.com/olindata/puppet-galera
2. Demo.
https://github.com/olindata/olindata-galera-puppet-demo
3. Haproxy (load-balancer)
https://github.com/olindata/puppetlabs-haproxy
Puppet Module for Galera?
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Install Galera using puppet module
class profile::mysql::base {
include mysql::client
# the base profile contains logic to choose either profile::apt or profile::yum
Class['profile::base'] ~> Package['mysql_client']
Class['profile::base'] ~> Package['percona-toolkit']
Class['profile::base'] ~> Package['mysql-server']
Exec['apt_update'] -> Package['mysql_client'] -> Package['mysql-server']
# load the mysql options from hiera and pass them to mysql::server
$override_options = hiera_hash('profile::mysql::base::override_options', undef)
if $override_options {
class { 'mysql::server':
override_options => $override_options,
require => [Package['mysql_client']]
}
} else {
# we don't use default options, so error if nothing is found
fail('No hash found in hiera to override default mysql settings in class profile::mysql::base.')
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
# make sure percona toolkit and xtrabackup are present
package { 'percona-toolkit': ensure => latest, }
package { 'xtrabackup':
ensure => latest,
require => Class['profile::apt'],
}
}
From hiera
mysql::client::package_name: 'percona-xtradb-cluster-client-5.6'
mysql::server::package_name: 'percona-xtradb-cluster-server-5.6'
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Install galera health check
class profile::mysql::galera {
include profile::mysql::base
include ::galera
include galera::health_check
# load haproxy frontends
$balancermembers = hiera_hash('profile::mysql::galera::balancermembers', undef)
if $balancermembers {
create_resources('@@haproxy::balancermember', $balancermembers)
}
}
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
health check
root@db01:~# clustercheck
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 43
<html><body>MySQL is running.</body></html>
root@db01:~#
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Install haproxy module
class profile::haproxy::galera {
include ::haproxy
# Make sure the wheezy backports repo is present before attempting the package
if $::lsbdistcodename == 'wheezy' {
Apt::Source['wheezy-backports'] -> Package['haproxy']
}
# load haproxy frontends
$listens = hiera_hash('profile::haproxy::galera::listen', undef)
if $listens {
create_resources('haproxy::listen', $listens)
} else {
fail('No listen settings found in hiera in class profile::haproxy::galera.')
}
}
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Roles
class role::db::galera inherits role {
include profile::mysql::galera
}
class role::db::galeramaster inherits role::db::galera {
include profile::haproxy::galera
}
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
wsrep status
mysql> show global status like '%wsrep%';
+------------------------------+----------------------------------------------------------+
| Variable_name | Value |
+------------------------------+----------------------------------------------------------+
| wsrep_local_state_uuid | 8fbd0b15-8db0-11e4-8fa3-7770ec850cad |
….
| wsrep_commit_window | 0.000000 |
| wsrep_local_state | 4 |
| wsrep_local_state_comment | Synced |
| wsrep_cert_index_size | 0 |
| wsrep_causal_reads | 0 |
| wsrep_cert_interval | 0.000000 |
| wsrep_incoming_addresses | 192.168.56.32:3306,192.168.56.34:3306,192.168.56.33:3306 |
| wsrep_evs_delayed | |
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
wsrep status
| wsrep_incoming_addresses | 192.168.56.32:3306,192.168.56.34:3306,192.168.56.33:3306 |
| wsrep_evs_delayed | |
| wsrep_evs_evict_list | |
| wsrep_evs_repl_latency | 0/0/0/0/0 |
| wsrep_evs_state | OPERATIONAL |
| wsrep_gcomm_uuid | 0d150685-d121-11e4-9961-0f0d19f43e8f |
| wsrep_cluster_conf_id | 6 |
| wsrep_cluster_size | 3 |
| wsrep_cluster_state_uuid | 8fbd0b15-8db0-11e4-8fa3-7770ec850cad |
| wsrep_cluster_status | Primary |
| wsrep_connected | ON |
| wsrep_local_bf_aborts | 0 |
| wsrep_local_index | 0 |
| wsrep_provider_name | Galera |
| wsrep_provider_vendor | Codership Oy <info@codership.com> |
| wsrep_provider_version | 3.8(rf6147dd) |
| wsrep_ready | ON |
+------------------------------+----------------------------------------------------------+
56 rows in set (0.00 sec)
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
node 'master.olindata.vm' {
# this server is a puppetmaster
include role::master
}
node 'galera000.olindata.vm' {
# this server will be a galera node, also having an haProxy instance
include role::db::galeramaster
}
node /^galerad{3}.olindata.vm$/ {
# all other nodes are galera nodes
include role::db::galera
}
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
• Other mysql flavours like MariaDB, Percona can be installed
with the existing module
class { '::mysql::server':
package_ensure => 'present',
package_name => 'mariadb-server',
}
Galera Flavour Install
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Upcoming training
http://olindata.com/training/upcoming
Puppet Fundamentals Training, Manila – April 2015
Monday, April 6, 2015 - 09:00
Philippines
Puppet
Puppet Fundamentals Training, Hyderabad – April 2015
Wednesday, April 15, 2015 - 09:00
India
Puppet
Puppet Fundamentals Training, Jakarta – April 2015
Monday, April 20, 2015 - 09:00
Indonesia
Puppet
Puppet Fundamentals Training, Vienna – April 2015
Monday, April 27, 2015 - 09:00
Austria
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Previous Webinars
• https://www.youtube.com/results?search_query=olind
ata
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
We’re hiring!
EU and Asia based
trainers
jobs@olindata.com
OlinData Webinar 2015 -
https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8
I/edit?usp=sharing
Questions?
@krishna / @olindata
http://www.olindata.com
krishna@olindata.com
http://github.com/olindata

More Related Content

Viewers also liked

CM for MariaDB Galera cluster
CM for MariaDB Galera clusterCM for MariaDB Galera cluster
CM for MariaDB Galera clusterMariaDB plc
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Keon Ahn
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
 
Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014aspyker
 
Icinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate MonitoringIcinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate MonitoringOlinData
 

Viewers also liked (6)

CM for MariaDB Galera cluster
CM for MariaDB Galera clusterCM for MariaDB Galera cluster
CM for MariaDB Galera cluster
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
 
Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014
 
Scaling Docker Registry
Scaling Docker RegistryScaling Docker Registry
Scaling Docker Registry
 
Icinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate MonitoringIcinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate Monitoring
 

Similar to Webinar - Manage Galera Cluster with Puppet

Webinar - Manage user, groups, packages in windows using puppet
Webinar - Manage user, groups, packages in windows using puppetWebinar - Manage user, groups, packages in windows using puppet
Webinar - Manage user, groups, packages in windows using puppetOlinData
 
Webinar - Setup MySQL with Puppet
Webinar - Setup MySQL with PuppetWebinar - Setup MySQL with Puppet
Webinar - Setup MySQL with PuppetOlinData
 
Webinar - Manage Firewall with Puppet
Webinar - Manage Firewall with PuppetWebinar - Manage Firewall with Puppet
Webinar - Manage Firewall with PuppetOlinData
 
Webinar - PuppetDB
Webinar - PuppetDBWebinar - PuppetDB
Webinar - PuppetDBOlinData
 
Nuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSNuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSMatteo Moretti
 
Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaJuan Diego Pereiro Arean
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and MaintenanceJazkarta, Inc.
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRAYaroslav Serhieiev
 
MySQL 8.0.22 - New Features Summary
MySQL 8.0.22 - New Features SummaryMySQL 8.0.22 - New Features Summary
MySQL 8.0.22 - New Features SummaryOlivier DASINI
 
Bgoug 2019.11 test your pl sql - not your patience
Bgoug 2019.11   test your pl sql - not your patienceBgoug 2019.11   test your pl sql - not your patience
Bgoug 2019.11 test your pl sql - not your patienceJacek Gebal
 
POUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love youPOUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love youJacek Gebal
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreVikalp Bhalia
 
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...Frederic Descamps
 
Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner)
Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner) Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner)
Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner) Puppet
 
CQCON CQ Maven Methods
CQCON CQ Maven MethodsCQCON CQ Maven Methods
CQCON CQ Maven MethodsAndrew Savory
 
Ansible + Drupal: A Fortuitous DevOps Match
Ansible + Drupal: A Fortuitous DevOps MatchAnsible + Drupal: A Fortuitous DevOps Match
Ansible + Drupal: A Fortuitous DevOps MatchJeff Geerling
 
More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)Valeriy Kravchuk
 

Similar to Webinar - Manage Galera Cluster with Puppet (20)

Webinar - Manage user, groups, packages in windows using puppet
Webinar - Manage user, groups, packages in windows using puppetWebinar - Manage user, groups, packages in windows using puppet
Webinar - Manage user, groups, packages in windows using puppet
 
Webinar - Setup MySQL with Puppet
Webinar - Setup MySQL with PuppetWebinar - Setup MySQL with Puppet
Webinar - Setup MySQL with Puppet
 
Webinar - Manage Firewall with Puppet
Webinar - Manage Firewall with PuppetWebinar - Manage Firewall with Puppet
Webinar - Manage Firewall with Puppet
 
Webinar - PuppetDB
Webinar - PuppetDBWebinar - PuppetDB
Webinar - PuppetDB
 
Nuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSNuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWS
 
Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers Galicia
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and Maintenance
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRA
 
MySQL 8.0.22 - New Features Summary
MySQL 8.0.22 - New Features SummaryMySQL 8.0.22 - New Features Summary
MySQL 8.0.22 - New Features Summary
 
SQL Server 2014 Backup to Azure - SQL Saturday CR 2015
SQL Server 2014 Backup to Azure - SQL Saturday CR 2015SQL Server 2014 Backup to Azure - SQL Saturday CR 2015
SQL Server 2014 Backup to Azure - SQL Saturday CR 2015
 
Bgoug 2019.11 test your pl sql - not your patience
Bgoug 2019.11   test your pl sql - not your patienceBgoug 2019.11   test your pl sql - not your patience
Bgoug 2019.11 test your pl sql - not your patience
 
POUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love youPOUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love you
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStore
 
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
 
Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner)
Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner) Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner)
Puppet Camp Melbourne 2014: Puppet and a DevOps Journey (Beginner)
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
CQ Maven Methods
CQ Maven MethodsCQ Maven Methods
CQ Maven Methods
 
CQCON CQ Maven Methods
CQCON CQ Maven MethodsCQCON CQ Maven Methods
CQCON CQ Maven Methods
 
Ansible + Drupal: A Fortuitous DevOps Match
Ansible + Drupal: A Fortuitous DevOps MatchAnsible + Drupal: A Fortuitous DevOps Match
Ansible + Drupal: A Fortuitous DevOps Match
 
More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)
 

More from OlinData

AWS Cost Control: Cloud Custodian
AWS Cost Control: Cloud CustodianAWS Cost Control: Cloud Custodian
AWS Cost Control: Cloud CustodianOlinData
 
Introduction to 2FA on AWS
Introduction to 2FA on AWSIntroduction to 2FA on AWS
Introduction to 2FA on AWSOlinData
 
AWS Data Migration case study: from tapes to Glacier
AWS Data Migration case study: from tapes to GlacierAWS Data Migration case study: from tapes to Glacier
AWS Data Migration case study: from tapes to GlacierOlinData
 
Issuing temporary credentials for my sql using hashicorp vault
Issuing temporary credentials for my sql using hashicorp vaultIssuing temporary credentials for my sql using hashicorp vault
Issuing temporary credentials for my sql using hashicorp vaultOlinData
 
Log monitoring with Logstash and Icinga
Log monitoring with Logstash and IcingaLog monitoring with Logstash and Icinga
Log monitoring with Logstash and IcingaOlinData
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CIOlinData
 
Cfgmgmtcamp 2017 docker is the new tarball
Cfgmgmtcamp 2017  docker is the new tarballCfgmgmtcamp 2017  docker is the new tarball
Cfgmgmtcamp 2017 docker is the new tarballOlinData
 
Webinar - Auto-deploy Puppet Enterprise: Vagrant and Oscar
Webinar - Auto-deploy Puppet Enterprise: Vagrant and OscarWebinar - Auto-deploy Puppet Enterprise: Vagrant and Oscar
Webinar - Auto-deploy Puppet Enterprise: Vagrant and OscarOlinData
 
Webinar - High Availability and Distributed Monitoring with Icinga2
Webinar - High Availability and Distributed Monitoring with Icinga2Webinar - High Availability and Distributed Monitoring with Icinga2
Webinar - High Availability and Distributed Monitoring with Icinga2OlinData
 
Webinar - Windows Application Management with Puppet
Webinar - Windows Application Management with PuppetWebinar - Windows Application Management with Puppet
Webinar - Windows Application Management with PuppetOlinData
 
Webinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLabWebinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLabOlinData
 
Webinar - Centralising syslogs with the new beats, logstash and elasticsearch
Webinar - Centralising syslogs with the new beats, logstash and elasticsearchWebinar - Centralising syslogs with the new beats, logstash and elasticsearch
Webinar - Centralising syslogs with the new beats, logstash and elasticsearchOlinData
 
Icinga 2 and puppet: automate monitoring
Icinga 2 and puppet: automate monitoringIcinga 2 and puppet: automate monitoring
Icinga 2 and puppet: automate monitoringOlinData
 
Webinar - Project Management for DevOps
Webinar - Project Management for DevOpsWebinar - Project Management for DevOps
Webinar - Project Management for DevOpsOlinData
 
Using puppet in a traditional enterprise
Using puppet in a traditional enterpriseUsing puppet in a traditional enterprise
Using puppet in a traditional enterpriseOlinData
 
Webinar - Scaling your Puppet infrastructure
Webinar - Scaling your Puppet infrastructureWebinar - Scaling your Puppet infrastructure
Webinar - Scaling your Puppet infrastructureOlinData
 
Webinar - Managing your Docker containers and AWS cloud with Puppet
Webinar - Managing your Docker containers and AWS cloud with PuppetWebinar - Managing your Docker containers and AWS cloud with Puppet
Webinar - Managing your Docker containers and AWS cloud with PuppetOlinData
 
1 m+ qps on mysql galera cluster
1 m+ qps on mysql galera cluster1 m+ qps on mysql galera cluster
1 m+ qps on mysql galera clusterOlinData
 
Workshop puppet (dev opsdays ams 2015)
Workshop puppet (dev opsdays ams 2015)Workshop puppet (dev opsdays ams 2015)
Workshop puppet (dev opsdays ams 2015)OlinData
 
Webinar - Automated Puppet Code Deployment with R10K
Webinar - Automated Puppet Code Deployment with R10KWebinar - Automated Puppet Code Deployment with R10K
Webinar - Automated Puppet Code Deployment with R10KOlinData
 

More from OlinData (20)

AWS Cost Control: Cloud Custodian
AWS Cost Control: Cloud CustodianAWS Cost Control: Cloud Custodian
AWS Cost Control: Cloud Custodian
 
Introduction to 2FA on AWS
Introduction to 2FA on AWSIntroduction to 2FA on AWS
Introduction to 2FA on AWS
 
AWS Data Migration case study: from tapes to Glacier
AWS Data Migration case study: from tapes to GlacierAWS Data Migration case study: from tapes to Glacier
AWS Data Migration case study: from tapes to Glacier
 
Issuing temporary credentials for my sql using hashicorp vault
Issuing temporary credentials for my sql using hashicorp vaultIssuing temporary credentials for my sql using hashicorp vault
Issuing temporary credentials for my sql using hashicorp vault
 
Log monitoring with Logstash and Icinga
Log monitoring with Logstash and IcingaLog monitoring with Logstash and Icinga
Log monitoring with Logstash and Icinga
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
 
Cfgmgmtcamp 2017 docker is the new tarball
Cfgmgmtcamp 2017  docker is the new tarballCfgmgmtcamp 2017  docker is the new tarball
Cfgmgmtcamp 2017 docker is the new tarball
 
Webinar - Auto-deploy Puppet Enterprise: Vagrant and Oscar
Webinar - Auto-deploy Puppet Enterprise: Vagrant and OscarWebinar - Auto-deploy Puppet Enterprise: Vagrant and Oscar
Webinar - Auto-deploy Puppet Enterprise: Vagrant and Oscar
 
Webinar - High Availability and Distributed Monitoring with Icinga2
Webinar - High Availability and Distributed Monitoring with Icinga2Webinar - High Availability and Distributed Monitoring with Icinga2
Webinar - High Availability and Distributed Monitoring with Icinga2
 
Webinar - Windows Application Management with Puppet
Webinar - Windows Application Management with PuppetWebinar - Windows Application Management with Puppet
Webinar - Windows Application Management with Puppet
 
Webinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLabWebinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLab
 
Webinar - Centralising syslogs with the new beats, logstash and elasticsearch
Webinar - Centralising syslogs with the new beats, logstash and elasticsearchWebinar - Centralising syslogs with the new beats, logstash and elasticsearch
Webinar - Centralising syslogs with the new beats, logstash and elasticsearch
 
Icinga 2 and puppet: automate monitoring
Icinga 2 and puppet: automate monitoringIcinga 2 and puppet: automate monitoring
Icinga 2 and puppet: automate monitoring
 
Webinar - Project Management for DevOps
Webinar - Project Management for DevOpsWebinar - Project Management for DevOps
Webinar - Project Management for DevOps
 
Using puppet in a traditional enterprise
Using puppet in a traditional enterpriseUsing puppet in a traditional enterprise
Using puppet in a traditional enterprise
 
Webinar - Scaling your Puppet infrastructure
Webinar - Scaling your Puppet infrastructureWebinar - Scaling your Puppet infrastructure
Webinar - Scaling your Puppet infrastructure
 
Webinar - Managing your Docker containers and AWS cloud with Puppet
Webinar - Managing your Docker containers and AWS cloud with PuppetWebinar - Managing your Docker containers and AWS cloud with Puppet
Webinar - Managing your Docker containers and AWS cloud with Puppet
 
1 m+ qps on mysql galera cluster
1 m+ qps on mysql galera cluster1 m+ qps on mysql galera cluster
1 m+ qps on mysql galera cluster
 
Workshop puppet (dev opsdays ams 2015)
Workshop puppet (dev opsdays ams 2015)Workshop puppet (dev opsdays ams 2015)
Workshop puppet (dev opsdays ams 2015)
 
Webinar - Automated Puppet Code Deployment with R10K
Webinar - Automated Puppet Code Deployment with R10KWebinar - Automated Puppet Code Deployment with R10K
Webinar - Automated Puppet Code Deployment with R10K
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Webinar - Manage Galera Cluster with Puppet

  • 1. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Manage Galera Cluster with Puppet Configuration management with puppet
  • 2. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Who am I? • Krishna Prajapati, MySQL Engineer at Olindata http://www.olindata.com/
  • 3. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Overview • What is puppet (for those not aware)? • What is Galera Cluster? • Terminology • Block Diagram/Feature • MySQL Parameter for Galera • Puppet Module for Galera • Install Galera health check • Haproxy • wsrep status • Questions
  • 4. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing What is Puppet and why do we care? • Configuration management software - http://www.olindata.com/blog/2014/08/puppet-master-agent-setup - http://olindata.com/blog/2015/03/setup-puppet-server-centos-70 • Scales very well (from 1 to 200k+ nodes) • Multi-platform (windows, *nix, Mac OS, BSD) • Commercially supported Open Source • Infrastructure as code
  • 5. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing What is Galera Cluster ? • Galera is a synchronous multimaster database cluster • Opensource • Multi-platform (*nix) • Consists of - Percona - MariaDB - MySQL • HA
  • 6. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Terminology • Synchronous vs Asynchronous • Failover • Split Brain • GTID
  • 7. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Block Diagram
  • 8. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Galera Features • True Multi-master Read and write to any node at any time. • Synchronous Replication No slave lag, no data is lost at node crash. • Tightly Coupled All nodes hold the same state. No diverged data between nodes allowed. • Multi-threaded Slave For better performance. For any workload.
  • 9. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing • No Master-Slave Failover Operations or Use of VIP. • Hot Standby No downtime during failover (since there is no failover). • Automatic Node Provisioning No need to manually back up the database and copy it to the new node. • Supports InnoDB. • Transparent to Applications Required no (or minimal) changes) to the application. • No Read and Write Splitting Needed.
  • 10. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing [mysqld] # (This must be substituted by wsrep_format) binlog_format=ROW # Currently only InnoDB storage engine is supported default-storage-engine=innodb # to avoid issues with 'bulk mode inserts' using autoinc innodb_autoinc_lock_mode=2 # This is a must for paralell applying innodb_locks_unsafe_for_binlog=1 # Query Cache is not supported with wsrep query_cache_size=0 query_cache_type=0 # Override bind-address # In some systems bind-address defaults to 127.0.0.1, and with mysqldump SST bind-address=0.0.0.0 MySQL Parameter for Galera
  • 11. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing 1. Github/olindata https://github.com/olindata/puppet-galera 2. Demo. https://github.com/olindata/olindata-galera-puppet-demo 3. Haproxy (load-balancer) https://github.com/olindata/puppetlabs-haproxy Puppet Module for Galera?
  • 12. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Install Galera using puppet module class profile::mysql::base { include mysql::client # the base profile contains logic to choose either profile::apt or profile::yum Class['profile::base'] ~> Package['mysql_client'] Class['profile::base'] ~> Package['percona-toolkit'] Class['profile::base'] ~> Package['mysql-server'] Exec['apt_update'] -> Package['mysql_client'] -> Package['mysql-server'] # load the mysql options from hiera and pass them to mysql::server $override_options = hiera_hash('profile::mysql::base::override_options', undef) if $override_options { class { 'mysql::server': override_options => $override_options, require => [Package['mysql_client']] } } else { # we don't use default options, so error if nothing is found fail('No hash found in hiera to override default mysql settings in class profile::mysql::base.')
  • 13. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing # make sure percona toolkit and xtrabackup are present package { 'percona-toolkit': ensure => latest, } package { 'xtrabackup': ensure => latest, require => Class['profile::apt'], } } From hiera mysql::client::package_name: 'percona-xtradb-cluster-client-5.6' mysql::server::package_name: 'percona-xtradb-cluster-server-5.6'
  • 14. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Install galera health check class profile::mysql::galera { include profile::mysql::base include ::galera include galera::health_check # load haproxy frontends $balancermembers = hiera_hash('profile::mysql::galera::balancermembers', undef) if $balancermembers { create_resources('@@haproxy::balancermember', $balancermembers) } }
  • 15. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing health check root@db01:~# clustercheck HTTP/1.1 200 OK Content-Type: text/html Content-Length: 43 <html><body>MySQL is running.</body></html> root@db01:~#
  • 16. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Install haproxy module class profile::haproxy::galera { include ::haproxy # Make sure the wheezy backports repo is present before attempting the package if $::lsbdistcodename == 'wheezy' { Apt::Source['wheezy-backports'] -> Package['haproxy'] } # load haproxy frontends $listens = hiera_hash('profile::haproxy::galera::listen', undef) if $listens { create_resources('haproxy::listen', $listens) } else { fail('No listen settings found in hiera in class profile::haproxy::galera.') } }
  • 17. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Roles class role::db::galera inherits role { include profile::mysql::galera } class role::db::galeramaster inherits role::db::galera { include profile::haproxy::galera }
  • 18. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing wsrep status mysql> show global status like '%wsrep%'; +------------------------------+----------------------------------------------------------+ | Variable_name | Value | +------------------------------+----------------------------------------------------------+ | wsrep_local_state_uuid | 8fbd0b15-8db0-11e4-8fa3-7770ec850cad | …. | wsrep_commit_window | 0.000000 | | wsrep_local_state | 4 | | wsrep_local_state_comment | Synced | | wsrep_cert_index_size | 0 | | wsrep_causal_reads | 0 | | wsrep_cert_interval | 0.000000 | | wsrep_incoming_addresses | 192.168.56.32:3306,192.168.56.34:3306,192.168.56.33:3306 | | wsrep_evs_delayed | |
  • 19. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing wsrep status | wsrep_incoming_addresses | 192.168.56.32:3306,192.168.56.34:3306,192.168.56.33:3306 | | wsrep_evs_delayed | | | wsrep_evs_evict_list | | | wsrep_evs_repl_latency | 0/0/0/0/0 | | wsrep_evs_state | OPERATIONAL | | wsrep_gcomm_uuid | 0d150685-d121-11e4-9961-0f0d19f43e8f | | wsrep_cluster_conf_id | 6 | | wsrep_cluster_size | 3 | | wsrep_cluster_state_uuid | 8fbd0b15-8db0-11e4-8fa3-7770ec850cad | | wsrep_cluster_status | Primary | | wsrep_connected | ON | | wsrep_local_bf_aborts | 0 | | wsrep_local_index | 0 | | wsrep_provider_name | Galera | | wsrep_provider_vendor | Codership Oy <info@codership.com> | | wsrep_provider_version | 3.8(rf6147dd) | | wsrep_ready | ON | +------------------------------+----------------------------------------------------------+ 56 rows in set (0.00 sec)
  • 20. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing node 'master.olindata.vm' { # this server is a puppetmaster include role::master } node 'galera000.olindata.vm' { # this server will be a galera node, also having an haProxy instance include role::db::galeramaster } node /^galerad{3}.olindata.vm$/ { # all other nodes are galera nodes include role::db::galera }
  • 21. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing • Other mysql flavours like MariaDB, Percona can be installed with the existing module class { '::mysql::server': package_ensure => 'present', package_name => 'mariadb-server', } Galera Flavour Install
  • 22. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Upcoming training http://olindata.com/training/upcoming Puppet Fundamentals Training, Manila – April 2015 Monday, April 6, 2015 - 09:00 Philippines Puppet Puppet Fundamentals Training, Hyderabad – April 2015 Wednesday, April 15, 2015 - 09:00 India Puppet Puppet Fundamentals Training, Jakarta – April 2015 Monday, April 20, 2015 - 09:00 Indonesia Puppet Puppet Fundamentals Training, Vienna – April 2015 Monday, April 27, 2015 - 09:00 Austria
  • 23. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Previous Webinars • https://www.youtube.com/results?search_query=olind ata
  • 24. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing We’re hiring! EU and Asia based trainers jobs@olindata.com
  • 25. OlinData Webinar 2015 - https://docs.google.com/a/olindata.com/presentation/d/1vlwtPNRGkaIvJN0olgwknyDvVha910yb4_bM5UfXE8 I/edit?usp=sharing Questions? @krishna / @olindata http://www.olindata.com krishna@olindata.com http://github.com/olindata