Kuidas seadistada Cassandra Cluster mitmel sõlmel

⚡ Nutikas kokkuvõte

Cassandra Cluster grupeerib mitu sõlme nii, et andmed on hajutatud ja ükski masin ei hoia kõike. See leht selgitab klastri komponente, partitsiooni ja märgirõngast, eeltingimusi, sõlmede ühendavaid konfiguratsioonisätteid ja tulemuse kontrollimist.

  • 🧩 Cluster Struktuur: Sõlmed moodustavad andmekeskusi ja andmekeskused moodustavad klastri, mis käitub ühe andmebaasina.
  • 🎯 Partitsioonija roll: Partitsioonivõtme räsi genereerib tokeni ja token otsustab, milline sõlm rida salvestab.
  • 🌱 Seemnesõlmed: Seemned on kontaktpunktid, millega uus sõlm kõigepealt lobiseb; nad ei ole isandad.
  • ⚙️ Peamised seaded: cluster_name, seeds, listen_address ja rpc_address peavad olema cassandra.yaml failis ühetaoliselt määratud.
  • 🚀 Käivitusjärjekord: Alusta esmalt seemnesõlmedega, ükshaaval, seejärel ühenda ülejäänud sõlmed.
  • Kontrollimine: nodetool status peaks iga sõlme kuvama ÜRO-na, millel on ligikaudu võrdne omandiõigus.

Seade Cassandra Cluster mitmel sõlmel

Mis on Cassandra Cluster?

A Cassandra kobar on üks kestadest tervikus Cassandra andmebaas. See Cassandra Klaster sisaldab arvukalt erinevaid salvestusüksuste kihte ja iga kiht sisaldab teist.

Suur organisatsioon nagu Amazon, Facebookil jne on tohutu hulk andmeid, mida hallata. Seega ei saa need organisatsioonid seda tohutut andmemahtu ühte masinasse salvestada. Sel juhul kasutavad nad andmebaase, näiteks Cassandra hajutatud arhitektuuriga.

Need organisatsioonid salvestavad seda tohutut hulka andmeid mitmesse sõlme. Need sõlmed suhtlevad omavahel. Sel eesmärgil Cassandra klaster luuakse.

  • Cluster on põhimõtteliselt sõlmede rühm, nii et sõlmed saavad omavahel hõlpsalt suhelda.
  • Koordinaatorsõlm on sõlm, mis võtab vastu kliendi päringu ja suhtleb koopiatega selle kliendi nimel. Iga sõlm saab tegutseda mis tahes päringu koordinaatorina.

Eraldaja

Sektsioonija määrab, kuidas andmeid klastris jaotada. Partitsioneerija kasutab klastris andmete levitamiseks räsifunktsiooni. Räsi arvutamiseks on vaja partitsioonivõtit. Seda räsi nimetatakse sümboolne. Andmeid levitatakse selle märgi alusel.

Vaikimisi partitsioonija on Murmur3Partitioner, mis genereerib fikseeritud vahemikus ühtlaselt jaotatud märke. Iga sõlm omab ühte või mitut selle vahemiku vahemikku ja vahemike kogum moodustab sümboolne rõngasKuna omistamine toimub räsi, mitte väärtuse järgi, liigutab sõlme lisamine ainult neid vahemikke, mille see üle võtab, mitte ei sega kogu andmestikku ümber.

Eeldused selleks Cassandra Cluster

Klastrite seadistamiseks kehtivad järgmised nõuded.

  1. Teil peaks olema mitu masinat, füüsilist või virtuaalset, mis toimivad sõlmedena.
  2. Sõlmed peavad saama võrgus üksteisega ühendust luua. Nende vahel peavad olema avatud pordid 7000 sõlmedevahelise liikluse jaoks, 7001, kui TLS on lubatud, ja 9042 kliendiühenduste jaoks.
  3. Linux peaks olema installitud igale sõlmele. See on platvorm Cassandra on testitud ja toetatud saidil.
  4. Apache Cassandra peab olema installitud igale sõlmele sama versioonina. Segatud versioonid ei saa skeemilepingut lõpule viia.
  5. Toetatud JDK peab olema installitud igasse masinasse, kusjuures JAVA_HOME on seatud.
  6. Kellad peavad olema NTP-ga sünkroniseeritud. Cassandra lahendab vastuolulised kirjutusvead ajatempli abil, nii et kella triiv annab vaikselt valesid tulemusi.

Viimane nõue on see, mida kõige sagedamini ei täideta ja see põhjustab pigem andmeprobleeme kui käivitustõrkeid.

.

Kuidas paigaldada Cassandra Cluster Linuxis

Cassandra tuleb igasse masinasse installida enne, kui ükski neist saab klastriga liituda. Allolevad ekraanipildid pärinevad DataStax Enterprise'i graafilisest installerist, mis oli selle juhendi kirjutamise ajal levinud installimisviis. Seda installerit ei levitata enam kogukonna kasutamiseks, seega esitatakse kõigepealt praegune lähenemisviis ja viisard järgneb viitamiseks.

Praegune meetod: paigaldada Apache Cassandra pakett või binaarpakett igale sõlmele identselt ja seejärel kontrollige, et igaüks neist käivitub eraldi, enne kui proovite neid ühendada.

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

Kui üks sõlm on puhtalt käivitunud, peatage see, tühjendage selle andmekataloog ja liikuge edasi allpool oleva klastri konfigureerimise jaotise juurde.

Step 1) Käivita Cassandra Ettevõtte väljaande seadistus. Sees Linux terminal, käivitage installiprogramm. Kuvatakse järgmine leht.

paigaldama Cassandra Cluster Linuxis

Sellel lehel ei ole vajalikku teavet. See annab lihtsalt teavet selle kohta Cassandra versioon. Nii et minge see leht läbi ja vajutage nuppu Järgmine.

Step 2) Nõustu litsentsilepinguga. Pärast järgmise nupu vajutamist kuvatakse järgmine leht.

paigaldama Cassandra Cluster Linuxis

Sellel lehel on teave paketi ja alampakettide kohta Cassandra mis installitakse. Allpool küsitakse litsentsi kohta. Märkige ruut „Nõustun lepinguga“ ja klõpsake nuppu „Järgmine“.

Step 3) Paigalda Builder ja klõpsa edasi. Pärast edasise nupu vajutamist näed järgmist lehte.

paigaldama Cassandra Cluster Linuxis

Sellel lehel küsitakse installimisvalikute kohta.

  1. Esiteks küsib see installikataloogi. Vaikimisi installitakse see kodukataloogi.
  2. Järgmisena küsib see installitüübi kohta, valige Lihtne installimine.
  3. Järgmisena küsib see värskendussüsteemi kohta. Kontrollige "ei".
  4. Järgmisena küsitakse vaikeliidest. On kaks võimalust: saate installida localhost'i või valida IP-aadressi. Valige installimiseks IP-aadress.
  5. Vajutage järgmist nuppu.

Step 4) Seadista sõlm ja klõpsa nupul „Järgmine“. Pärast järgmise nupu vajutamist kuvatakse järgmine leht.

paigaldama Cassandra Cluster Linuxis

See leht küsib sõlme seadistamise kohta.

  1. Esmalt valige sõlme tüüp 'Cassandra Sõlm.
  2. Järgmisena sisestage väljale Ring Name oma klastri nimi. Cluster nimi peaks olema sama kõigi sama klastri sõlmede jaoks.
  3. Järgmisena vali seeme. Seeme on sõlm, millega teised mitte-seemnesõlmed käivitumisel ühendust võtavad.
  4. Pärast selle teabe esitamist vajutage nuppu Järgmine.

Step 5) Paigalda jälgimisagent. Pärast järgmise nupu vajutamist kuvatakse järgmine leht. See leht küsib IP-aadressi, kuhu agent tuleks installida.

  1. Agenti on vaja jälgimiskonsooli jaoks, kus kõiki sõlmi saab jälgida ühest kohast.
  2. Pärast selle teabe esitamist vajutage nuppu Järgmine.

paigaldama Cassandra Cluster Linuxis

Step 6) Installi alustamiseks vajutage nuppu „Järgmine“. Pärast nupu „Järgmine“ vajutamist kuvatakse järgmine leht.

paigaldama Cassandra Cluster Linuxis

Nüüd on seadistus installimiseks valmis. Vajutage nuppu järgmine.

Step 7) Oodake installiprotsessi. Pärast järgmise nupu vajutamist kuvatakse järgmine leht.

paigaldama Cassandra Cluster Linuxis

Installiprogramm alustab installimist.

Step 8) Klõpsake nuppu „Valmis“. Pärast installimist kuvatakse järgmine leht. Samal lehel näete linnukest valiku juures, mis kuvatakse vaikimisi.

paigaldama Cassandra Cluster Linuxis

cassandra.yaml seadistamine sõlmede ühendamiseks

Ainuüksi installimine ei loo klastrit. Sõlmed leiavad teineteise alles siis, kui neli cassandra.yaml failis olevat sätet on omavahel kooskõlas ja see fail on koht, kus enamik klastri seadistusi valesti läheb.

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
  • klastri_nimi peab igas sõlmes ühtima. Mittevastavus on kõige levinum põhjus, miks sõlm keeldub liitumast.
  • seemned loetleb kontaktpunktid, kellega algne sõlm suhtleb. Piisab kahest või kolmest seemnest andmekeskuse kohta; iga sõlme seemneks tegemine hoiab ära automaatse alglaadimise.ping.
  • kuulamisaadress on aadress, mida teised sõlmed selleni jõudmiseks kasutavad. See peab olema reaalne marsruutitav aadress, mitte kunagi localhost.
  • lõpp-punkti_snitch ütleb Cassandra riiuli ja andmekeskuse paigutus. GossipingPropertyFileSnitch on tavaline valik, mille väärtused on määratud failis cassandra-rackdc.properties.

Snitch'i või klastri nime muutmine pärast andmete olemasolu nõuab lisasamme, seega tuleks mõlemad otsustada enne esimese sõlme käivitamist.

Käivitus Cassandra sõlme

pärast paigaldamine Cassandra Käivitage igal sõlmel serverid ja järgige alltoodud samme. Järjekord on oluline: käivitage esmalt seemnesõlmed, ükshaaval, oodates, kuni igaüks neist teatab töövalmis olekust, enne kui järgmise käivitate. Mitme sõlme samaaegne käivitamine võib tekitada tokenite vahemiku konflikte.

Step 1) Mine Cassandra installikataloog ja käivitage server.

bin/cassandra -f

Käivitus Cassandra sõlme

Selle käsu täitmisega Cassandra server käivitatakse. Siin on ekraanipilt, kus Cassandra server käivitub.

Käivitus Cassandra sõlme

Umbes minuti pärast on server üleval. Käivitage iga sõlmeserver ükshaaval. Pärast kõigi sõlmeserverite käivitamist on teie Cassandra klaster on kasutamiseks valmis.

Step 2) Veenduge, et kõik sõlmed on liitunud, kontrollides ükskõik millise sõlme rõngast.

nodetool status
nodetool describecluster

Iga sõlm peaks ilmuma koos olekuga UN, mis tähendab Üles ja Normaalne ning veerg „Omab” peaks näitama ligikaudu võrdseid protsente. Üks skeemi versioon descluster väljundis kinnitab, et kõik sõlmed on skeemiga nõus.

Enamiku tõrgete korral on kolm sümptomit. Sõlmel, mis kunagi ei ilmu, on tavaliselt sobimatu klastri_nimi või blokeeritud port 7000. Sõlm on kinni jäänud aadressil UJ, liitumine, voogedastab endiselt andmeid ja vajab suurel klastril lihtsalt aega. Äärmiselt ebaühtlane omandisuhe viitab valele konfiguratsioonile, kus sõlmed paigutati valesse racki või andmekeskusesse.

Kui rõngas on terve, määravad iga võtmeruumi replikatsiooniseaded, kuidas andmed selles levivad, nagu on kirjeldatud jaotises Cassandra klahviruum õpetus ja Cassandra arhitektuur lagunema.

KKK

Kolm, mis vastab standardsele replikatsioonitegurile kolm. See võimaldab QUORUM-i lugemistel ja kirjutamisel jätkuda ka siis, kui üks sõlm on hoolduse või rikke tõttu maas.

Ei. Seemned toimivad kontaktpunktidena ainult käivitamise ja kuulujuttude ajal. Nad salvestavad andmeid nagu iga teine ​​​​sõlm ja ühe kaotamine ei mõjuta töötavat klastrit.

Paigalda sama versioon, suuna see olemasolevatele algväärtustele ja käivita. See käivitub automaatselt, voogesitades oma tokenite vahemikke. Seejärel käivita teistel sõlmedel nodetool cleanup.

Arvestades andmemahtu, replikatsioonitegurit ja läbilaskevõime eesmärke, genereerib tehisintellekt mõistliku algsõlmede arvu. Kinnitage seda koormustestiga, kuna tihendamise ja parandamise üldkulud on töökoormusest sõltuvad.

Jah. system.logi pakkumine koos cassandra.yaml-iga toob tavaliselt kiiresti esile põhjuse, enamasti klastri nime mittevastavuse, blokeeritud pordi või listen_addressi jätmise localhostiks.

Võta see postitus kokku järgmiselt: