Es scheint, dass Yellowfin jetzt auf Docker und Kubernetes ausgeführt werden kann, wahrscheinlich weil die Containerisierung von Apps beliebt ist. Daher möchte ich einen Artikel schreiben, der von nichts bis zur Ausführung auf Docker reicht. Damit bin ich dankbar, dass auch kurzfristige POC (All-in-One-Paket), Sandbox und mittel- bis langfristige POC (Nur-App-Image) sofort durchgeführt werden können. Die Docker-Datei usw. werden hier vorbereitet. https://github.com/YellowfinBI/Docker https://hub.docker.com/u/yellowfinbi
Und hier erklären wir unter der Annahme, dass es auf EC2 von AWS gestartet wird.
Richten Sie den Server ein, bevor Sie Docker installieren. Aktualisieren Sie es grob gesagt zuerst, damit Sie die Serverressourcen mit dstat sehen können, indem Sie die Spracheinstellung und die Zeitzoneneinstellung an die in Japan anpassen.
sudo yum update
sudo localectl set-locale LANG=ja_JP.UTF-8
sudo timedatectl set-timezone Asia/Tokyo
sudo yum install dstat
Installieren Sie Docker mit yum und stellen Sie den Servicestart und den automatischen Servicestart ein, wenn der Server gestartet wird. Das Benutzermodell in der 4. Zeile scheint in der Lage zu sein, den Docker-Befehl ohne sudo auszuführen, wenn der Benutzer zur Docker-Gruppe hinzugefügt wird. Fügen Sie ihn also hinzu. Nach dem Neustart überprüft der Benutzer die Version und prüft, ob der Befehl sicher ausgeführt werden kann.
sudo yum install docker
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER
sudo reboot //Starten Sie neu, um sich zu bewerben
docker --version
Damit ist die Installation von Docker selbst abgeschlossen.
Mit Docker-Compose können Sie mehrere Containerdefinitionen in eine XML-Datei schreiben, einschließlich Optionen für den Docker-Build und den Container-Start, und damit Docker erstellen und Container starten. Sie können mehrere Container mit einem einfachen Befehl verwalten. Yellowfin-Einstellungen werden auch in die yml-Datei geschrieben. Installieren Sie sie daher.
Denken Sie an die neueste Version von Docker-Compose bei ↓. https://github.com/docker/compose/releases Ersetzen Sie bei der Eingabe mit einem Befehl den Teil 1.27.4 durch die bestätigte Version. Die Ausführungsberechtigung wird in der zweiten Zeile erteilt.
sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
Starten Sie von hier aus Yellowfin in zwei Mustern. Das erste Muster, All-in-One-Paket, enthält Yellowfin, einschließlich postgreSQL. Wenn Sie es also nur ausprobieren möchten, ist dies in Ordnung. Da ich jedoch mit der Datenbank lebe, gehen alle Daten verloren, sobald der Dienst eingestellt wird. .. Das zweite Muster, Nur-App-Image, ist eine Methode zum externen Erstellen eines Yellowfin-Repositorys und zum Containerisieren nur von Yellowfin-Apps. Selbst wenn dieser Dienst gelöscht wird, werden die Daten in der Datenbank gespeichert. Wenn Sie den Dienst also erneut auslösen, können Sie weiterarbeiten. Sie müssen nur darauf achten, dass Sie mit den Versionen der App und der Repository-Datenbank übereinstimmen. Im Fall von Yellowfin 9.3.1 muss die Repository-Datenbank auch die Konfiguration 9.3.1 haben.
Holen Sie sich das Bild mit diesem Befehl.
docker pull yellowfinbi/yellowfin-all-in-one:latest
https://github.com/YellowfinBI/Docker/blob/master/Docker%20Files/yellowfinAllInOne/Dockerfile Laden Sie die Konfigurationsdatei von hier herunter und speichern Sie sie als docker-compose.yml. Geben Sie den folgenden Befehl in das gespeicherte Verzeichnis ein, um es zu starten.
[ec2-user@ip-172-31-4-99 all-in-one]$ docker-compose up -d
Creating all-in-one_yellowfin-all-in-one_1 ... done
Besuchen Sie dann xxx.xxx.xxx.xxx:8080, um die Yellowfin-Anmeldeseite zu öffnen.
Diese Methode erfordert eine Repository-Datenbank, die im Voraus erstellt / aktualisiert wurde, damit die Version verschoben werden kann. Um von Grund auf neu zu erstellen, müssen Sie zunächst die Vollversion von Yellowfin installieren, eine Repository-Datenbank erstellen und den ersten Start abschließen. Wenn Sie von Grund auf neu erstellen möchten, lesen Sie bitte hier. Hinweise zum Erstellen der besten Yellowfin-Testumgebung auf EC2
Kopieren Sie nun für die Schritte zuerst den Link von https://portal.yellowfinbi.com/yf_latestbuild.jsp und laden Sie die Vollversion des neuesten Builds herunter.
wget https://files.yellowfin.bi/downloads/9.3/yellowfin-9.3.1-20201022-full.jar
Ändern Sie dann diesen Dateinamen so, dass er von yml gelesen werden kann.
mv yellowfin-9.3.1-20201022-full.jar yellowfin-installer.jar
Laden Sie Dockerfile und perform_docker_configuration.sh von hier in dasselbe Verzeichnis herunter. https://github.com/YellowfinBI/Docker/tree/master/Docker%20Files/yellowfinAppOnly
Geben Sie der Shell-Datei die Ausführungsberechtigung.
sudo chmod 764 perform_docker_configuration.sh
Erstellen Sie ein Bild.
docker build . -t yellowfin-app-only
Dann wird die Docker-Datei gelesen und der Befehl ausgeführt.
Schreiben Sie die Repository-Informationen neu und führen Sie den Befehl aus.
sudo docker run -d -p 80:8080 \
-e JDBC_CLASS_NAME=org.postgresql.Driver \
-e JDBC_CONN_URL=jdbc:postgresql://dbhost:5432/yellowfinDatabase \
-e JDBC_CONN_USER=dbuser \
-e JDBC_CONN_PASS=dbpassword \
yellowfin-app-only:latest
In diesem Fall wird an Port 80 weitergeleitet. Wenn Sie also auf xxx.xxx.xxx.xxx zugreifen, wird die Yellowfin-Anmeldeseite angezeigt. Klicken Sie hier, um den aktuellen Status des Containers anzuzeigen. Sie können sehen, dass das All-in-One-Paket gelöscht wird und nur der Nur-App-Image-Container aktiv ist.
//Bild herunterladen
docker pull [Möglichkeit]Bildname[:Verlinke den Namen]
//Liste der Docker-Images in der lokalen Umgebung
docker images
//Ausführung des Containerhintergrunds
docker run -d Bildname[:Verlinke den Namen] [Streit]
//Alle Container anzeigen
docker ps -a
//Container starten
Docker-Startcontainer-ID
//Stoppen Sie den Behälter
Docker-Stop-Container-ID
//Container löschen
Docker-RM-Container-ID
Sobald Sie dies erstellen, können Sie eine Sandbox erstellen, oder sie wird als Dienst getrennt von der Datenbank gestartet, sodass Sie eine Umgebung erstellen können, die sich komfortabler anfühlt. Es war schwierig zu befehlen, wenn ich nicht daran gewöhnt war, aber ich habe das Gefühl, dass ich es verstanden habe, während ich es benutzt habe. Für die offizielle Dokumentation wenden Sie sich bitte an Yellowfin Japan, um ein Whitepaper zu erhalten. Ich möchte das Clustering mit Docker und das Bauen mit Kubernetes herausfordern, wenn ich etwas Zeit habe.
Installieren von Docker und Docker-Compose (Linux) Einführung in Docker (6.) ~ Docker Compose ~ Docker-Befehlsliste
Recommended Posts