GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Apache Cassandra in CentOS

1. Einführung

Kassandra ist ein verteiltes Open-Source-Datenbankverwaltungssystem mit einem breiten Spaltenspeicher und einer NoSQL-Datenbank, die riesige Datenmengen auf vielen Commodity-Servern ohne Single Point of Failure verarbeiten kann. Es wurde von der Apache Software Foundation erstellt und ist in Java geschrieben. In diesem Artikel gehen wir Schritt für Schritt durch die Installation von Cassandra in CentOS 7 Linux.

2. Voraussetzungen

Alle unten angegebenen Befehle sollten als root ausgeführt werden oder sudo Benutzer.

2.1. Installieren Sie Python 2.7

Auf CentOS 7 ist Python 2.7 vorinstalliert. Wenn es aus irgendeinem Grund fehlt, können Sie es mit dem folgenden Befehl installieren:

# yum -y install python
# python --version
Python 2.7.5

2.2. Installieren Sie Java

Verwenden Sie die folgenden Befehle, um die neueste Version von Java 8 zu installieren und die Installation zu überprüfen.

# yum install java-1.8.0-openjdk-devel
# java -version

Beispielausgabe:

openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

3. So installieren Sie Cassandra

Lassen Sie uns zuerst das Cassandra-Repository hinzufügen. Erstellen Sie dazu eine Datei namens cassandra.repo unter /etc/yum.repos.d/ Verzeichnis:

# vi /etc/yum.repos.d/cassandra.repo

Fügen Sie darin die folgenden Zeilen hinzu:

[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS

Drücken Sie ESC drücken und :wq eingeben um die Datei zu speichern und zu schließen.

Überprüfen Sie, ob das Cassandra-Repository hinzugefügt wurde. Der folgende Befehl stellt die installierten und aktivierten Repositories sicher:

# yum repolist

Führen Sie nach dem Hinzufügen des Repositorys den folgenden Befehl aus, um Cassandra in Ihrem CentOS-System zu installieren:

# yum -y install cassandra

Aktivieren und starten Sie den Cassandra-Dienst:

# systemctl enable cassandra
cassandra.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig cassandra on
# systemctl start Cassandra

Stellen Sie den Status von Cassandra sicher:

# systemctl status cassandra

Verwenden Sie den folgenden Befehl, um die Details des Clusters wie Zustand, Last und IDs abzurufen:

# nodetool status

Beispielausgabe:

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  69.08 KiB  16      100.0%            bf2df7a9-54bc-41c9-8c6c-0b9322d10e71  rack1

In der Ausgabe,

  • UN - Aktiv und normal
  • Adresse - IP-Adresse des Knotens
  • Laden - Nach dem Ausschließen des gesamten Inhalts im Snapshots-Unterverzeichnis die Menge der Dateisystemdaten im Cassandra-Datenverzeichnis. Alle 90 Sekunden einmal Es wird aktualisiert.
  • Token - Die Anzahl der Token, die dem Knoten zugewiesen wurden.
  • Besitzt - Wie viele Daten der Knoten besitzt; ein Knoten kann 33 % des Rings besitzen, aber 100 % anzeigen, wenn der Replikationsfaktor 3 ist.
  • Host-ID - Netzwerk-ID des Hosts
  • Gestell - Rack des Knotens, wo es existiert.

4. Cqlsh – CLI für Cassandra

cqlsh ist eine Befehlszeilenschnittstelle zur Verwendung von CQL zur Verbindung mit Cassandra (Cassandra Query Language). Es ist in jedem Cassandra-Paket enthalten und kann zusammen mit der ausführbaren Cassandra-Datei im bin/ gefunden werden Verzeichnis. Der native Python-Protokolltreiber wird verwendet, um cqlsh zu implementieren, das eine Verbindung zu einem einzelnen Knoten herstellt.

Führen Sie zum Starten von Cqlsh Folgendes aus:

# cqlsh

Beispielausgabe:

Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>

5. CQL-Beispielbefehle

5.1. Schlüsselraum schaffen

In Cassandra dient ein Schlüsselraum als Datencontainer, ähnlich einer Datenbank in relationalen Datenbankverwaltungssystemen (RDMBS)

cqlsh> CREATE KEYSPACE IF NOT EXISTS OsTechNix WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };
cqlsh>

Überprüfen Sie die Schlüsselabstände im System mit den folgenden Befehlen.

cqlsh> SELECT * FROM system_schema.keyspaces;

Um alle Schlüsselräume anzuzeigen, führen Sie Folgendes aus:

cqlsh> desc keyspaces;

Alle Keyspaces auf dem Cluster werden aufgelistet:

ostechnix  system_auth         system_schema  system_views
system     system_distributed  system_traces  system_virtual_schema

5.2. Tabelle erstellen und Beispieldaten einfügen

Sie können die CREATE TABLE verwenden -Anweisung, die Datentypen für jede Spalte definiert, wie wir es normalerweise in RDBMS tun. Daten werden in CQL-Tabellen mit Reihen von Spalten gespeichert, ähnlich wie SQL-Definitionen.

Sie müssen „Primärschlüssel“ und andere Datenfelder zum Erstellen einer Tabelle definieren. Folgen Sie dem nachstehenden Beispiel für die Tabellenerstellung.

cqlsh> CREATE TABLE ostechnix.sample_table ( id UUID PRIMARY KEY, name text, birthday timestamp, nationality text, weight text, height text );
cqlsh>

Verwenden Sie das INSERT Anweisung zum Einfügen einfacher Daten in die Tabelle ostechnix.sample_table die wir oben erstellen. In diesem Beispiel unten werden der Tabelle zwei Datensätze hinzugefügt.

cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a803e2, 'KARTHICK', 'Indian');
cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality, weight) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a804e3, 'MOHAN', 'Indian', '85');

5.3. Abfrage der Tabelle

Verwenden Sie die SELECT-Anweisung, um eine oder mehrere Zeilen aus einer Tabelle zurückzugeben.

cqlsh> SELECT * FROM ostechnix.sample_table;

Hier, * gibt alle Daten aus der Tabelle zurück.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85';

Beispielausgabe:

InvalidRequest: Error from server: code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING"
cqlsh>

Cassandra führt keine Abfrage aus, die nicht Werte für alle Spalten aus dem Primärschlüssel in „where“ angibt '-Klausel und gibt die obige Fehlermeldung aus, um 'ALLOW FILTERING' zu verwenden .

Der Grund für diesen Fehler ist, dass Cassandra den Knoten, der die erforderlichen Ergebnisse enthält, nicht identifizieren kann, wenn der vollständige Partitionsschlüssel nicht im WHERE enthalten ist Klausel. Infolgedessen muss Cassandra den gesamten Datensatz auf jedem Knoten scannen, um sicherzustellen, dass die relevanten Daten identifiziert wurden.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85' ALLOW FILTERING;

6. Zusammenfassung

In diesem Artikel haben wir die Cassandra-Installationsverfahren und einige Beispiel-CQL-Befehle durchgegangen. Wir werden in den kommenden Artikeln einen tiefen Einblick in Cassandra Operation geben.


Cent OS
  1. So installieren Sie Apache Cassandra unter CentOS 8

  2. So installieren Sie Apache unter CentOS 7

  3. So installieren Sie Apache Cassandra unter CentOS 7

  4. So installieren Sie die Apache Cassandra NoSQL-Datenbank unter CentOS 8

  5. So installieren Sie Apache Kafka unter CentOS 8

So installieren Sie Apache ServiceMix unter CentOS 7

So installieren Sie elgg unter CentOS 8

So installieren Sie Apache ServiceMix unter CentOS 8

Installieren Sie Apache Cassandra in CentOS 8

So installieren Sie Apache SVN unter CentOS 7

So installieren Sie Apache Cassandra unter CentOS 6