Menambahkan node Cassandra

Saat menambahkan node Cassandra ke cluster, penting untuk mempertimbangkan dua poin utama berikut:

  • Posisi node yang ada di cincin Cassandra tidak boleh berubah untuk meminimalkan streaming dan mempertahankan lingkaran yang seimbang.
  • Jumlah node di semua pusat data harus tetap konsisten.

Untuk memastikan tujuan pertama, penting untuk menggandakan jumlah node di cluster Cassandra setiap kali Anda menambahkan node baru.

Misalnya, jika Anda memulai dengan topologi penginstalan cluster 12 node standar yang didistribusikan di dua pusat data, Anda akan memiliki total enam node Cassandra—tiga node di setiap pusat data. Untuk memperluas cluster ini, Anda harus menambahkan tiga node ke setiap pusat data, sehingga meningkatkan jumlah total node menjadi 12 (enam node di setiap pusat data). Jika diperlukan perluasan lebih lanjut, Anda harus menambahkan enam node tambahan ke setiap pusat data, sehingga menghasilkan jumlah total 24 node (12 node di setiap pusat data).

Dokumen ini memberikan petunjuk untuk menambahkan tiga node Cassandra baru ke penginstalan Edge untuk Private Cloud yang sudah ada. Langkah yang sama dapat diikuti untuk menambahkan node tambahan. Selalu pastikan bahwa saat memperluas cluster, Anda menggandakan jumlah node.

Untuk daftar persyaratan sistem untuk node Cassandra, lihat bagian Persyaratan Penginstalan.

Konfigurasi Edge yang ada

Semua topologi Edge yang didukung untuk sistem produksi menentukan untuk menggunakan tiga Cassandra node. Tiga node ditetapkan ke properti CASS_HOSTS di file konfigurasi sebagaimana ditunjukkan di bawah ini:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

Perhatikan bahwa properti REGION menentukan nama wilayah sebagai "dc-1". Anda memerlukannya saat menambahkan node Cassandra baru.

Memodifikasi file konfigurasi untuk menambahkan tiga node Cassandra baru

Dalam contoh ini, tiga node Cassandra baru berada di alamat IP berikut:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Anda harus memperbarui file konfigurasi Edge terlebih dahulu untuk menambahkan node baru:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

Cara ini memastikan bahwa node yang ada mempertahankan setelan token awal mereka, dan token awal setiap simpul baru berada di antara nilai token dari simpul yang ada.

Konfigurasi Edge

Setelah mengedit file konfigurasi, Anda harus:

  • Mengonfigurasi ulang node Cassandra yang ada
  • Menginstal Cassandra di node baru
  • Mengonfigurasi ulang Server Pengelolaan

Mengonfigurasi ulang Cassandra yang ada node

Pada node Cassandra yang ada:

  1. Jalankan ulang setup.sh dengan "-p c" dan file konfigurasi baru:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Menginstal Cassandra di node baru

Gunakan prosedur di bawah untuk menginstal Cassandra pada node baru.

Pada setiap node Cassandra baru:

  1. Instal Cassandra di ketiga node:
    1. Instal apigee-setup di node pertama seperti yang dijelaskan di bagian Menginstal Utilitas penyiapan edge apigee.
    2. Instal Cassandra pada node pertama menggunakan file konfigurasi yang diupdate:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Ulangi kedua langkah ini untuk node Cassandra baru yang tersisa.
  2. Membuat ulang tiga node Cassandra baru, dengan menentukan nama region untuk menjadi pusat data tempat Anda menambahkan node (dc-1, dc-2, dan seterusnya). Dalam contoh ini, parameternya adalah dc-1:
    1. Pada node pertama, jalankan:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      Dengan nodeIP adalah alamat IP node Cassandra.

      Anda hanya perlu memasukkan nama pengguna dan {i>password<i} jika Anda mengaktifkan autentikasi JMX untuk Cassandra.

    2. Ulangi langkah ini pada node Cassandra baru yang tersisa.

Mengonfigurasi ulang Server Pengelolaan

Pada node Management-Server

  1. Jalankan kembali setup.sh untuk mengupdate Server Pengelolaan untuk node Cassandra yang baru ditambahkan:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Mulai ulang semua Router dan Message Prosesor

  1. Di semua Router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. Di semua Pemroses Pesan:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Kosongkan kapasitas disk yang ada Node Cassandra

Setelah menambahkan node baru, Anda dapat menggunakan perintah nodetool cleanup di {i>node<i} yang sudah ada sebelumnya untuk mengosongkan ruang {i>disk<i}. Perintah ini menghapus token konfigurasi yang tidak lagi dimiliki oleh {i>node<i} Cassandra yang sudah ada.

Untuk mengosongkan ruang {i>disk<i} pada simpul Cassandra yang sudah ada setelah menambahkan {i>node<i} baru, jalankan perintah berikut:

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

Anda hanya perlu memasukkan nama pengguna dan {i>password<i} jika Anda mengaktifkan autentikasi JMX untuk Cassandra.

Memverifikasi pembuatan ulang

Gunakan perintah berikut untuk memastikan bahwa build ulang berhasil:

nodetool [-u username -pw password] -h nodeIP netstats

Perintah ini harus menunjukkan MODE: Normal saat node naik dan indeksnya dibuat.

nodetool [-u username -pw password] -h nodeIP statusthrift

Harus menunjukkan bahwa server barang bekas sedang berjalan, yang memungkinkan Cassandra menerima klien baru permintaan.

nodetool [-u username -pw password] -h nodeIP statusbinary

Harus menunjukkan bahwa transportasi native (atau protokol biner) sedang berjalan.

nodetool [-u username -pw password] -h nodeIP describecluster

Harus menunjukkan bahwa node baru menggunakan versi skema yang sama dengan node lama.

Untuk informasi selengkapnya tentang penggunaan nodetool, lihat referensi dokumentasi penggunaan nodetool.