Beginnen Sie mit der Installation von Docker auf EC2 und dem Ausführen von Yellowfin in einem Container

image.png

Als allererstes

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.

Vorbereitungen

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

Docker installieren

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.

Installieren Sie Docker-Compose

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

Führen Sie Yellowfin mit Docker aus

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.

Führen Sie Yellowfin mit All-in-One-Paket aus

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.

Führen Sie Yellowfin mit App-only-Image aus

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. image.png

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. image.png

Nützliche Befehle

//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

Damit

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.

Ich durfte mich beziehen.

Installieren von Docker und Docker-Compose (Linux) Einführung in Docker (6.) ~ Docker Compose ~ Docker-Befehlsliste

Recommended Posts

Beginnen Sie mit der Installation von Docker auf EC2 und dem Ausführen von Yellowfin in einem Container
[Hinweis] Erstellen Sie eine Python3-Umgebung mit Docker in EC2
Ein Memorandum bei der Installation von Docker und der Erstellung eines Linux-Containers
[Docker] Wie man mit einem Container in Heroku aktualisiert und wie man mit Migrate Error umgeht
Führen Sie PureScript auf einem Docker-Container aus
Mit Podman im Docker möchte jeder miteinander auskommen und Docker mit einem gemeinsam genutzten Computer verwenden
Speicherort für die Einstellung des Arbeitsbereichs, wenn Sie eine Remoteverbindung mit VSCode herstellen und an einem Docker-Container arbeiten
Starten Sie einen Docker-Container auf EC2 (persönliches Memorandum)
Schaben mit Puppenspieler in Nuxt auf Docker.
Setzen Sie Zabbix mit Docker in Ubuntu ein und überwachen Sie Docker auf demselben Host
So starten Sie einen Docker-Container mit einem in einer Batchdatei bereitgestellten Volume
Lassen Sie einen Docker-Container laufen, ohne dass residente Prozesse ausgeführt werden
Ich habe Docker auf EC2 installiert und gestartet
Überwachen Sie den Docker-Container und den SystemD-Prozess auf demselben Host mit Zabbix unter Ubuntu.
Aktualisieren Sie das Container-Image mit KUSANAGI Runs on Docker
Bereiten Sie eine Scraping-Umgebung mit Docker und Java vor
Ich habe versucht, Docker auf einer EC2-Instanz zu installieren
[Teil 1] Erstellen eines Docker-Containers, der mit Apache / Pandoc Markdown in HTML liefert
Erstellen Sie ein Container-Image für Kibanas arm64 und registrieren Sie es in der GitHub-Container-Registrierung. Starten Sie Elastic Stack mit Docker Compose auf Raspberry Pi 4 (64 Bit).
So erstellen Sie einen Jenkins-Server mit einem Docker-Container unter CentOS 7 von VirtualBox und greifen von einem lokalen PC auf den Jenkins-Server zu
Installieren Sie Ubuntu 20.04 in der virtuellen Box unter Windows 10 und erstellen Sie eine Entwicklungsumgebung mit Docker
Greifen Sie mit ssh auf den Circle CI Docker-Container zu und debuggen Sie ihn
Die Geschichte, wie ein Docker-Container mit GitHub-Aktionen in die GitHub-Paketregistrierung und den Docker-Hub verschoben wird
Entwicklung in einem Container mit --privileged und / sbin / init, der in VSCode Remote Containers übergeben wurde
Kopieren Sie den Dateiinhalt und fügen Sie ihn in den Ubuntu Docker-Container ein
[Docker] Erstellen Sie eine Site mit Hugo und veröffentlichen Sie sie auf GitHub
Führen Sie PHP-FPM mit aktiviertem OPcache in einem schreibgeschützten Container aus
Installieren Sie Docker und Docker-Compose in kürzester Zeit auf Ubuntu
[Docker] Löschen Sie nur das Volume, das einem bestimmten Container zugeordnet ist
Die Zeit ist falsch mit der Anwendung, die auf dem Docker-Container gestartet wurde
Versuchen Sie Hello World mit einfachem Java im Docker-Container
Verwandeln Sie Java-Apps mit Jib ~ Build with gradle ganz einfach in Docker-Container und registrieren Sie sich im lokalen Repository
Organisieren Sie die Kommunikation in einer Umgebung, in der verschiedene Ressourcen auf dem Hostcomputer und dem Docker-Container verwendet werden
Mit [AWS] CodeStar können Sie ein Spring (Java) -Projekt erstellen, das auf Lambda in nur 3 Minuten ausgeführt wird! !!
Bereitstellung mit EC2 / Docker / Laravel
Spring Boot beginnend mit Docker
Installieren Sie Docker auf AWS EC2
Zusammenfassung der Verfahren zum Entwickeln in einem Docker-Container mit VS-Code
(Ruby on Rails6) Erstellen einer Datenbank und Anzeigen in einer Ansicht