Saat menambahkan node Cassandra ke cluster, Anda harus mempertimbangkan dua poin penting berikut:
- Posisi node yang ada di ring Cassandra tidak boleh berubah untuk meminimalkan streaming dan mempertahankan ring yang seimbang.
- Jumlah node di semua pusat data harus tetap konsisten.
Untuk memastikan tujuan pertama, Anda harus melipatgandakan jumlah node di cluster Cassandra setiap kali 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 di setiap pusat data. Untuk memperluas cluster ini, Anda harus menambahkan tiga node ke setiap pusat data, sehingga total jumlah node menjadi 12 (enam node di setiap pusat data). Jika perlu perluasan lebih lanjut, Anda harus menambahkan enam node tambahan ke setiap pusat data, sehingga total jumlah node menjadi 24 (12 node di setiap pusat data).
Dokumen ini memberikan petunjuk untuk menambahkan tiga node Cassandra baru ke penginstalan Edge for Private Cloud yang ada. Langkah yang sama dapat diikuti untuk menambahkan node tambahan. Selalu pastikan bahwa saat memperluas cluster, Anda menggandakan jumlah node.
Untuk mengetahui 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 node Cassandra. Ketiga node ditentukan ke properti CASS_HOSTS
dalam file konfigurasi
seperti yang ditunjukkan di bawah:
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 region sebagai "dc-1". Anda memerlukan informasi tersebut saat menambahkan node Cassandra baru.
Mengubah 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 mengupdate 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"
Hal ini memastikan bahwa node yang ada mempertahankan setelan token awal, dan token awal dari setiap node baru berada di antara nilai token node yang ada.
Mengonfigurasi Edge
Setelah mengedit file konfigurasi, Anda harus:
- Mengonfigurasi ulang node Cassandra yang ada
- Menginstal Cassandra di node baru
- Mengonfigurasi Ulang Server Pengelolaan
Mengonfigurasi ulang node Cassandra yang ada
Di node Cassandra yang ada:
- Jalankan kembali setup.sh dengan profil "-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 di node baru.
Di setiap node Cassandra baru:
- Instal Cassandra di tiga node:
- Instal
apigee-setup
di node pertama seperti yang dijelaskan dalam Menginstal utilitas penyiapan apigee Edge. - Instal Cassandra di node pertama menggunakan file konfigurasi yang telah diupdate:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- Ulangi dua langkah ini untuk node Cassandra baru lainnya.
- Instal
- Buat ulang tiga node Cassandra baru, dengan menentukan nama region sebagai pusat data
tempat Anda menambahkan node (
dc-1
,dc-2
, dan sebagainya). Dalam contoh ini, nilainya adalahdc-1
:- Di 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 meneruskan nama pengguna dan sandi jika mengaktifkan autentikasi JMX untuk Cassandra.
- Ulangi langkah ini pada node Cassandra baru yang tersisa.
- Di node pertama, jalankan:
Mengonfigurasi Ulang Server Pengelolaan
Di node Server Pengelolaan
- Jalankan ulang 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 Processor
- Di semua Router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Di semua Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Mengosongkan ruang disk di node Cassandra yang ada
Setelah menambahkan node baru, Anda dapat menggunakan perintah nodetool cleanup
pada node yang sudah ada untuk mengosongkan ruang disk. Perintah ini menghapus token konfigurasi yang tidak
lagi dimiliki oleh node Cassandra yang sudah ada.
Untuk mengosongkan ruang disk di node Cassandra yang sudah ada setelah menambahkan node baru, jalankan perintah berikut:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
Anda hanya perlu meneruskan nama pengguna dan sandi jika mengaktifkan autentikasi JMX untuk Cassandra.
Memverifikasi pembuatan ulang
Gunakan perintah berikut untuk memverifikasi bahwa pembuatan ulang berhasil:
nodetool [-u username -pw password] -h nodeIP netstats
Perintah ini menunjukkan apakah transpor native (atau protokol biner) sedang berjalan, yang memungkinkan Cassandra menerima permintaan klien baru.
nodetool [-u username -pw password] -h nodeIP statusbinary
Perintah ini menunjukkan apakah transpor native (atau protokol biner) sedang berjalan.
nodetool [-u username -pw password] -h nodeIP describecluster
Perintah ini menunjukkan apakah node baru menggunakan versi skema yang sama dengan node lama.
Untuk informasi selengkapnya tentang penggunaan nodetool
, lihat dokumentasi penggunaan nodetool.