In der Unternehmenswelt gab es eine Sättigung mit Front-End-Systemen, Datenbussen und anderen klassischen Systemen, die in den letzten 10 bis 15 Jahren von allen implementiert wurden. Aber es gibt ein Segment, das bis vor kurzem den Status "Jeder will, aber niemand weiß, was es ist" hatte. Und das ist Big Data. Klingt wunderbar, gefördert von westlichen Top-Unternehmen - wie kann man kein Leckerbissen werden?

Während die meisten nur zuschauen und fragen, haben einige Unternehmen begonnen, Lösungen, die auf diesem Technologie-Stack basieren, aktiv in ihre IT-Landschaft zu implementieren. Eine wichtige Rolle dabei spielte das Aufkommen kommerzieller Apache Hadoop-Distributionen, deren Entwickler ihren Kunden technischen Support bieten. Als einer unserer Kunden die Notwendigkeit einer solchen Lösung erkannte, entschied er sich, ein verteiltes Data Warehouse im Data Lake-Konzept auf der Basis von Apache Hadoop zu organisieren.
Projektziele
Optimieren Sie zunächst die Arbeit der Risikomanagementabteilung. Vor Arbeitsbeginn war eine ganze Abteilung mit der Berechnung der Kreditrisikofaktoren (FCR) beschäftigt, und alle Berechnungen wurden manuell durchgeführt. Die Neuberechnung dauerte jedes Mal ungefähr einen Monat, und die Daten, auf denen sie basierten, hatten Zeit, veraltet zu werden. Zu den Aufgaben der Lösung gehörten daher das tägliche Laden des Datendeltas in das Repository, die Neuberechnung der FCD und das Erstellen von Data Marts im BI-Tool (die SpagoBI-Funktionalität reichte für diese Aufgabe aus), um sie zu visualisieren.
Zweitens, um leistungsstarke Data Mining-Tools für Bankmitarbeiter bereitzustellen, die an Data Science beteiligt sind. Diese Tools wie Jupyter und Apache Zeppelin können lokal installiert und auch zum Erkunden von Daten und Erstellen von Modellen verwendet werden. Durch die Integration in den Cloudera-Cluster können jedoch die Hardwareressourcen der produktivsten Systemknoten für Berechnungen verwendet werden, was die Aufgaben der Datenanalyse um das Zehn- oder sogar Hundertfache beschleunigt.
Das Oracle Big Data Appliance-Rack wurde als Zielhardwarelösung ausgewählt, sodass die Clachede-Distribution von Apache Hadoop als Grundlage diente. Das Rack war einige Zeit unterwegs, und um den Prozess zu beschleunigen, wurden Server in der privaten Cloud des Kunden für dieses Projekt zugewiesen. Die Lösung ist vernünftig, aber es gab eine Reihe von Problemen, die ich unten diskutieren werde.
Im Rahmen des Projekts wurden folgende Aufgaben geplant:
- Stellen Sie Clouderas CDH (Clouderas Distribution einschließlich Apache Hadoop) und zusätzliche Dienste bereit, die für die Arbeit erforderlich sind.
- Konfigurieren Sie die installierte Software.
- Richten Sie eine kontinuierliche Integration ein, um den Entwicklungsprozess zu beschleunigen (wird in einem separaten Artikel behandelt).
- Installieren Sie BI-Tools zum Erstellen von Berichts- und Datenermittlungstools, um die Arbeit des Rechenzentrums sicherzustellen (wird in einem separaten Beitrag behandelt).
- Entwicklung von Anwendungen zum Herunterladen der erforderlichen Daten von Endsystemen sowie deren regelmäßige Aktualisierung.
- Entwickeln Sie Berichtsformulare zur Visualisierung von Daten in einem BI-Tool.
Es ist nicht das erste Jahr, in dem Neoflex Apache Hadoop-basierte Systeme entwickelt und implementiert und sogar ein eigenes Produkt für die visuelle Entwicklung von ETL-Prozessen hat - Neoflex Datagram. Ich wollte lange an einem der Projekte dieser Klasse teilnehmen und war glücklich, dieses System zu verwalten. Die Erfahrung erwies sich als sehr wertvoll und motivierend, das Thema weiter zu studieren, und ich beeile mich, es mit Ihnen zu teilen. Hoffe es wird interessant.
Ressourcen
Es wird empfohlen, vor Beginn der Installation alles vorzubereiten, was Sie dafür benötigen.
Die Menge und Leistung von Eisen hängt direkt davon ab, wie viele und welche Medien eingesetzt werden müssen. Zu Entwicklungszwecken können Sie alle Komponenten auf mindestens einer gebrechlichen virtuellen Maschine installieren. Dieser Ansatz ist jedoch nicht erwünscht.
In der Pilotphase des Projekts und der aktiven Entwicklung, als die Anzahl der Benutzer des Systems minimal war, reichte eine Hauptumgebung aus - dies konnte beschleunigt werden, indem die Zeit zum Laden von Daten aus den Endsystemen verkürzt wurde (das häufigste und langwierigste Verfahren zum Entwickeln von Data Warehouses). Nachdem sich das System stabilisiert hat, sind wir zu einer Konfiguration mit drei Umgebungen gekommen - test, preprod und prod (main).
In einer privaten Cloud wurden Server für die Organisation von zwei Umgebungen zugewiesen - der Hauptumgebung und der Testumgebung. Die Medienspezifikationen sind in der folgenden Tabelle aufgeführt:
Termin | Menge | vCPU | vRAM, Gb | Scheiben, Gb |
---|
Hauptumgebung, Dienstleistungen Cloudera | 3 | 8 | 64 | 2.200 |
Primäre Umgebung, HDFS | 3 | 22 | 288 | 5000 |
Kernumgebung, Datenermittlungstools | 1 | 16 | 128 | 2200 |
Testumgebung, Cloudera-Dienste | 1 | 8 | 64 | 2200 |
Testumgebung, HDFS | 2 | 22 | 256 | 4000 |
Kernumgebung, Datenermittlungstools | 1 | 16 | 128 | 2200 |
Ci | 2 | 6 | 48 | 1000 |
Später wurde die Hauptumgebung auf Oracle BDA migriert, und die Server wurden zum Organisieren der Preprod-Umgebung verwendet.
Die Entscheidung zur Migration war gerechtfertigt - die für HDFS-Server zugewiesenen Ressourcen fehlten objektiv. Die Engpässe waren winzige Festplatten (was sind 5 TB für Big Data?) Und unzureichend leistungsfähige Prozessoren, die während der regulären Arbeit mit Datenladeaufgaben zu 95% stabil ausgelastet waren. Bei anderen Servern ist die Situation umgekehrt - fast immer sind sie im Leerlauf und ihre Ressourcen könnten für andere Projekte von großem Vorteil sein.
Mit Software war es nicht einfach - da die Entwicklung in einer privaten Cloud ohne Internetzugang durchgeführt wurde, mussten alle Dateien über den Sicherheitsdienst und nur nach Vereinbarung übertragen werden. In dieser Hinsicht musste ich alle erforderlichen Distributionen, Pakete und Abhängigkeiten vorladen.
Das Festlegen von keepcache = 1 in der Datei /etc/yum.conf (RHEL 7.3 wurde als Betriebssystem verwendet) hat bei dieser schwierigen Aufgabe sehr geholfen. Die Installation der erforderlichen Software auf einem Computer mit Netzwerkzugriff ist viel einfacher als das manuelle Herunterladen aus den Repositorys zusammen mit den Abhängigkeiten.
Was Sie bereitstellen müssen:
- Oracle JDK (nirgendwo Java).
- Eine Datenbank zum Speichern von Informationen, die von CDH-Diensten erstellt und verwendet werden (z. B. Hive Metastore). In unserem Fall wurde PostgreSQL Version 9.2.18 installiert, es können jedoch alle unterstützten Cloudera-Dienste verwendet werden (die Liste ist für verschiedene Versionen der Distribution unterschiedlich, siehe Abschnitt Anforderungen und unterstützte Versionen auf der offiziellen Website). Hierbei ist zu beachten, dass die Auswahl der Datenbank nicht ganz erfolgreich war - Oracle BDA wird mit der MySQL-Datenbank geliefert (eines ihrer Produkte, das mit dem Kauf von Sun an sie übergeben wurde), und es wäre logischer, eine ähnliche Datenbank für andere Umgebungen zu verwenden, was den Migrationsprozess vereinfachen würde. Es wird empfohlen, eine Distribution basierend auf der Zielhardwarelösung auszuwählen.
- Chrony-Daemon für die Zeitsynchronisation auf Servern.
- Cloudera Manager Server.
- Dämonen Cloudera Manager.
Vorbereitung für die Installation
Vor Beginn der Installation von CDH sollten einige vorbereitende Arbeiten durchgeführt werden. Ein Teil ist während der Installation nützlich, der andere vereinfacht die Bedienung.
Installation und Einrichtung des Betriebssystems
Zunächst lohnt es sich, die virtuellen (und realen) Maschinen vorzubereiten, auf denen das System gehostet wird: Installieren Sie die unterstützte Version auf jeder von ihnen (die Liste unterscheidet sich für verschiedene Versionen der Distribution, siehe Abschnitt "Anforderungen und unterstützte Versionen" auf der offiziellen Website), weisen Sie sie zu Hostnamen sind verständliche Namen (z. B. <Systemname> Master1,2,3 ..., <Systemname> Slave1,2,3 ...) sowie Markierungsdatenträger für die Dateispeicherung und temporäre Dateien, die während des Systembetriebs erstellt wurden.
Die Markup-Empfehlungen lauten wie folgt:
- Erstellen Sie auf Servern mit HDFS ein Volume von mindestens 500 GB für Dateien, die YARN im Verlauf von Aufgaben erstellt, und legen Sie es im Verzeichnis / yarn ab (wo dieses Volume nach der Installation von CDH bereitgestellt werden muss). Für das Betriebssystem, die Cloudera-Dienste, Protokolle und andere Einrichtungen sollte ein kleines Volumen (ca. 100 GB) zugewiesen werden. Der gesamte freie Speicherplatz, der nach diesen Manipulationen verbleibt, sollte zu einem großen Volume zusammengefasst und in das Verzeichnis / dfs eingehängt werden, bevor Daten in den Speicher geladen werden. HDFS speichert Daten in Form von eher kleinen Blöcken, und es ist besser, sich nicht noch einmal auf deren Übertragung einzulassen. Um später Discs hinzufügen zu können, wird die Verwendung von LVM empfohlen. Es ist einfacher, den Speicher zu erweitern (insbesondere, wenn er wirklich GROSS wird).
- Auf Servern mit Cloudera-Diensten können Sie den gesamten verfügbaren Speicherplatz im Stammverzeichnis bereitstellen. Bei großen Dateivolumina sollten keine Probleme auftreten, insbesondere wenn Sie die Protokolle regelmäßig bereinigen. Die einzige Ausnahme ist der Server mit der Datenbank, die Cloudera-Dienste für ihre Anforderungen verwenden. Auf diesem Server ist es sinnvoll, ein separates Volume unter dem Verzeichnis zu markieren, in dem die Dateien dieser Datenbank gespeichert sind (dies hängt von der ausgewählten Distribution ab). Services schreiben ziemlich moderat und 500 GB sollten mehr als genug sein. Aus Sicherheitsgründen können Sie auch LVM verwenden.
Einrichten des http-Servers und der Offline-Installation von yum- und CDH-Paketen
Da die Software ohne Internetzugang installiert wird, wird empfohlen, den HTTP-Server zu erhöhen und ein lokales Repository zu erstellen, auf das über das Netzwerk zugegriffen werden kann, um die Installation von Paketen zu vereinfachen. Sie können die gesamte Software lokal installieren, z. B. mit U / min. Bei einer großen Anzahl von Servern und dem Erscheinungsbild mehrerer Umgebungen ist es jedoch praktisch, über ein einziges Repository zu verfügen, von dem Sie Pakete installieren können, ohne sie manuell von Computer zu Computer übertragen zu müssen.
Die Installation wurde unter dem Betriebssystem Red Hat 7.3 durchgeführt. Daher enthält der Artikel spezifische Befehle für dieses Betriebssystem und andere CentOS-basierte Betriebssysteme. Bei der Installation auf anderen Betriebssystemen ist die Reihenfolge ähnlich, nur die Paketmanager unterscheiden sich.
Um nicht überall sudo zu schreiben, gehen wir davon aus, dass die Installation vom Root stammt.
Folgendes müssen Sie tun:
1. Der Computer, auf dem sich der HTTP-Server und die Distributionen befinden, wird ausgewählt.
2. Setzen Sie auf einem Computer mit einem ähnlichen Betriebssystem, der jedoch mit dem Internet verbunden ist, das Flag keepcache = 1 in der Datei /etc/yum.conf, und httpd mit allen Abhängigkeiten wird installiert:
yum install httpd
Wenn dieser Befehl nicht funktioniert, müssen Sie der Liste der yum-Repositorys ein Repository hinzufügen, das diese Pakete enthält. Beispiel:
centos.excellmedia.net/7/os/x86_64 :
echo -e "\n[centos.excellmedia.net]\nname=excellmedia\nbaseurl=http://centos.excellmedia.net/7/os/x86_64/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/excell.repo
Danach überprüfen
wir mit dem Befehl
yum repolist , ob das Repository
aufgerufen wurde. Ein hinzugefügtes Repository sollte in der Liste der Repositorys angezeigt werden (repo id - centos.excellmedia.net; repo name - excellmedia).
Überprüfen Sie nun, ob Sie die benötigten Pakete gesehen haben:
yum list | grep httpd
Wenn die Ausgabe die erforderlichen Pakete enthält, können Sie sie mit dem obigen Befehl installieren.
3. Um das yum-Repository zu erstellen, benötigen wir das createrepo-Paket. Es befindet sich auch im obigen Repository und ist ähnlich eingestellt:
yum install createrepo
4. Wie ich bereits sagte, benötigen CDH-Dienste eine Datenbank, um zu funktionieren. Installieren Sie PostgreSQL für folgende Zwecke:
yum install postgresql-server
5. Eine der Voraussetzungen für den korrekten Betrieb von CDH ist die Zeitsynchronisation auf allen im Cluster enthaltenen Servern. Für diese Zwecke wird das
chronyd- Paket
verwendet (auf den Betriebssystemen, auf denen ich CDH bereitstellen musste, wurde es standardmäßig installiert). Überprüfen Sie die Verfügbarkeit:
chronyd -v
Wenn es nicht installiert ist, installieren Sie:
yum install chrony
Wenn installiert, dann einfach herunterladen:
yumdownloader --destdir=/var/cache/yum/x86_64/7Server/<repo id>/packages chrony
6. Laden Sie gleichzeitig sofort die für die Installation von CDH erforderlichen Pakete herunter. Sie sind unter
archive.cloudera.com verfügbar -
archive.cloudera.com/cm <Hauptversion von CDH> / <Name Ihres Betriebssystems> / <Version Ihres Betriebssystems> / x86_64 / cm / <Vollversion von CDH> / RPMS / x86_64 /. Sie können Pakete manuell herunterladen (Cloudera-Manager-Server und Cloudera-Manager-Daemons) oder analog ein Repository hinzufügen und installieren:
yum install cloudera-manager-daemons cloudera-manager-server
7. Nach der Installation werden Pakete und ihre Abhängigkeiten im Ordner / var / cache / yum / x86_64 / 7Server / \ <Repo-ID \> / packages zwischengespeichert. Wir übertragen sie auf den Computer, der für den HTTP-Server und die Distributionen ausgewählt wurde, und installieren:
rpm -ivh < >
8. Führen Sie httpd aus, machen Sie es auf anderen Hosts in unserem Cluster sichtbar und fügen Sie es der Liste der Dienste hinzu, die nach dem Laden automatisch gestartet werden:
systemctl start httpd systemctl enable httpd systemctl stop firewalld
9. Jetzt haben wir einen funktionierenden HTTP-Server. Das Arbeitsverzeichnis lautet
/ var / www / html . Erstellen Sie zwei Ordner darin - einen für das Yum-Repository, den anderen für die Cloudera-Parser (dazu später mehr):
cd /var/www/html mkdir yum_repo parcels
10. Für die Dienste von Cloudera benötigen wir
Java . Auf allen Computern muss dieselbe Version des JDK installiert sein. Cloudera empfiehlt den Hot Spot von Oracle. Laden Sie das Distributionspaket von der offiziellen Website (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) herunter und übertragen Sie es in den Ordner
yum_repo .
11. Erstellen Sie das yum-Repository im Ordner yum_repo mit dem Dienstprogramm createrepo, damit das JDK-Paket für die Installation auf den Cluster-Computern verfügbar ist:
createrepo -v /var/www/html/yum_repo/
12. Nachdem Sie unser lokales Repository auf jedem der Hosts erstellt haben, müssen Sie dessen Beschreibung hinzufügen, ähnlich wie in Absatz 2:
echo -e "\n[yum.local.repo]\nname=yum_repo\nbaseurl=http://< httpd>/yum_repo/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/yum_repo.repo
Sie können auch Prüfungen ähnlich wie in Absatz 2 durchführen.
13. JDK ist verfügbar, installieren Sie:
yum install jdk1.8.0_161.x86_64
Um Java verwenden zu können, müssen Sie die Variable JAVA_HOME festlegen. Ich empfehle, dass Sie es sofort nach der Installation exportieren und in die
Dateien / etc / environment und
/ etc / default / bigtop-utils schreiben, damit es nach dem Neustart der Server automatisch exportiert wird und sein Speicherort den CDH-Diensten zur Verfügung gestellt wird:
export JAVA_HOME=/usr/java/jdk1.8.0_161 echo "JAVA_HOME=/usr/java/jdk1.8.0_161" >> /etc/environment export JAVA_HOME=/usr/java/jdk1.8.0_144 >> /etc/default/bigtop-utils
14. Installieren Sie chronyd auf die gleiche Weise auf allen Computern im Cluster (es sei denn, es fehlt natürlich):
yum install chrony
15. Wählen Sie den Host aus, auf dem PostgreSQL arbeiten soll, und installieren Sie ihn:
yum install postgresql-server
16. Wählen Sie auf ähnliche Weise den Host aus, auf dem Cloudera Manager ausgeführt werden soll, und installieren Sie ihn:
yum install cloudera-manager-daemons cloudera-manager-server
17. Wenn die Pakete installiert sind, können Sie vor der Installation mit der Konfiguration der Software beginnen.
Ergänzung:
Während der Entwicklung und des Betriebs des Systems müssen Sie dem yum-Repository Pakete hinzufügen, um sie auf den Cluster-Hosts zu installieren (z. B. Anaconda-Distribution). Dazu müssen Sie zusätzlich zum Übertragen der Dateien in den Ordner yum_repo die folgenden Aktionen ausführen:
Hilfssoftware konfigurieren
Es ist Zeit, PostgreSQL zu konfigurieren und Datenbanken für unsere zukünftigen Dienste zu erstellen. Diese Einstellungen sind für CDH Version 5.12.1 relevant. Wenn Sie andere Versionen der Distribution installieren, wird empfohlen, den Abschnitt "Cloudera Manager und Managed Service Datastores" auf der offiziellen Website zu lesen.
Initialisieren wir zunächst die Datenbank:
postgresql-setup initdb
Jetzt richten wir die Netzwerkinteraktion mit der Datenbank ein.
Ändern Sie in der Datei
/var/lib/pgsql/data/pg_hba.conf im Abschnitt IPv4-Lokalverbindungen die Methode für die Adresse 127.0.0.1/32 in die Methode md5, fügen Sie die Vertrauensmethode hinzu und fügen Sie das Clustersubnetz mit der Vertrauensmethode hinzu ::
vi /var/lib/pgsql/data/pg_hba.conf pg_hba.conf:
Dann werden wir einige Anpassungen an der Datei /var/lib/pgsql/data/postgres.conf vornehmen (ich werde nur die Zeilen angeben , die geändert oder auf Konformität überprüft werden müssen:
vi /var/lib/pgsql/data/postgres.conf postgres.conf: ----------------------------------------------------------------------- listen_addresses = '*' max_connections = 100 shared_buffers = 256MB checkpoint_segments = 16 checkpoint_completion_target = 0.9 logging_collector = on log_filename = 'postgresql-%a.log' log_truncate_on_rotation = on log_rotation_age = 1d log_rotation_size = 0 log_timezone = 'W-SU' datestyle = 'iso, mdy' timezone = 'W-SU' lc_messages = 'en_US.UTF-8' lc_monetary = 'en_US.UTF-8' lc_numeric = 'en_US.UTF-8' lc_time = 'en_US.UTF-8' default_text_search_config = 'pg_catalog.english' -----------------------------------------------------------------------
Nach Abschluss der Konfiguration müssen Sie Datenbanken (für diejenigen, die näher an der Oracle-Terminologie sind - Schemata) für die Dienste erstellen, die wir installieren werden. In unserem Fall wurden die folgenden Dienste installiert: Cloudera Management Service, HDFS, Hive, Hue, Impala, Oozie, Yarn und ZooKeeper. Von diesen benötigen Hive, Hue und Oozie Datenbanken, und zwei Basen werden für die Anforderungen von Cloudera-Diensten benötigt - eine für den Cloudera Manager-Server, die andere für den Berichts-Manager, der Teil des Cloudera Management Service ist. Starten Sie PostgreSQL und fügen Sie es dem Autoload hinzu:
systemctl start postgresql systemctl enable postgresql
Jetzt können wir die erforderlichen Datenbanken verbinden und erstellen:
sudo -u postgres psql > CREATE ROLE scm LOGIN PASSWORD '<password>'; > CREATE DATABASE scm OWNER scm ENCODING 'UTF8'; # Cloudera Manager > CREATE ROLE rman LOGIN PASSWORD '<password>'; > CREATE DATABASE rman OWNER rman ENCODING 'UTF8'; # > CREATE ROLE hive LOGIN PASSWORD '<password>'; > CREATE DATABASE metastore OWNER hive ENCODING 'UTF8'; # Hive Metastore > ALTER DATABASE metastore SET standard_conforming_strings = off; # PostgreSQL 8.2.23 > CREATE ROLE hue_u LOGIN PASSWORD '<password>'; > CREATE DATABASE hue_d OWNER hue_u ENCODING 'UTF8'; # Hue > CREATE ROLE oozie LOGIN ENCRYPTED PASSWORD '<password>' NOSUPERUSER INHERIT CREATEDB NOCREATEROLE; > CREATE DATABASE "oozie" WITH OWNER = oozie ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1; # Oozie : > \q
Für andere Dienste werden Datenbanken auf die gleiche Weise erstellt.
Vergessen Sie nicht, das Skript auszuführen, um die Cloudera Manager-Serverdatenbank vorzubereiten, und übergeben Sie ihm die Eingabedaten, um eine Verbindung zu der dafür erstellten Datenbank herzustellen:
. /usr/share/cmf/schema/scm_prepare_database.sh postgresql scm scm <password>
Erstellen eines Repositorys mit CDH-Dateien
Cloudera bietet zwei Möglichkeiten zur Installation von CDH - mithilfe von Paketen und Paketen. Die erste Option umfasst das Herunterladen einer Reihe von Paketen mit Diensten der erforderlichen Versionen und deren anschließende Installation. Diese Methode bietet große Flexibilität bei der Clusterkonfiguration, Cloudera garantiert jedoch nicht deren Kompatibilität. Daher ist die zweite Version der Installation mit Parsels beliebter - vorgeformte Sätze von Paketen kompatibler Versionen. Die neuesten Versionen finden Sie unter folgendem Link: archive.cloudera.com/cdh5/parcels/latest . Früher kann ein höheres Level gefunden werden. Zusätzlich zur Parsel von CDH müssen Sie manifest.json aus demselben Repository-Verzeichnis herunterladen.
Um die entwickelte Funktionalität nutzen zu können, benötigten wir außerdem Spark 2.2, das nicht im CDH-Paket enthalten ist (die erste Version dieses Dienstes ist dort verfügbar). Um es zu installieren, müssen Sie ein separates Paket mit diesem Dienst und der entsprechenden manifest.json herunterladen, die auch im Cloudera-Archiv verfügbar ist.
Nachdem Sie die Parsels und die Datei manifest.json geladen haben, müssen Sie sie in die entsprechenden Ordner in unserem Repository übertragen. Erstellen Sie separate Ordner für CDH- und Spark-Dateien:
cd /var/www/html/parcels mkdir cdh spark
Übertragen Sie die Dateien parsels und manifest.json in die erstellten Ordner. Um sie für die Installation über das Netzwerk verfügbar zu machen, geben wir den entsprechenden Ordner für Zugriffsberechtigungen mit Parsels aus:
chmod -R ugo+rX /var/www/html/parcels
Sie können mit der Installation von CDH beginnen, die ich im nächsten Beitrag erläutern werde.