Bagian ini memberikan panduan umum untuk menskalakan operasi Cassandra dengan membuat Cassandra di Apigee Edge untuk mengetahui rak Private Cloud.
Untuk informasi selengkapnya tentang alasan pentingnya membuat rak cincin Cassandra ternyata penting, lihat artikel berikut referensi:
- Replikasi (dokumentasi Cassandra)
- Cassandra Arsitektur & Strategi Faktor Replikasi
Apa itu rak?
Rak Cassandra adalah pengelompokan node Cassandra yang logis di dalam cincin. Kassandra menggunakan rak sehingga dapat memastikan bahwa replika didistribusikan di antara pengelompokan logis yang berbeda. Sebagai seorang hasil, operasi dikirim tidak hanya ke satu {i>node<i}, tetapi beberapa {i>node<i}, masing-masing pada rak yang terpisah, memberikan fault tolerance dan ketersediaan yang lebih baik.
Contoh di bagian ini menggunakan tiga rak {i>Cassandra<i}, yang merupakan jumlah rak yang didukung oleh Apigee dalam topologi produksi.
Penginstalan default Cassandra di Apigee Edge untuk Private Cloud mengasumsikan satu rack logis dan menempatkan semua {i>node <i}di sebuah pusat data di dalamnya. Meskipun konfigurasi ini mudah diinstal dan dikelola, kerentanan terhadap kegagalan jika operasi gagal pada salah satu {i>node<i} tersebut.
Gambar berikut menunjukkan konfigurasi default cincin Cassandra:
Dalam konfigurasi yang lebih kuat, setiap {i>node<i} akan ditempatkan ke rak dan operasi terpisah juga akan mengeksekusi replika di masing-masing rak tersebut.
Gambar berikut menampilkan cincin 3 node. Gambar ini menunjukkan urutan operasi direplikasi melintasi cincin (searah jarum jam) dan menyoroti fakta bahwa tidak ada dua {i>node<i} yang sama rak:
Dalam konfigurasi ini, operasi dikirim ke node, tetapi juga dikirim ke replika node tersebut pada rak lain (dalam urutan searah jarum jam).
Tambahkan rack awareness (dengan 3 node)
Semua Topologi penginstalan Apigee Edge untuk Private Cloud memiliki setidaknya tiga node Cassandra, yang bagian ini mengacu sebagai "IP1", "IP2", dan "IP3". Secara {i>default<i}, masing-masing {i>node<i} ini berada di rak yang sama, "ra-1".
Bagian ini menjelaskan cara menetapkan {i>node<i} Cassandra ke rak terpisah sehingga semua operasi dikirim ke node replika dalam pengelompokan logis yang terpisah di dalam cincin.
Untuk menetapkan node Cassandra ke rak yang berbeda selama penginstalan:
- Sebelum Anda menjalankan {i>installer<i}, masuk ke {i>node<i} Cassandra dan buka
file konfigurasi senyap berikut untuk mengedit:
/opt/silent.conf
Buat file jika tidak ada dan pastikan untuk membuat "apigee" pengguna dan pemilik.
- Edit properti
CASS_HOSTS
, yaitu daftar alamat IP yang dipisahkan spasi (bukan DNS atau entri nama host) yang menggunakan sintaks berikut:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
Nilai defaultnya adalah tiga cincin Cassandra node dengan setiap node ditetapkan ke rak 1 dan data center 1, seperti yang ditunjukkan contoh berikut:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- Ubah penempatan rak sehingga node 2 ditempatkan ke rak 2 dan node 3 ditempatkan ke rak 2
rak 3, seperti yang ditunjukkan contoh berikut:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
Dengan mengubah penetapan rak, Anda menginstruksikan Cassandra untuk membuat dua yang kemudian menyediakan replika yang menerima semua operasi yang diterima oleh node pertama.
Untuk informasi selengkapnya tentang penggunaan properti konfigurasi
CASS_HOSTS
, lihat Referensi File Konfigurasi Edge. - Simpan perubahan ke file konfigurasi dan jalankan perintah berikut untuk menginstal
Cassandra dengan konfigurasi yang telah diperbarui:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
Contoh:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- Ulangi prosedur ini untuk setiap {i>node<i} Cassandra di dalam cincin, sesuai dengan urutan {i>node<i}
ditetapkan di properti
CASS_HOSTS
. Dalam hal ini, Anda harus menginstal Cassandra dalam urutan berikut:- Node 1 (IP1)
- Node 2 (IP2)
- Node 3 (IP3)
Setelah penginstalan, Anda harus Memeriksa konfigurasi Cassandra.
Memeriksa konfigurasi Cassandra
Setelah menginstal konfigurasi Cassandra {i>rak<i}, Anda dapat memeriksa apakah node
ditetapkan ke rak yang berbeda dengan menggunakan perintah nodetool status
, sebagai
contoh berikut menunjukkan:
/opt/apigee/apigee-cassandra/bin/nodetool status
(Anda menjalankan perintah ini di salah satu node Cassandra.)
Hasilnya akan terlihat seperti berikut, dengan kolom Rack menunjukkan ID rak yang berbeda untuk setiap node:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Jika Anda mengaktifkan autentikasi JMX untuk Cassandra, Anda juga harus meneruskan nama pengguna dan
sandi ke nodetool
. Untuk informasi selengkapnya, lihat
Gunakan nodetool untuk mengelola node cluster.
Menginstal cincin enam node
Untuk redundansi tambahan, Anda dapat memperluas cincin Cassandra ke enam node. Dalam hal ini, Anda menempatkan dua {i>node<i} ke masing-masing dari tiga rak. Konfigurasi ini memerlukan tiga node tambahan: Node 4 (IP4), Node 5 (IP5), dan Node 6 (IP6).
Gambar berikut menunjukkan urutan operasi direplikasi di seluruh cincin (searah jarum jam) dan menyoroti fakta bahwa selama replikasi, tidak ada dua node yang berdekatan yang rak:
Dalam konfigurasi ini, setiap node memiliki dua replika lagi: satu di masing-masing dari dua rak lainnya. Sebagai misalnya, node 1 di rak 1 memiliki replika di Rak 2 dan Rack 3. Operasi yang dikirim ke node 1 juga dikirim ke replika di rak lain, dalam urutan searah jarum jam.
Untuk memperluas cincin Cassandra tiga node menjadi cincin Cassandra enam node, konfigurasikan node di dengan cara berikut dalam file konfigurasi senyap Anda:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
Seperti halnya cincin tiga simpul, Anda harus menginstal
Cassandra dengan urutan yang sama dengan
muncul di properti CASS_HOSTS
:
- Node 1 (IP1)
- Node 4 (IP4)*
- Node 2 (IP2)
- Node 5 (IP5)
- Node 3 (IP3)
- Node 6 (IP6)
* Buat perubahan dalam file konfigurasi senyap sebelum menjalankan utilitas penyiapan pada {i>node<i} keempat (komputer kedua dalam urutan instalasi Cassandra).
Luaskan ke 12 node
Untuk meningkatkan ketersediaan dan fault tolerance lebih lanjut, Anda dapat menambah jumlah Cassandra {i>node<i} di dalam cincin dari enam hingga 12. Konfigurasi ini membutuhkan enam {i>node<i} tambahan (IP7 hingga IP12).
Gambar berikut menunjukkan urutan operasi direplikasi di seluruh cincin (searah jarum jam) dan menyoroti fakta bahwa selama replikasi, tidak ada dua node yang berdekatan yang rak:
Prosedur untuk memasang cincin 12 {i>node<i} mirip dengan memasang cincin {i>node<i} tiga atau enam:
tetapkan CASS_HOSTS
ke nilai yang diberikan dan jalankan penginstal dalam urutan yang ditentukan.
Untuk memperluas ke cincin Cassandra 12 node, konfigurasi node dengan cara berikut di senyap Anda file konfigurasi:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
Seperti halnya lingkaran {i>node<i} tiga dan enam, Anda harus mengeksekusi {i>installer<i} pada {i>node<i} sesuai urutan yang akan muncul di file konfigurasi:
- Node 1 (IP1)
- Node 7 (IP7)*
- Node 4 (IP4)
- Node 8 (IP8)
- Node 2 (IP2)
- Node 9 (IP9)
- Node 5 (IP5)
- Node 10 (IP10)
- Node 3 (IP3)
- Node 11 (IP11)
- Node 6 (IP6)
- Node 12 (IP12)
* Anda harus melakukan perubahan ini sebelum menginstal Apigee Edge untuk Private Cloud di node ke-7 (komputer kedua dalam pesanan pemasangan Cassandra).