So installierst du das ClickHouse OLAP-Datenbanksystem Ubuntu 22.04

ClickHouse ist ein spaltenorientiertes Datenbankmanagementsystem, das von ClickHouse, Inc. entwickelt und in C++ geschrieben wurde. Es ist ein Open-Source-OLAP-Datenbankmanagementsystem, das schnell, fehlertolerant, einfach zu bedienen und äußerst zuverlässig ist.

ClickHouse ist ein blitzschnelles OLDAP-Datenbanksystem für analytische Online-Verarbeitung. Es ermöglicht es dir, mit SQL-Abfragen in Echtzeit analytische Berichte zu erstellen.

In diesem Tutorial lernst du, wie du das ClickHouse OLAP-Datenbanksystem auf einem Ubuntu 22.04 Server installierst. Außerdem erfährst du, wie du die Authentifizierung bei ClickHouse einrichtest und die grundlegenden Funktionen und Abfragen behandelst.

Voraussetzungen

Um dieses Tutorial zu absolvieren, brauchst du einige Voraussetzungen:

  • Einen Ubuntu 22.04-Server – In diesem Beispiel wird ein Ubuntu-System mit dem Hostnamen „clickhouse-server“ und der IP-Adresse „192.168.5.100“ verwendet.
  • Ein Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.

System einrichten

Bevor du mit der ClickHouse-Installation beginnst, stellst du sicher, dass die aktuelle CPU den SSE 4.2-Befehlssatz unterstützt und deaktivierst SWAP auf deinem System.

Das offizielle vorkompilierte Binärpaket für ClickHouse ist für die x86 (64-Bit) Architektur und SSE 4.2 kompiliert. Wenn du also keine CPU hast, die SSE 4.2 unterstützt, solltest du ClickHouse manuell aus dem Quellcode kompilieren.

Außerdem wird empfohlen, SWAP zu deaktivieren, wenn du ClickHouse verwendest, insbesondere in der Produktionsumgebung.

Führe den folgenden Befehl aus, um zu prüfen, ob deine CPU die SSE 4.2-Funktion unterstützt. Du solltest die Ausgabe „SSE 4.2 supported“ erhalten, wenn deine CPU unterstützt wird.

grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

Als Nächstes führst du den folgenden Befehl aus, um SWAP über die Konfigurationsdatei„/etc/fstab“ zu deaktivieren. Dieser Befehl setzt ein „#“ an den Anfang der SWAP-Konfiguration und deaktiviert SWAP dauerhaft in deinem System.

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

Führe nun den folgenden Befehl aus, um SWAP für die aktuelle Sitzung zu deaktivieren. Überprüfe dann den SWAP-Status.

sudo swapoff -a
sudo free -m

Unten siehst du die Ausgabe, die du erhältst, wenn das SWAP deaktiviert ist – Die SWAP-Größe im Feld „total“ ist 0.

Umgebung prüfen

Wenn die CPU SSE 4.2 unterstützt und WAP deaktiviert ist, kannst du jetzt das ClickHouse OLAP-Datenbanksystem installieren.

Installation des Clickhouse OLAP-Datenbanksystems

ClickHouse OLDAP Database System bietet mehrere Installationsmethoden. Für Linux-Distributionen stellt ClcikHouse Repositories sowohl für Debian- als auch für RPM-basierte Distributionen bereit. Außerdem ist ClickHouse mit einer Installation über Docker oder über ein einzelnes Binärpaket erhältlich.

In diesem Schritt installierst du ClickHouse auf einem Ubuntu 22.04-System über das offizielle Repository. Du fügst also das ClickHouse-Repository zu deinem System hinzu und installierst dann das ClickHouse-Paket über APT.

Um zu beginnen, führe den folgenden apt-Befehl aus, um einige grundlegende Abhängigkeiten zu installieren. Wenn du dazu aufgefordert wirst, gib y ein und drücke ENTER.

sudo apt install apt-transport-https ca-certificates dirmngr

Abhängigkeiten installieren

Führe nun den folgenden Befehl aus, um den GPG-Schlüssel und das ClickHouse-Repository zu deinem System hinzuzufügen. In diesem Beispiel wirst du ClickHouse aus dem stabilen Zweig des Repositorys installieren.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list

Setup-Repo

Als Nächstes aktualisierst du deinen Paketindex mit dem unten stehenden apt-Befehl.

sudo apt update

Du wirst sehen, dass das ClickHouse-Repository hinzugefügt wurde.

Repo aktualisieren

Installiere nun das Paket„clickhouse-server“ als Datenbanksystem und das Paket„clickhouse-client“ mit dem unten stehenden apt-Befehl.

sudo apt install clickhouse-server clickhouse-client

Gib Y ein, wenn du zur Bestätigung aufgefordert wirst, und drücke ENTER, um fortzufahren.

Clickhouse Server installieren

Während der CLickHouse-Installation wirst du außerdem aufgefordert, ein Passwort für den ClickHouse-Standardbenutzer festzulegen. Gib ein neues Passwort für ClickHouse ein und du erhältst nach Abschluss der Installation eine Ausgabe wie im folgenden Screenshot.

Standard-Passwort einrichten

Wenn ClickHouse installiert ist, führe den folgenden systemctl-Befehl aus, um den ClickHouse-Dienst zu starten und zu aktivieren. Dieser Befehl startet ClickHouse und sorgt dafür, dass der Dienst beim Hochfahren automatisch ausgeführt wird.

sudo systemctl start clickhouse-server
sudo systemctl enable clickhouse-server

Überprüfe den ClicHouse-Dienst mit dem unten stehenden Befehl, um sicherzustellen, dass der ClickHouse-Dienst läuft.

sudo systemctl status clickhouse-server

Du erhältst eine Ausgabe wie die folgende – Der aktuelle Status des ClickHouse-Dienstes ist „running“ und er ist aktiviert und wird beim Start automatisch ausgeführt.

Überprüfe ClickHouse

Du hast die Installation des ClickHouse-Servers abgeschlossen. Im nächsten Schritt erfährst du, wie du über die Client-Anwendung auf den ClickHouse-Server zugreifst und die Passwortauthentifizierung für den ClickHouse-Administrator-Benutzer einrichtest.

Zugriff auf ClickHouse über die Kommandozeile

Wenn der ClickHouse-Server installiert ist, kannst du über den ebenfalls installierten„clickhouse-client“ auf ClickHouse zugreifen.

Der „clickhouse-client“ ist eine Befehlszeilenschnittstelle zur Interaktion und Verwaltung des ClickHouse-Servers. Er ist vergleichbar mit dem„mysql„-Client für den MySQL/MariaDB-Server,„psql“ für den PostgreSQL-Server oder„mongod“ für den MongoDB-Server.

Um auf den ClickHouse-Server zuzugreifen, kannst du den unten stehenden Befehl„clickhouse-client“ verwenden.

sudo clickhouse-client --password

Wenn du nach dem Passwort gefragt wirst, gibst du das Passwort ein, das du während der Installation erstellt hast.

Nach dem Einloggen solltest du die ClickHouse-Shell wie folgt sehen.

mit dem Klickhaus verbinden

Hier kannst du sehen, dass du dich mit dem ClickHouse-Server v22.11 mit dem Standard-ClickHouse-Benutzer verbunden hast. Der ClickHouse-Server läuft standardmäßig auf localhost mit Port 9000.

An dieser Stelle hast du den ClickHouse-Server und den ClickHouse-Client installiert und gelernt, wie du dich mit dem Befehl„clickhouse-client“ mit dem ClickHouse-Server verbinden kannst. Im nächsten Schritt wirst du einen Administrator-Benutzer für den ClickHouse-Server einrichten.

Einrichten eines Administrator-Benutzers auf Clickhouse

In diesem Schritt erstellst du einen Administrator-Benutzer für den ClickHouse-Server. Zuvor musst du jedoch in der ClickHouse-Konfiguration die Kontoverwaltung für den „Standard“-Benutzer aktivieren.

Öffne dazu die Konfiguration „/etc/clickhouse-server/users.d/default_password.xml“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/clickhouse-server/users.d/default_password.xml

Füge die folgende Zeile zwischen dem Abschnitt „<default>…</default>“ ein. Damit wird dieZugriffsverwaltung für den Benutzer„default“ aktiviert.

<clickhouse>
    <users>
        <default>
            ...
            <access_management>1</access_management>
        </default>
    </users>
</clickhouse>

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den ClickHouse-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart clickhouse-server

Jetzt, wo das„access_management“ für den Benutzer „default“ aktiviert ist, erstellst du einen neuen Administrator-Benutzer für ClickHouse. Der neue Benutzer kann auf alle Datenbanken mit allen Rechten auf dem ClickHouse-Server zugreifen.

Führe den folgenden„clickhouse-client„-Befehl aus, um dich mit dem Benutzer„default“ mit dem ClickHouse-Server zu verbinden.

sudo clickhouse-client --user default --password

Wenn du zur Eingabe des Passworts aufgefordert wirst, gibst du das Passwort ein, das du konfiguriert hast. Jetzt erhältst du die ClickHouse-Serverkonsole und meldest dich als Benutzer„default“ mit aktiviertem„access_management“ an.

Einrichtung Klickhaus

Als Nächstes führst du die folgende Abfrage aus, um einen neuen ClickHouse-Benutzer anzulegen. Achte darauf, dass du den Benutzernamen, das Passwort und die Host-IP-Adresse änderst. In diesem Beispiel wird ein neuer Benutzer„halsey“ mit dem Passwort „password“ und dem Hashwert SHA256 erstellt. Mit der Option„HOST IP“ kannst du die IP-Adresse angeben, die für die Verbindung mit dem ClickHouse-Server verwendet werden soll. In diesem Beispiel sind nur Zugriffe von localhost oder„127.0.0.1“ erlaubt.

CREATE USER halsey HOST IP '127.0.0.1' IDENTIFIED WITH sha256_password BY 'password';

einen neuen Benutzer erstellen

Führe nun die folgende Abfrage aus, um dem Benutzer„halsey“ alle Rechte auf dem ClickHouse-Server zu gewähren.

GRANT ALL ON *.* TO halsey WITH GRANT OPTION;

Privilegien gewähren

Als Nächstes überprüfst du die Liste der Benutzer auf dem ClickHouse-Server mit der folgenden Abfrage. Du solltest sehen, dass der neue Benutzer „halsey“ zu ClickHouse hinzugefügt wurde.

SHOW USERS;

Benutzer anzeigen

Tippe nun „quit“ auf dem ClickHouse-Konsolen-Client ein, um das Programm zu beenden.

Nachdem du den neuen Datenbank-Admin-Benutzer angelegt hast, musst du den„access_management“ für den„Standard„-Benutzer auf deinem ClickHouse-Server deaktivieren.

Öffne die Konfigurationsdatei„/etc/clickhouse-server/users.d/default_password.xml“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/clickhouse-server/users.d/default_password.xml

Ändere die Option„access_management“ auf„0„, um das„Access Management“ für den„Standard„-Benutzer zu deaktivieren.

<clickhouse>
    <users>
        <default>
            ...
            <access_management>0</access_management>
        </default>
    </users>
</clickhouse>

Speichere die Datei und beende den Editor, wenn du fertig bist.

Starte den ClickHouse-Dienst neu, um die Änderungen mit dem unten stehenden systemctl-Befehl zu übernehmen.

sudo systemctl restart clickhouse-server

Führe abschließend den folgenden Befehl aus, um dich als Benutzer „halsey“ am ClickHouse-Server anzumelden. Wenn du zur Eingabe deines Passworts aufgefordert wirst, gibst du es ein und drückst ENTER, um dich anzumelden.

sudo clickhouse-client --user halsey --password

Nach dem Einloggen erhältst du eine Ausgabe wie im folgenden Screenshot. Der neue Admin-Benutzer für ClickHouse „halsey“ ist hinzugefügt und die Anmeldung ist erfolgreich.

als Benutzer verbinden

Nachdem du den neuen Admin-Benutzer des ClickHouse-Servers angelegt hast, lernst du als Nächstes, wie du mit ClickHouse Datenbanken und Tabellen erstellst und Daten über die ClickHouse-SQL-Abfrage einfügst und abrufst.

Grundlegende Abfragen im ClickHouse-Datenbanksystem

In diesem Schritt lernst du die grundlegenden Abfragen des ClickHouse-Datenbanksystems kennen, die den gängigen SQL-Abfragen ähneln. Du lernst, wie du eine Datenbank und eine Tabelle erstellst, wie du Daten in die Datenbank einfügst und aus ihr abrufst und wie du die Abfrage„ALTER“ verwendest, um bestehende Daten auf dem ClickHouse-Server zu ändern.

Führe zunächst die folgende Abfrage aus, um eine neue Datenbank zu erstellen. In diesem Beispiel wirst du eine neue Datenbank„testdb“ erstellen.

CREATE DATABASE testdb;

Datenbank erstellen

Wechsle zur„testdb“ über die folgende Abfrage„USE dbname“.

USE testdb;

Datenbank verwenden

Erstelle nun mit der folgenden Abfrage eine neue Tabelle, „users“. Die Tabelle‚users‚ wird folgende Felder enthalten:

  • id mit dem Typ ‚UInt64‘ zum Speichern von Integer-Werten.
  • name mit dem Typ ‚String‘ zum Speichern einer Zeichenkette – Länge der Zeichen.
  • last_login mit dem Typ ‚DateTime‘ für Daten im String-Datum-Zeit-Format.
  • Die Engine hier ist ‚MergeTree‘, die meist bei ClickHouse verwendet wird.
CREATE TABLE users (id UInt64, name String, jobs String, last_login DateTime) ENGINE=MergeTree() PRIMARY KEY id ORDER BY id;

Tabelle erstellen

Als Nächstes führst du die folgende Abfrage aus, um neue Daten in die Tabelle „users“ einzufügen. In der folgenden Abfrage fügst du drei verschiedene Daten in die Tabelle„Benutzer“ ein.

INSERT INTO users VALUES (1, 'alice', 'DevOps', '2022-10-10 00:10:10');
INSERT INTO users VALUES (2, 'alex', 'Manager', '2022-09-05 01:19:10');
INSERT INTO users VALUES (3, 'janet', 'Developer', '2022-05-05 04:29:10');

Füge die ersten Daten ein.

Daten einfügen 1

Füge die zweiten Daten ein.

Daten einfügen 2

Füge die dritten Daten ein.

Daten einfügen 3

Führe die folgende Abfrage aus, um Daten aus der Tabelle„Benutzer“ abzurufen. Du solltest drei neue Datenfelder sehen, die du gerade hinzugefügt hast.

SELECT * FROM users;

Daten wiederherstellen

Du hast gelernt, wie du die Datenbank erstellst, zur Datenbank wechselst, die Tabelle erstellst, Daten einfügst und Daten im ClickHouse OLAP-Datenbanksystem abrufst. Als Nächstes lernst du, wie du Daten mit der„ALTER„-Abfrage ändern kannst.

Führe die folgende „ALTER TABLE“-Abfrage aus, um bestehende Daten in der Tabelle „Benutzer“ zu aktualisieren. In diesem Beispiel änderst du das Feld „jobs“ für den Benutzer„alex“ in„administrator„.

ALTER TABLE users UPDATE jobs = 'Administrator' WHERE name = 'alex';

Überprüfe die neu aktualisierten Daten in der Tabelle „Benutzer“ mit der folgenden Abfrage. Du solltest jetzt die neuen Daten für den Benutzer„alex“ erhalten, die auf„Administrator“ aktualisiert wurden.

SELECT * FROM users;

Daten mit ALTER ändern

Jetzt hast du die grundlegende Verwendung der ClickHouse-Abfrage zum Erstellen und Wechseln von Datenbanken, zum Erstellen von Tabellen, zum Einfügen von Daten und zum Abrufen von Daten gelernt. Außerdem hast du gelernt, wie du mit der„ALTER„-Abfrage bestehende Daten in der ClickHouse-Datenbank ändern kannst. Als Nächstes wirst du deine ClickHouse-Installation aufräumen.

Umgebung bereinigen

Nachdem du die neue Datenbank und Tabelle erstellt und zufällige Daten eingefügt hast, wirst du in diesem letzten Schritt die Installation des ClickHouse-Datenbanksystems bereinigen, indem du die Datenbank und Tabelle löschst, die du gerade erstellt hast.

Führe die folgende Abfrage aus: „DROP TABLE“, um die Tabelle „users“ aus der Datenbank „testdb“ zu löschen.

DROP TABLE users;

Ablagetisch

Entferne nun die Datenbank „testdb“ mit der folgenden Abfrage„DROP DATABASE„.

DROP DATABASE testdb;

Datenbank fallen lassen

Überprüfe abschließend die Liste der Datenbanken auf dem ClickHouse-Server mit der folgenden Abfrage. Du solltest sehen, dass die Datenbank„testdb“ vom ClickHouse-Server gelöscht wurde.

SHOW DATABASES;

Datenbank verifizieren

Jetzt ist deine ClickHouse-Installation bereinigt und der Admin-Benutzer ist ebenfalls konfiguriert.

Fazit

Herzlichen Glückwunsch! Du hast die Installation des ClickHouse OLAP-Datenbanksystems abgeschlossen und gelernt, wie du einen Administrator-Benutzer auf CLickHouse einrichtest. Außerdem hast du die grundlegenden Abfragen zum Erstellen einer Datenbank und einer Tabelle, zum Einfügen und Abrufen von Daten, zum Ändern vorhandener Daten und zum Bereinigen der Datenbank und Tabelle gelernt.

Das könnte dich auch interessieren …