Kuinka asennus Cassandra Cluster useissa solmuissa

⚡ Älykäs yhteenveto

Cassandra Cluster ryhmittelee useita solmuja niin, että data on hajautettu eikä mikään yksittäinen kone säilytä kaikkea. Tällä sivulla selitetään klusterikomponentit, osioija ja token ring, edellytykset, solmuja yhdistävät kokoonpanoasetukset ja tuloksen varmistaminen.

  • 🧩 Cluster Rakenne: Solmut muodostavat datakeskuksia, ja datakeskukset muodostavat klusterin, joka toimii kuin yksi tietokanta.
  • 🎯 Osioinnin rooli: Osiointiavaimen tiiviste tuottaa tunnuksen (token), ja tunnus päättää, mikä solmu tallentaa rivin.
  • 🌱 Siemensolmut: Siemenet ovat yhteyspisteitä, joiden kanssa uusi solmu juoruilee ensin; ne eivät ole mestareita.
  • ⚙️ Tärkeimmät asetukset: cluster_name, seeds, listen_address ja rpc_address on asetettava johdonmukaisesti cassandra.yaml-tiedostossa.
  • 🚀 Käynnistysjärjestys: Aloita siemensolmut ensin yksi kerrallaan ja liitä sitten loput solmut.
  • ✅ Todentaminen: nodetool-tilan pitäisi listata jokainen solmu YK:ksi, jolla on suunnilleen sama omistajuus.

Perustaa Cassandra Cluster useissa solmuissa

Mikä on Cassandra Cluster?

A Cassandra klusteri on yksi kokonaisuuden kuorista Cassandra tietokanta. The Cassandra klusteri sisältää useita eri tallennusyksiköiden kerroksia, ja jokainen kerros sisältää toisen kerroksen.

Iso organisaatio, mm Amazon, Facebookilla jne. on valtava määrä dataa hallittavanaan. Joten nämä organisaatiot eivät voi tallentaa niin valtavaa datamäärää yhdelle koneelle. Tällöin he käyttävät tietokantoja, kuten Cassandra hajautetun arkkitehtuurin kanssa.

Nämä organisaatiot tallentavat valtavan määrän dataa useille solmuille. Nämä solmut kommunikoivat keskenään. Tätä tarkoitusta varten Cassandra klusteri on perustettu.

  • Cluster on pohjimmiltaan joukko solmuja, jotta solmut voivat kommunikoida helposti keskenään.
  • Koordinaattorisolmu on solmu, joka vastaanottaa asiakaspyynnön ja kommunikoi replikoiden kanssa kyseisen asiakkaan puolesta. Mikä tahansa solmu voi toimia koordinaattorina mille tahansa pyynnölle.

Erotin

Osio määrittää, kuinka tiedot tulee jakaa klusterissa. Osiointi käyttää hash-funktiota tietojen jakamiseen klusterissa. Hajautusarvon laskeminen vaatii osioavaimen. Tuo hash on nimeltään symbolinen. Tiedot jaetaan tämän tunnuksen perusteella.

Oletusosioija on Murmur3Partitioner, joka tuottaa tokeneita tasaisesti kiinteälle alueelle jakautuneina. Jokainen solmu omistaa yhden tai useamman alueen kyseisestä alueesta, ja alueiden kokoelma muodostaa merkkirengasKoska määritys tapahtuu hajautusarvon eikä arvon perusteella, solmun lisääminen siirtää vain sen ottamat alueet sen sijaan, että koko tietojoukko järjestettäisiin uudelleen.

Edellytykset Cassandra Cluster

Klusterin määrittämisessä on seuraavat vaatimukset.

  1. Sinulla tulisi olla useita koneita, fyysisiä tai virtuaalisia, jotka toimivat solmuina.
  2. Solmujen on voitava tavoittaa toisensa verkossa. Niiden välillä on oltava avoinna portit 7000 solmujen välistä liikennettä varten, 7001, jos TLS on käytössä, ja 9042 asiakasyhteyksiä varten.
  3. Linux tulisi asentaa jokaiselle solmulle. Se on alusta Cassandra on testattu ja tuettu.
  4. Apache Cassandra on asennettava jokaiselle solmulle samaan versioon. Sekalaiset versiot eivät voi suorittaa skeemasopimusta.
  5. Tuettu JDK on asennettava jokaiselle koneelle ja JAVA_HOME on asetettava.
  6. Kellojen on oltava synkronoituja NTP:n kanssa. Cassandra ratkaisee ristiriitaiset kirjoitukset aikaleiman perusteella, joten kellon ajautuminen tuottaa hiljaa vääriä tuloksia.

Viimeinen vaatimus on useimmiten unohdettu, ja se aiheuttaa pikemminkin dataongelmia kuin käynnistysvirheitä.

.

Miten Asenna Cassandra Cluster Linuxissa

Cassandra on asennettava jokaiselle koneelle ennen kuin mikään niistä voi liittyä klusteriin. Alla olevat kuvakaappaukset ovat DataStax Enterprisen graafisesta asennusohjelmasta, jota käytettiin yleisesti tämän ohjeen kirjoitusvaiheessa. Kyseistä asennusohjelmaa ei enää jaeta yhteisön käyttöön, joten nykyinen lähestymistapa annetaan ensin ja ohjattu toiminto on seuraavaksi viitteeksi.

Nykyinen menetelmä: asenna Apache Cassandra paketti tai binääritarball jokaisella solmulla identtisesti ja varmista sitten, että jokainen käynnistyy itsenäisesti ennen kuin yrität liittää ne.

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

Kun yksi solmu on käynnistynyt virheettömästi, pysäytä se, tyhjennä sen datahakemisto ja siirry alla olevaan klusterikokoonpano-osioon.

Vaihe 1) Suorita Cassandra Yritysversion asennus. Päällä Linux terminaali, suorita asennusohjelma. Seuraava sivu tulee näkyviin.

install Cassandra Cluster Linuxissa

Tällä sivulla ei ole tarvittavia tietoja. Se tarjoaa vain tietoa aiheesta Cassandra versio. Joten ohita tämä sivu ja paina seuraava-painiketta.

Vaihe 2) Hyväksy käyttöoikeussopimus. Seuraavan painikkeen painamisen jälkeen seuraava sivu tulee näkyviin.

install Cassandra Cluster Linuxissa

Tällä sivulla on tietoa paketeista ja alipaketeista Cassandra joka asennetaan. Alla kysytään lisenssistä. Valitse valintaruutu 'Hyväksyn sopimuksen' ja paina Seuraava-painiketta.

Vaihe 3) Asenna Builder ja napsauta Seuraava. Seuraava-painikkeen painamisen jälkeen näet seuraavan sivun.

install Cassandra Cluster Linuxissa

Tämä sivu kysyy asennusvaihtoehdoista.

  1. Ensinnäkin se kysyy asennushakemistoa. Oletuksena se asennetaan kotihakemistoon.
  2. Seuraavaksi se kysyy asennustyyppiä, valitse Yksinkertainen asennus.
  3. Seuraavaksi se kysyy päivitysjärjestelmästä, tarkista "ei".
  4. Seuraavaksi se kysyy oletusrajapintaa. Vaihtoehtoja on kaksi: voit asentaa sen paikalliselle koneelle tai valita IP-osoitteen. Valitse asennusta varten IP-osoite.
  5. Paina seuraavaa painiketta.

Vaihe 4) Määritä solmu ja napsauta Seuraava. Seuraava-painikkeen painamisen jälkeen näyttöön tulee seuraava sivu.

install Cassandra Cluster Linuxissa

Tämä sivu kysyy solmun asetuksista.

  1. Valitse ensin solmun tyyppiCassandra Solmu'.
  2. Anna seuraavaksi Ring Name -kohdassa klusterin nimi. Cluster Nimen tulee olla sama kaikille saman klusterin solmuille.
  3. Valitse seuraavaksi siemen. Siemen on solmu, johon muut ei-siemensolmut ottavat yhteyttä käynnistyessään.
  4. Kun olet antanut nämä tiedot, paina seuraava-painiketta.

Vaihe 5) Asenna valvonta-agentti. Seuraava-painikkeen painamisen jälkeen näyttöön tulee seuraava sivu. Tällä sivulla kysytään IP-osoitetta, johon agentti asennetaan.

  1. Agenttia tarvitaan valvontakonsoliin, jossa kaikkia solmuja voidaan tarkkailla yhdessä paikassa.
  2. Kun olet antanut nämä tiedot, paina seuraava-painiketta.

install Cassandra Cluster Linuxissa

Vaihe 6) Asennus aloitetaan painamalla Seuraava-painiketta. Seuraava-painikkeen painamisen jälkeen näyttöön tulee seuraava sivu.

install Cassandra Cluster Linuxissa

Nyt asennus on valmis asennettavaksi. Paina seuraava-painiketta.

Vaihe 7) Odota asennusprosessia. Seuraava-painikkeen painamisen jälkeen seuraava sivu tulee näkyviin.

install Cassandra Cluster Linuxissa

Asennusohjelma aloittaa asennuksen.

Vaihe 8) Napsauta Valmis-painiketta. Asennuksen jälkeen seuraava sivu tulee näkyviin. Samalla sivulla näet valintamerkin vaihtoehdolle, joka näkyy oletusarvoisesti.

install Cassandra Cluster Linuxissa

cassandra.yaml-tiedoston määrittäminen solmujen liittämiseen

Pelkkä asennus ei luo klusteria. Solmut löytävät toisensa vasta, kun neljä cassandra.yaml-tiedoston asetusta ovat samat, ja tämä tiedosto on se kohta, jossa useimmat klusteriasetukset menevät pieleen.

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
  • klusterin_nimi täytyy vastata jokaisessa solmussa. Yhteensopimattomuus on yleisin syy siihen, miksi solmu kieltäytyy liittymästä.
  • siemenet listaa yhteyspisteet, joiden kanssa aloitussolmu juoruilee. Kaksi tai kolme siementä datakeskusta kohden riittää; jokaisen solmun tekeminen siemeneksi estää automaattisen käynnistyksenping.
  • kuunteluosoite on osoite, jota muut solmut käyttävät tämän osoitteen saavuttamiseen. Sen on oltava oikea reititettävä osoite, ei koskaan localhost.
  • päätepisteen_snitch kertoo Cassandra räkin ja datakeskuksen asettelu. GossipingPropertyFileSnitch on tavallinen valinta, jonka arvot asetetaan cassandra-rackdc.properties-tiedostossa.

Snitch- tai klusterinimen muuttaminen datan olemassaolon jälkeen vaatii lisävaiheita, joten molemmat tulisi päättää ennen ensimmäisen solmun käynnistymistä.

Aloita Cassandra Solmu

Asennuksen jälkeen Cassandra Käynnistä palvelimet jokaisella solmulla ja noudata alla olevia ohjeita. Järjestyksellä on merkitystä: käynnistä siemensolmut ensin yksi kerrallaan ja odota, että jokainen solmu ilmoittaa toimivaksi ennen seuraavan käynnistämistä. Useiden solmujen samanaikainen käynnistäminen voi aiheuttaa merkkijonojen ristiriitoja.

Vaihe 1) Siirry Cassandra asennushakemisto ja käynnistä palvelin.

bin/cassandra -f

Aloita Cassandra Solmu

Suorittamalla tämän komennon, Cassandra palvelin käynnistetään. Tässä on kuvakaappaus, jossa Cassandra palvelin käynnistyy.

Aloita Cassandra Solmu

Noin minuutin kuluttua palvelin on käytettävissä. Käynnistä jokainen solmupalvelin yksi kerrallaan. Kun kaikki solmupalvelimet on käynnistetty, sinun Cassandra klusteri on valmis käytettäväksi.

Vaihe 2) Varmista, että jokainen solmu on liittynyt, tarkistamalla minkä tahansa solmun rengas.

nodetool status
nodetool describecluster

Jokaisen solmun tulisi näkyä tilan kanssa UN, eli Ylös ja Normaali, ja Omistaa-sarakkeen tulisi näyttää suunnilleen yhtä suuret prosenttiosuudet. Yksi skeemaversio descruster-tulosteessa vahvistaa, että kaikki solmut ovat samaa mieltä skeemasta.

Kolme oiretta kattavat useimmat viat. Solmulla, joka ei koskaan ilmesty, on yleensä epäsuhtainen klusterin_nimi tai portti 7000 on estetty. Solmu on jumissa osoitteessa UJ, liittyminen, suoratoistaa edelleen dataa ja tarvitsee yksinkertaisesti aikaa suuressa klusterissa. Villin epätasainen omistajuus viittaa vaskikohtaiseen väärään kokoonpanoon, jossa solmut sijoitettiin väärään telineeseen tai datakeskukseen.

Kun rengas on kunnossa, kunkin avainavaruuden replikointiasetukset määrittävät, miten data leviää sen läpi, kuten on kuvattu kohdassa Cassandra näppäimistötila opetusohjelma ja Cassandra arkkitehtuuri hajota.

UKK

Kolme, mikä vastaa vakioreplikointikerrointa kolme. Tämä sallii QUORUM-lukujen ja -kirjoitusten jatkumisen, vaikka yksi solmu olisi poissa käytöstä huollon tai vian vuoksi.

Ei. Siemenet toimivat vain yhteyspisteinä käynnistyksen ja juorujen aikana. Ne tallentavat dataa kuten mikä tahansa muu solmu, eikä yhden menettäminen vaikuta käynnissä olevaan klusteriin.

Asenna sama versio, kohdista se olemassa oleviin siemeniin ja käynnistä se. Se käynnistyy automaattisesti suoratoistamalla token-alueitaan. Suorita nodetool cleanup muissa solmuissa sen jälkeen.

Tiedon määrän, replikointikertoimen ja läpäisykykytavoitteiden perusteella tekoäly tuottaa kohtuullisen aloitussolmujen määrän. Vahvista tämä kuormitustestillä, koska tiivistys- ja korjauskustannukset ovat työmääräkohtaisia.

Kyllä. system.log-tiedoston toimittaminen cassandra.yaml-tiedoston rinnalla paljastaa yleensä syyn nopeasti, useimmiten klusterin nimen ristiriidan, estetty portin tai listen_address-osoitteen jättämisen paikalliseksi isäntäkoneeksi.

Tiivistä tämä viesti seuraavasti: