Cara Setup Cassandra Cluster pada Banyak Node

⚡ Ringkasan Cerdas

Cassandra Cluster Mengelompokkan beberapa node sehingga data terdistribusi dan tidak ada satu mesin pun yang menyimpan semuanya. Halaman ini menjelaskan komponen klaster, partisi dan token ring, prasyarat, pengaturan konfigurasi yang menggabungkan node, dan cara memverifikasi hasilnya.

  • 🧩 Cluster Struktur: Node-node membentuk pusat data, dan pusat data membentuk klaster yang berfungsi sebagai satu basis data.
  • 🎯 Peran Partisi: Hash dari kunci partisi menghasilkan token, dan token tersebut menentukan node mana yang menyimpan baris tersebut.
  • 🌱 Simpul Benih: Seed adalah titik kontak yang pertama kali dihubungi oleh node baru; mereka bukanlah master.
  • ⚙️ Pengaturan Kunci: cluster_name, seeds, listen_address, dan rpc_address harus diatur secara konsisten di cassandra.yaml.
  • 🚀 Urutan Memulai: Mulailah dengan node awal (seed node) satu per satu, lalu gabungkan node yang tersisa.
  • ✅ Verifikasi: nodetool status seharusnya mencantumkan setiap node sebagai UN dengan kepemilikan yang kurang lebih merata.

Pengaturan Cassandra Cluster pada Banyak Node

Apa itu Cassandra Cluster?

A Cassandra cluster adalah salah satu shell dalam keseluruhan Cassandra basis data. NS Cassandra Klaster tersebut berisi banyak lapisan unit penyimpanan yang berbeda, dan setiap lapisan berisi lapisan lainnya.

Organisasi besar seperti AmazonFacebook, dan lain-lain, memiliki sejumlah besar data untuk dikelola. Oleh karena itu, organisasi-organisasi ini tidak dapat menyimpan data dalam jumlah besar tersebut pada satu mesin saja. Di sinilah mereka menggunakan basis data seperti... Cassandra dengan arsitektur terdistribusi.

Organisasi-organisasi ini menyimpan sejumlah besar data tersebut pada banyak node. Node-node ini saling berkomunikasi. Untuk tujuan ini, Cassandra klaster terbentuk.

  • Cluster Pada dasarnya, ini adalah sekelompok node, sehingga node-node tersebut dapat berkomunikasi satu sama lain dengan mudah.
  • Node koordinator adalah node yang menerima permintaan klien dan berkomunikasi dengan replika atas nama klien tersebut. Node mana pun dapat bertindak sebagai koordinator untuk permintaan apa pun.

Partisi

Pemartisi menentukan bagaimana data harus didistribusikan di cluster. Partitioner menggunakan fungsi hash untuk mendistribusikan data pada cluster. Dibutuhkan kunci partisi untuk menghitung hash. Hash itu disebut token. Data didistribusikan berdasarkan token ini.

Partisi default adalah Murmur3Partitioner, yang menghasilkan token yang tersebar merata di seluruh rentang tetap. Setiap node memiliki satu atau lebih rentang dari rentang tersebut, dan kumpulan rentang tersebut membentuk cincin tokenKarena penugasan dilakukan berdasarkan hash dan bukan berdasarkan nilai, menambahkan sebuah node hanya memindahkan rentang yang diambil alihnya, bukan mengacak ulang seluruh dataset.

Prasyarat untuk Cassandra Cluster

Ada persyaratan berikut untuk pengaturan klaster.

  1. Anda harus memiliki beberapa mesin, fisik atau virtual, yang bertindak sebagai node.
  2. Node harus dapat saling terhubung di jaringan. Port 7000 untuk lalu lintas antar node, 7001 jika TLS diaktifkan, dan 9042 untuk koneksi klien harus terbuka di antara mereka.
  3. Linux harus diinstal pada setiap node. Ini adalah platformnya. Cassandra diuji dan didukung pada.
  4. Apache Cassandra Harus diinstal pada setiap node, dengan versi yang sama. Versi campuran tidak dapat menyelesaikan kesepakatan skema.
  5. Sebuah dukungan JDK harus diinstal pada setiap mesin, dengan JAVA_HOME diatur.
  6. Jam harus disinkronkan dengan NTP. Cassandra Menyelesaikan penulisan yang bertentangan berdasarkan stempel waktu, sehingga pergeseran waktu secara diam-diam menghasilkan hasil yang salah.

Persyaratan terakhir adalah yang paling sering terlewatkan, dan hal ini menyebabkan masalah data daripada kegagalan saat memulai aplikasi.

.

Cara Install Cassandra Cluster di Linux

Cassandra Perangkat lunak ini harus diinstal pada setiap mesin sebelum salah satu dari mereka dapat bergabung dengan klaster. Tangkapan layar di bawah ini berasal dari penginstal grafis DataStax Enterprise, yang merupakan cara umum saat panduan ini ditulis. Penginstal tersebut tidak lagi didistribusikan untuk penggunaan umum, jadi pendekatan saat ini diberikan terlebih dahulu dan wizard selanjutnya sebagai referensi.

Metode saat ini: menginstal Apache Cassandra Instal paket atau file tarball biner pada setiap node secara identik, kemudian verifikasi bahwa masing-masing dapat berjalan sendiri sebelum mencoba menggabungkannya.

tar -xzf apache-cassandra-x.y.z-bin.tar.gz -C /opt/
export CASSANDRA_HOME=/opt/apache-cassandra-x.y.z
$CASSANDRA_HOME/bin/cassandra -f

Setelah satu node berhasil dijalankan dengan bersih, hentikan node tersebut, bersihkan direktori datanya, dan lanjutkan ke bagian konfigurasi klaster di bawah ini.

Langkah 1) Jalankan Cassandra Pengaturan edisi perusahaan. Pada Linux Buka terminal, jalankan program setup. Halaman berikut akan ditampilkan.

Install Cassandra Cluster di Linux

Halaman ini tidak memberikan informasi apa pun yang diperlukan. Itu hanya memberikan informasi tentang Cassandra Versi: kapan. Jadi lewati halaman ini dan tekan tombol berikutnya.

Langkah 2) Setujui perjanjian lisensi. Setelah menekan tombol berikutnya, halaman berikut akan ditampilkan.

Install Cassandra Cluster di Linux

Halaman ini memberikan informasi tentang paket dan sub paket di Cassandra yang akan diinstal. Di bawahnya akan muncul pertanyaan tentang lisensi. Centang kotak centang 'Saya menerima perjanjian' dan tekan tombol berikutnya.

Langkah 3) Instal Builder dan klik Berikutnya. Setelah menekan tombol berikutnya, Anda akan melihat halaman berikut.

Install Cassandra Cluster di Linux

Halaman ini menanyakan Anda tentang opsi instalasi.

  1. Pertama-tama, ia akan menanyakan direktori instalasi. Secara default, ini diinstal di direktori home.
  2. Selanjutnya ditanyakan tentang jenis instalasi, pilih Simple Install.
  3. Selanjutnya, ia menanyakan tentang pembaruan sistem, centang 'tidak'.
  4. Selanjutnya, akan muncul pilihan antarmuka default. Ada dua opsi, Anda dapat menginstal di localhost atau memilih alamat IP. Pilih alamat IP untuk instalasi.
  5. Tekan tombol berikutnya.

Langkah 4) Atur Node dan Klik Berikutnya. Setelah menekan tombol berikutnya, halaman berikut akan ditampilkan.

Install Cassandra Cluster di Linux

Halaman ini menanyakan tentang pengaturan node.

  1. Pertama, pilih tipe Node 'Cassandra Node'.
  2. Berikutnya, pada Ring Name, berikan nama klaster Anda. Cluster nama harus sama untuk semua node dalam klaster yang sama.
  3. Selanjutnya, pilih seed. Seed adalah node yang dihubungi oleh node non-seed lainnya saat mereka mulai beroperasi.
  4. Setelah memberikan informasi ini, tekan tombol berikutnya.

Langkah 5) Instal agen pemantauan. Setelah menekan tombol berikutnya, halaman berikut akan ditampilkan. Halaman ini meminta alamat IP tempat agen harus diinstal.

  1. Agen diperlukan untuk konsol pemantauan, di mana semua node dapat diamati di satu tempat.
  2. Setelah memberikan informasi ini, tekan tombol berikutnya.

Install Cassandra Cluster di Linux

Langkah 6) Tekan tombol Berikutnya untuk Instalasi. Setelah menekan tombol Berikutnya, halaman berikut akan ditampilkan.

Install Cassandra Cluster di Linux

Sekarang setup siap untuk diinstal. Tekan tombol berikutnya.

Langkah 7) Tunggu proses instalasi. Setelah menekan tombol berikutnya, halaman berikut akan ditampilkan.

Install Cassandra Cluster di Linux

Proses instalasi akan dimulai.

Langkah 8) Klik tombol Selesai. Setelah instalasi, halaman berikut akan ditampilkan. Pada halaman yang sama, Anda akan melihat tanda centang untuk opsi yang muncul secara default.

Install Cassandra Cluster di Linux

Mengonfigurasi cassandra.yaml untuk Menggabungkan Node

Instalasi saja tidak akan membuat klaster. Node hanya akan saling menemukan setelah empat pengaturan dalam file cassandra.yaml disepakati, dan file inilah yang seringkali salah dalam pengaturan klaster.

cluster_name: 'Guru99 Cluster'
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
      - seeds: "192.168.1.10,192.168.1.11"
listen_address: 192.168.1.10
rpc_address: 0.0.0.0
broadcast_rpc_address: 192.168.1.10
endpoint_snitch: GossipingPropertyFileSnitch
  • nama_kluster Harus cocok di setiap node. Ketidakcocokan adalah penyebab paling umum sebuah node menolak untuk bergabung.
  • biji Daftar ini mencantumkan titik kontak yang dihubungi oleh node awal. Dua atau tiga node awal per pusat data sudah cukup; menjadikan setiap node sebagai node awal mencegah bootstrap otomatis.ping.
  • alamat_mendengarkan adalah alamat yang digunakan node lain untuk mencapai node ini. Alamat tersebut harus berupa alamat yang dapat dirutekan, bukan localhost.
  • endpoint_snitch mengatakan Cassandra Tata letak rak dan pusat data. GossipingPropertyFileSnitch adalah pilihan yang umum, dengan nilai yang ditetapkan dalam cassandra-rackdc.properties.

Mengubah nama snitch atau cluster setelah data ada memerlukan langkah tambahan, jadi keduanya harus diputuskan sebelum node pertama dimulai.

Mulai Cassandra Node

Setelah menginstal Cassandra Pada setiap node, jalankan server dan ikuti langkah-langkah di bawah ini. Urutan penting: jalankan node seed terlebih dahulu, satu per satu, tunggu hingga masing-masing node melaporkan status aktif sebelum menjalankan node berikutnya. Menjalankan beberapa node secara bersamaan dapat menyebabkan konflik rentang token.

Langkah 1) Pergi ke Cassandra direktori instalasi dan mulai server.

bin/cassandra -f

Mulai Cassandra Node

Dengan menjalankan perintah ini, maka Cassandra Server akan dimulai. Berikut tangkapan layarnya. Cassandra Server sedang dimulai.

Mulai Cassandra Node

Setelah kurang lebih satu menit, server akan aktif. Mulai setiap server node satu per satu. Setelah semua server node dimulai, Anda Cassandra cluster siap digunakan.

Langkah 2) Verifikasi bahwa setiap node telah bergabung dengan memeriksa cincin dari salah satu node tersebut.

nodetool status
nodetool describecluster

Setiap node harus muncul dengan status UN, yang berarti Up dan Normal, dan kolom Owns seharusnya menunjukkan persentase yang kurang lebih sama. Satu versi skema dalam output describecluster mengkonfirmasi bahwa semua node menyetujui skema tersebut.

Tiga gejala mencakup sebagian besar kegagalan. Node yang tidak pernah muncul biasanya memiliki cluster_name yang tidak cocok atau port 7000 yang diblokir. Node yang macet di UJProses penggabungan masih mengalirkan data dan hanya membutuhkan waktu pada klaster besar. Kepemilikan yang sangat tidak merata menunjukkan kesalahan konfigurasi snitch, di mana node ditempatkan di rak atau pusat data yang salah.

Dengan kondisi ring yang sehat, pengaturan replikasi untuk setiap keyspace menentukan bagaimana data menyebar di dalamnya, seperti yang dijelaskan dalam Cassandra ruang kunci tutorial dan Cassandra arsitektur kerusakan.

Pertanyaan Umum Demo Slot

Tiga, sesuai dengan faktor replikasi standar yaitu tiga. Hal ini memungkinkan pembacaan dan penulisan QUORUM untuk terus berlanjut meskipun satu node sedang dalam perbaikan atau mengalami kegagalan.

Tidak. Seed hanya berfungsi sebagai titik kontak selama proses startup dan gossip. Mereka menyimpan data seperti node lainnya, dan kehilangan satu seed tidak memengaruhi cluster yang sedang berjalan.

Instal versi yang sama, arahkan ke seed yang sudah ada, dan jalankan. Proses bootstrapping akan berjalan otomatis dengan melakukan streaming rentang token. Setelah itu, jalankan `nodetool cleanup` pada node-node lainnya.

Dengan mempertimbangkan volume data, faktor replikasi, dan target throughput, AI menghasilkan jumlah node awal yang wajar. Validasi jumlah node tersebut dengan uji beban, karena overhead pemadatan dan perbaikan bersifat spesifik terhadap beban kerja.

Ya. Menyertakan file system.log bersama dengan cassandra.yaml biasanya akan segera mengungkap penyebabnya, paling sering karena ketidakcocokan nama klaster, port yang diblokir, atau listen_address yang dibiarkan sebagai localhost.

Ringkaslah postingan ini dengan: