Menambahkan dukungan rak Cassandra

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:

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:

1 rak dengan 3 node
(Gambar 1) Konfigurasi default: Semua node pada satu node rak

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:

3 rak, dengan 1 node di setiap rak
(Gambar 2) Konfigurasi rakitan: Tiga node, satu untuk masing-masing 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:

  1. 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.

  2. 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"
  3. 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.

  4. 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
  5. 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:
    1. Node 1 (IP1)
    2. Node 2 (IP2)
    3. 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:

3 rak, dengan 2 node di setiap rak
(Gambar 3) Cincin Cassandra 6 node: Dua node pada masing-masing tiga 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:

  1. Node 1 (IP1)
  2. Node 4 (IP4)*
  3. Node 2 (IP2)
  4. Node 5 (IP5)
  5. Node 3 (IP3)
  6. 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:

3 rak, dengan 4 node di setiap rak
(Gambar 4) Cincin Cassandra 12 node: Empat node pada masing-masing dari tiga node 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:

  1. Node 1 (IP1)
  2. Node 7 (IP7)*
  3. Node 4 (IP4)
  4. Node 8 (IP8)
  5. Node 2 (IP2)
  6. Node 9 (IP9)
  7. Node 5 (IP5)
  8. Node 10 (IP10)
  9. Node 3 (IP3)
  10. Node 11 (IP11)
  11. Node 6 (IP6)
  12. 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).