MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara Menyebarkan ClusterControl di AWS untuk Mengelola Database Cloud Anda


ClusterControl adalah infrastruktur-agnostik - dapat digunakan di pusat data Anda sendiri pada host fisik, serta di lingkungan cloud virtual. Yang Anda butuhkan hanyalah akses ssh dari host ClusterControl ke node database, dan Anda kemudian dapat menggunakan MySQL/MariaDB mandiri/replika/cluster, MongoDB (set replika atau sharded cluster) atau PostgreSQL (replikasi streaming). Dalam posting blog ini, kami akan memandu Anda melalui langkah-langkah untuk menerapkan ClusterControl di EC2.

Menyiapkan Instance di EC2

Persyaratan perangkat keras untuk ClusterControl dijelaskan di sini. Itu dimaksudkan untuk membuat platform berkinerja untuk server ClusterControl. Karena itu, kami akan menggunakan instance kecil untuk tujuan pengujian kami (t2.micro) - itu sudah cukup bagi kami.

Pertama, kita perlu memilih AMI. ClusterControl mendukung:

  • Redhat/CentOS/Oracle Linux 6 dan yang lebih baru
  • Ubuntu 12.04/14.04/16.04 LTS
  • Debian 7.0 dan yang lebih baru

Kami akan menggunakan Ubuntu 16.04.

Langkah selanjutnya - jenis instance. Kami akan memilih t2.micro untuk saat ini, meskipun Anda ingin menggunakan instans yang lebih besar untuk penyiapan produksi. Untuk penyedia cloud lainnya, pilih instans dengan memori minimal 1 GB.

Kami akan menerapkan empat instance sekaligus, satu untuk ClusterControl dan tiga untuk Percona XtraDB Cluster. Anda perlu memutuskan di mana instance tersebut harus di-deploy (VPC atau tidak, subnet mana, dll). Untuk tujuan pengujian kami, kami akan menggunakan VPC dan satu subnet. Tentu saja, menerapkan node di seluruh subnet (Availability Zones) membuat penyiapan Anda lebih mungkin bertahan jika salah satu AZ tidak tersedia.

Untuk penyimpanan, kami akan menggunakan 100GB volume SSD tujuan umum (GP2). Ini seharusnya cukup untuk melakukan beberapa pengujian dengan volume data yang wajar.

Berikutnya - kelompok keamanan. Akses SSH adalah persyaratan. Selain itu, Anda perlu membuka port yang diperlukan oleh database yang akan Anda gunakan. Anda dapat menemukan informasi lebih lanjut tentang port mana yang diperlukan di portal dukungan kami.

Terakhir, Anda harus memilih salah satu dari pasangan kunci yang ada atau Anda dapat membuat yang baru. Setelah langkah ini, instance Anda akan diluncurkan.

Setelah instance aktif dan berjalan, saatnya untuk menginstal ClusterControl. Untuk itu, masuk ke salah satu instance dan unduh skrip instalasi ClusterControl, install-cc:

[email protected]:~$ wget http://www.severalnines.com/downloads/cmon/install-cc
--2017-09-06 11:13:10--  http://www.severalnines.com/downloads/cmon/install-cc
Resolving www.severalnines.com (www.severalnines.com)... 107.154.146.155
Connecting to www.severalnines.com (www.severalnines.com)|107.154.146.155|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.severalnines.com/downloads/cmon/install-cc [following]
--2017-09-06 11:13:10--  https://www.severalnines.com/downloads/cmon/install-cc
Connecting to www.severalnines.com (www.severalnines.com)|107.154.146.155|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://severalnines.com/downloads/cmon/install-cc [following]
--2017-09-06 11:13:11--  https://severalnines.com/downloads/cmon/install-cc
Resolving severalnines.com (severalnines.com)... 107.154.238.155, 107.154.148.155
Connecting to severalnines.com (severalnines.com)|107.154.238.155|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 56913 (56K) [text/plain]
Saving to: ‘install-cc’

install-cc                                           100%[=====================================================================================================================>]  55.58K   289KB/s    in 0.2s

2017-09-06 11:13:12 (289 KB/s) - ‘install-cc’ saved [56913/56913]

Kemudian, pastikan dapat dieksekusi sebelum menjalankannya:

[email protected]:~$ chmod +x install-cc
[email protected]:~$ sudo ./install-cc

Pada awalnya, Anda akan mendapatkan beberapa informasi tentang persyaratan pada distribusi Linux yang didukung:

!!
Only RHEL/Centos 6.x|7.x, Debian 7.x|8.x, Ubuntu 12.04.x|14.04.x|16.04.x LTS versions are supported
Minimum system requirements: 2GB+ RAM, 2+ CPU cores
Server Memory: 990M total, 622M free
MySQL innodb_buffer_pool_size set to 512M

Severalnines would like your help improving our installation process.
Information such as OS, memory and install success helps us improve how we onboard our users.
None of the collected information identifies you personally.
!!
=> Would you like to help us by sending diagnostics data for the installation? (Y/n):

This script will add Severalnines repository server for deb and rpm packages and
install the ClusterControl Web Applicaiton and Controller.
An Apache and MySQL server will also be installed. An existing MySQL Server on this host can be used.

Pada titik tertentu Anda harus menjawab beberapa pertanyaan tentang nama host, port, dan sandi.

=> The Controller hostname will be set to 172.30.4.20. Do you want to change it? (y/N):
=> Creating temporary staging dir s9s_tmp

=> Setting up the ClusterControl Web Application ...
=> Using web document root /var/www/html
=> No running MySQL server detected
=> Installing the default distro MySQL Server ...
=> Assuming default MySQL port is 3306. Do you want to change it? (y/N):

=> Enter the MySQL root password:
=> Enter the MySQL root password again:
=> Importing the Web Application DB schema and creating the cmon user.

=> Importing /var/www/html/clustercontrol/sql/dc-schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
=> Set a password for ClusterControl's MySQL user (cmon) [cmon]
=> Enter a CMON user password:
=> Enter the CMON user password again: => Creating the MySQL cmon user ...
mysql: [Warning] Using a password on the command line interface can be insecure.
=> Creating UI configuration ...

Terakhir, Anda akan mendapatkan konfirmasi bahwa ClusterControl telah diinstal. Skrip penginstalan juga akan mencoba mendeteksi IP publik Anda dan mencetak tautan yang dapat digunakan di browser Anda untuk mengakses ClusterControl.

=> ClusterControl installation completed!
Open your web browser to http://172.30.4.20/clustercontrol and
enter an email address and new password for the default Admin User.

Determining network interfaces. This may take a couple of minutes. Do NOT press any key.
Public/external IP => http://34.230.71.40/clustercontrol
Installation successful. If you want to uninstall ClusterControl then run install-cc --uninstall.

Setelah instalasi selesai, masih ada satu hal yang harus diperhatikan - akses SSH dari ClusterControl ke host yang tersisa. Kecuali Anda sudah memiliki akses SSH antar node (dan Anda dapat menggunakan ssh-copy-id), ini akan menjadi proses manual. Pertama dan terpenting, kita perlu membuat kunci ssh baru:

[email protected]:~# ssh-keygen -C 'galera_cluster' -f id_rsa_galera -t rsa -b 4096
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_galera.
Your public key has been saved in id_rsa_galera.pub.
The key fingerprint is:
SHA256:2tWOGXbrtc0Qh45NhNPzUSVdDzE9ANV1TJ0QBE5QrQY galera_cluster
The key's randomart image is:
+---[RSA 4096]----+
|         .o=**X*&|
|         Eo  + BO|
|          ..+ +.o|
|           + o +.|
|        S = o + o|
|       o o * * o |
|      . . o + =  |
|           . . = |
|            . . o|
+----[SHA256]-----+
[email protected]:~#

Kami dapat memverifikasi bahwa itu telah dibuat dengan benar. Anda juga ingin menyalin konten kunci publik - kami akan menggunakannya untuk membuat salinannya pada node yang tersisa.

[email protected]:~# cat id_rsa_galera.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDYKil17MzTrNc70GIQlVoK6xLop9acfT3W6kBUGO4ybsvIA5Fss+WvT/DLsYMtukq2Eih93eO4amLRYQIeyWSjJ/bBwIF/LXL4v04GF8+wbDgCyiV/t9dSuXna9qFeawkUVcPjnmWnZqUoaP5QeovXTluxl54xEwbFm1oLT+fgWbaim5w9vVUK4+hAHaZ7wVvTPVsIt1B3nJgWJF0Sz+TJN87vSUg7xdshgzhapUotXlguFGVzmNKWLnEFDCK7RT41oh4y4rkKP7YLc+wFfRHYTnKyMIcf0/0VMyL+2AdwQp8RThbBommf2HGimF1hSyA9/fc+tLi7FVTg1bKKeXj4hwexeFAJZwoy3HyD3wQ/NwadpDVk5Pg7YYzdN2aCZfvo27qp3gdQQ2H+LF6LvDyQEkgRpFN+pHoWQvPjJJasjfIcfdaC9WmDiL4s5fXyCTQz/x0NaTXVkLBS9ibfOUw8AGdd36FvdqnNOFOlMLKLa359JhdpqXnH7ksiThcotQuFmV5Dc8M66vTDz9rvVZhNC0nME478RNBP0Bgj1BM26XdQlzozeaRmHGoZXcSQVJTXBC93+QN4+bRmWmxhhj5G5M7bFiQyal1VtugoUt8ZV4NiiG+KDd6yj5um8+CffD/BASGrv3vffH+AK7xtjchIv5su40+unecfSOtO98TiQw== galera_cluster

Sekarang, pada setiap simpul yang tersisa, Anda perlu menambahkan kunci publik ini ke dalam file otor_keys. Untuk ubuntu, Anda mungkin ingin membersihkan isinya terlebih dahulu jika Anda ingin menggunakan login root. Secara default, hanya pengguna ubuntu yang dapat digunakan untuk terhubung melalui SSH. Pengaturan seperti itu (pengguna biasa dan sudo) juga dapat digunakan dengan ClusterControl tetapi di sini kita akan menggunakan pengguna root.

[email protected]:~# vim ~/.ssh/authorized_keys

Setelah file Authorized_keys di semua node berisi kunci publik kami, kami akan menyalin kunci publik kami ke direktori .ssh dan membuat perubahan yang diperlukan dalam hak akses:

[email protected]:~# cp id_rsa_galera /root/.ssh/
[email protected]:~# chmod 600 /root/.ssh/id_rsa_galera

Sekarang kita dapat menguji apakah akses SSH berfungsi seperti yang diharapkan:

[email protected]:~# ssh -i /root/.ssh/id_rsa_galera 172.30.4.46
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1022-aws x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.


[email protected]:~# logout
Connection to 172.30.4.46 closed.

Semuanya bagus. Saatnya mengonfigurasi ClusterControl.

Isi beberapa detail pendaftaran.

Setelah Anda masuk, wizard akan muncul dengan opsi untuk menerapkan cluster baru atau mengimpor cluster yang sudah ada.

Kami ingin menggunakan Percona XtraDB Cluster jadi kami akan memilih "Deploy Database Cluster" dan memilih tab "MySQL Galera". Di sini kita harus mengisi detail akses yang diperlukan untuk konektivitas SSH. Kami akan mengatur Pengguna SSH ke root dan kami akan mengisi jalur ke kunci SSH kami.

Selanjutnya, kami akan menentukan vendor, versi, kata sandi, dan alamat IP untuk host basis data kami. Harap diingat bahwa ClusterControl akan memeriksa konektivitas SSH ke host database target. Jika semuanya berfungsi dengan baik, Anda akan melihat centang hijau. Jika Anda melihat bahwa otentikasi SSH gagal, maka Anda perlu menyelidiki karena server ClusterControl tidak dapat mengakses host database Anda.

Kemudian, klik Deploy untuk memulai proses penerapan.

Anda dapat melacak kemajuan penerapan di monitor aktivitas.

Ingatlah bahwa penerapan hanyalah langkah pertama. Mengoperasikan database mengharuskan Anda untuk memantau kinerja host Anda, instans database, kueri, dan mengelola cadangan, memperbaiki kegagalan dan anomali lainnya, mengelola proxy, peningkatan, dll. ClusterControl dapat mengelola semua aspek ini untuk Anda, jadi cobalah dan beri tahu kami bagaimana kemajuan Anda.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $addToSet

  2. Cara Memeriksa Tipe Data Kolom di SQL

  3. pencarian teks mongodb dengan banyak bidang

  4. Keamanan Basis Data 101:Memahami Hak Istimewa Akses Basis Data

  5. Bagaimana cara membuat indeks bersarang di MongoDB?