## Installera Apache Cassandra på Ubuntu 20.04 LTS
Apache Cassandra är en distribuerad NoSQL-databas utformad för att hantera stora mängder data över många råvaruservrar, vilket ger hög tillgänglighet och skalbarhet. I den här handledningen går vi igenom processen att installera och använda Apache Cassandra på Ubuntu 20.04 LTS (Focal Fossa).
Förutsättningar
- En fräsch Ubuntu 20.04 LTS (Focal Fossa) server.
- En icke-root-användare med sudo-privilegier.
Steg 1:Uppdatera systemet
Det är alltid bra att börja med att uppdatera ditt systems paket för att säkerställa att du har de senaste stabila versionerna:
``` bash
sudo apt uppdatering
sudo apt uppgradering
```
Steg 2:Installera Java
Cassandra är skrivet i Java, så vi måste installera Java på vår server:
``` bash
sudo apt installera default-jdk
```
Verifiera Java-installationen:
``` bash
java -version
```
Produktion:
```
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-1ubuntu121.10.1)
OpenJDK 64-bitars server VM (byggd 11.0.10+9-Ubuntu-1ubuntu121.10.1, blandat läge)
```
Steg 3:Skapa Cassandra-användaren och gruppen
Vi kommer att skapa en dedikerad användare och grupp för att köra Cassandra:
``` bash
sudo groupadd cassandra
sudo useradd -g cassandra -d /home/cassandra -s /bin/bash cassandra
```
Steg 4:Ställ in autentisering
Cassandra använder en autentiseringsmekanism i klartext. För att förbättra säkerheten kommer vi att konfigurera JAAS att använda MD5-hashning.
Skapa JAAS-konfigurationsfilen `/etc/cassandra/conf/cassandra-auth.conf`:
``` bash
sudo touch /etc/cassandra/conf/cassandra-auth.conf
```
Lägg till följande innehåll i filen:
```
CassandraLoginModule krävs \
användarnamn="cassandra" \
lösenord="md5(ditt_strong_lösenord)"
```
Ersätt `ditt_strong_lösenord` med ett starkt lösenord som du väljer.
Steg 5:Ladda ner Apache Cassandra
Ladda ner den senaste stabila versionen av Cassandra från den officiella Apache Cassandra-webbplatsen. När du skriver den här handledningen är den senaste versionen 4.0, så kommandot är:
``` bash
wget http://www.us.apache.org/dist/cassandra/4.0/apache-cassandra-4.0.1-bin.tar.gz
```
Extrahera Cassandra-arkivet:
``` bash
tar -xzvf apache-cassandra-4.0.1-bin.tar.gz
mv apache-cassandra-4.0.1 /opt/cassandra
```
Steg 6:Konfigurera Cassandra
Redigera Cassandra-konfigurationsfilen `/opt/cassandra/conf/cassandra.yaml` för att justera inställningarna enligt dina krav. Här är några viktiga inställningar att tänka på:
- Lyssningsadress: Det här är IP-adressen som Cassandra kommer att lyssna på. Som standard är den inställd på `localhost`, vilket betyder att Cassandra endast accepterar anslutningar från den lokala maskinen. För att tillåta fjärranslutningar, ändra den till serverns offentliga IP-adress.
- Rpc_address: Detta är IP-adressen som Cassandra Remote Procedure Call-tjänsten (RPC) kommer att lyssna på. Som standard är den inställd på `localhost`, vilket betyder att RPC-tjänsten endast accepterar anslutningar från den lokala maskinen. För att tillåta fjärranslutningar, ändra den till serverns offentliga IP-adress.
- Data_file_kataloger: Detta är en kommaseparerad lista över kataloger där Cassandra kommer att lagra sina data. Som standard är den inställd på `/var/lib/cassandra/data`. Du kan ändra detta till vilken annan katalog som helst, men se till att katalogen har tillräckligt med utrymme och ägs av `cassandra`-användaren.
Steg 7:Kör Cassandra
Starta Cassandra som `cassandra`-användare:
``` bash
sudo -u cassandra /opt/cassandra/bin/cassandra
```
Du bör se följande utdata:
``` bash
Startar serverskvallertjänst ...
Starta lyssningstjänst på /192.168.1.7:7199 ...
Starta RPC-tjänst på /192.168.1.7:9160 ...
```
Det betyder att Cassandra är igång.
Steg 8:Testa Cassandra
För att testa Cassandra-installationen kan du använda Cassandra Query Language (CQL).
Öppna ett CQL-skal:
``` bash
cqlsh
```
Anslut till Cassandra-instansen:
``` cql
anslut 'localhost';
```
Standardanvändarnamnet och lösenordet för Cassandra-instansen är `cassandra` och `cassandra`.
När du väl är ansluten kan du köra CQL-satser för att skapa nyckelutrymmen (liknande databaser) och tabeller. Till exempel, för att skapa ett tangentutrymme som heter `my_keyspace`, kör följande sats:
``` cql
CREATE KEYSPACE my_keyspace MED replikering ={'class':'SimpleStrategy', 'replication_factor':1};
```
För att skapa en tabell som heter 'my_table' inom tangentutrymmet 'my_keyspace', kör följande sats:
``` cql
SKAPA TABELL my_keyspace.my_table (
id int PRIMÄRNYCKEL,
namntext,
ålder int
);
```
Du kan nu infoga data i tabellen `my_table`:
``` cql
INSERT INTO my_keyspace.my_table (id, namn, ålder) VÄRDEN (1, 'John Doe', 30);
```
Hämta data från tabellen `my_table`:
``` cql
VÄLJ * FRÅN my_keyspace.my_table;
```
Produktion:
``` cql
+----+-------+-----+
| id | namn | ålder |
+----+-------+-----+
| 1 | John Doe | 30 |
+----+-------+-----+
(1 rad)
```
Slutsats
Du har framgångsrikt installerat och konfigurerat Apache Cassandra på Ubuntu 20.04 LTS. Nu kan du börja använda Cassandra för att lagra och hantera dina data.