Maria Db 3 Nodelu Cluster Yapımı
Maria DB 3 Nodelu Cluster Yapımı
Üç adet centos7 sunucumuz var. Hostname ve ipleri aşağıdaki gibidir.
depo1.genc.local 10.38.100.7
depo2.genc.local 10.38.100.8
depo3.genc.local 10.38.100.9
Sunucuların ilk temel ayarlarını yapıyoruz. İlk olarak tüm sunucularda update çekiyoruz.
#yum -y update
Update tamamlandıktan sonra ben firewall’ı ve selinux’u disable ediyorum sizler etmeyebilirsiniz.
#systemctl stop firewalld
#systemctl disable firewalld
#sudo setenforce 0
#vi /etc/selinux/config
İşlemler tamamlandıktan sonra benim için gerekli olan iki paketi indiriyorum.
#yum -y install open-vm-tools nano // bu işlem isterseniz yapmayabilirsiniz.
Bu işlem tamamlandıktan sonra sunucuları reboot ediyorum.
Sunucuların host dosyalarına tüm sunucularımızın hostname isimlerini tanımlıyorum.
10.38.100.7 depo1.genc.local
10.38.100.8 depo2.genc.local
10.38.100.9 depo3.genc.local
Default’ta gelen mariadb’ye ait bir kütüphane var ise siliyoruz.
#yum remove mariadb-libs -y
Sildikten sonra kendi repomuzu oluşturuyoruz.
#nano /etc/yum.repos.d/Mariadb.repo
#[mariadb]
#name = MariaDB
#baseurl = http://yum.mariadb.org/10.5/centos7-amd64
#gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
#gpgcheck=1
Repomuzu oluşturduktan sonra socat paketini indiriyorum.
#yum install MariaDB-server MariaDB-client MariaDB-shared MariaDB-common rsync -y
Paketlerimiz indikten sonra mariadb’yi başlatıyorum.
#systemctl enable mariadb
#systemctl start mariadb
Mariadb’nin giriş ayarlarını yapıyorum.
#mysql_secure_installation
Hepsini yes diyorum ve şifre belirliyorum. Cluster’ın replikasyon yapabilmesi için bir user gerekmektedir. Mariadb üzerinden bir user acıyoruz.
#mysql -u root -p // login oluyoruz.
#grant usage on *.* to galerauser@'%' identified by 'mypassword';
Cluster’ı yapabilmek için tüm sunucularda mariadb’yi kapatıyorum.
#systemctl stop mariadb
Clusteri yapabilmek için mariadb’nin konfig dosyasına gidiyorum.
#nano /etc/my.cnf.d/server.cnf
Konfigimizde aşağıdaki yerleri değiştireceğiz.
#wsrep_on=ON // replikasyon yapabilmek için wsrep açıyoruz.
#wsrep_provider= // galeranın bulunduğu dizinin yolunu belirtiyoruz.
#wsrep_cluster_address= // Sunucularının IP adreslerini giriyoruz
#binlog_format=row // log formatını belirliyoruz.
#default_storage_engine=InnoDB //Tablolar icin varsayilan depolama motordur.
#innodb_autoinc_lock_mode=2
#bind-address=0.0.0.0 // NODE olarak kabul edeceğimiz sunucuların gelebileceği interfaceleri göstermektedir. Tüm hepsini Kabul edeceğimiz için any bırakıyoruz.
#wsrep_cluster_name="mydepos" //cluster namemimiz
#wsrep_node_address="10.38.100.7" // her sunucun kendi adresini giriyoruz.
#wsrep_node_name="depo1.genc.local" // her sunucunun kendi hostname’nin giriyoruz.
#wsrep_sst_method=rsync //rsync ile replikasyon yapılacağı için rsync diye girdik
Yukarıdaki kodlarıda konfiğimize giriyoruz ve tüm sunucularda aynı konfigi yapıyoruz. Tüm sunuculara konfigi girdikten sonra galera_new_cluster komutu hangi sunucuya verirsek o master sunucumuz oluyor. Ben depo1.genc.local’e veriyorum bu komutu ve diğer sunucularda mariadb’yi başlatıyorum.
#galera_new_cluster // 10.38.100.7
#systemctl start mariadb / 10.38.100.8 ve 9
Mariadb üzerinde clusterin sağlıklı kurulup kurulmadığını görmek için aşağıdaki komutu çalışıyorum.
#SHOW STATUS LIKE 'wsrep_cluster_size';
Clusterımız sağlık bir şekilde kurulmuştur. Dilerseniz herhangi bir sunucuda database oluşturup diğer nodelara gitti görebilirsiniz.
Kurmuş olduğumuz clusterda oluşabilecek çökme seneryolarını bu link üzerinde erişebilirsiniz.
Görüşmek Üzere…