Procedura di distribuzione
In questa convalida dell'architettura di riferimento, abbiamo utilizzato una configurazione Dremio composta da un coordinatore e quattro esecutori
Configurazione NetApp
-
Inizializzazione del sistema di archiviazione
-
Creazione di una macchina virtuale di archiviazione (SVM)
-
Assegnazione delle interfacce di rete logiche
-
Configurazione e licenza NFS, S3
Per NFS (Network File System) procedere come segue: 1. Creare un volume Flex Group per NFSv4 o NFSv3. Nella nostra configurazione per questa convalida, abbiamo utilizzato 48 SSD, 1 SSD dedicato al volume root del controller e 47 SSD distribuiti per NFSv4]]. Verificare che il criterio di esportazione NFS per il volume Flex Group disponga di autorizzazioni di lettura/scrittura per la rete dei server Dremio.
-
Su tutti i server Dremio, creare una cartella e montare il volume Flex Group su questa cartella tramite un'interfaccia logica (LIF) su ciascun server Dremio.
Per S3 (Simple Storage Service) seguire i passaggi indicati di seguito:
-
Impostare un object-store-server con HTTP abilitato e lo stato di amministrazione impostato su "attivo" utilizzando il comando "vserver object-store-server create". Hai la possibilità di abilitare HTTPS e impostare una porta di ascolto personalizzata.
-
Creare un utente object-store-server utilizzando il comando "vserver object-store-server user create -user <username>".
-
Per ottenere la chiave di accesso e la chiave segreta, è possibile eseguire il seguente comando: "set diag; vserver object-store-server user show -user <nomeutente>". Tuttavia, in futuro, queste chiavi verranno fornite durante il processo di creazione dell'utente oppure potranno essere recuperate tramite chiamate API REST.
-
Creare un gruppo object-store-server utilizzando l'utente creato nel passaggio 2 e concedere l'accesso. In questo esempio abbiamo fornito "FullAccess".
-
Crea due bucket S3 impostandone il tipo su "S3". Uno per la configurazione di Dremio e uno per i dati del cliente.
Configurazione del guardiano dello zoo
Puoi utilizzare la configurazione zookeeper fornita da Dremio. In questa convalida, abbiamo utilizzato uno zookeeper separato. Abbiamo seguito i passaggi menzionati in questo collegamento web https://medium.com/@ahmetfurkandemir/distributed-hadoop-cluster-1-spark-with-all-dependincies-03c8ec616166
Configurazione di Dremio
Abbiamo seguito questo collegamento web per installare Dremio tramite tarball.
-
Crea un gruppo Dremio.
sudo groupadd -r dremio
-
Crea un utente dremio.
sudo useradd -r -g dremio -d /var/lib/dremio -s /sbin/nologin dremio
-
Crea directory Dremio.
sudo mkdir /opt/dremio sudo mkdir /var/run/dremio && sudo chown dremio:dremio /var/run/dremio sudo mkdir /var/log/dremio && sudo chown dremio:dremio /var/log/dremio sudo mkdir /var/lib/dremio && sudo chown dremio:dremio /var/lib/dremio
-
Scarica il file tar da https://download.dremio.com/community-server/
-
Scompattare Dremio nella directory /opt/dremio.
sudo tar xvf dremio-enterprise-25.0.3-202405170357270647-d2042e1b.tar.gz -C /opt/dremio --strip-components=1
-
Creare un collegamento simbolico per la cartella di configurazione.
sudo ln -s /opt/dremio/conf /etc/dremio
-
Imposta la configurazione del servizio (configurazione SystemD).
-
Copiare il file dell'unità per il demone dremio da /opt/dremio/share/dremio.service a /etc/systemd/system/dremio.service.
-
Riavviare il sistema
sudo systemctl daemon-reload
-
Abilita l'avvio di dremio all'avvio.
sudo systemctl enable dremio
-
-
Configurare Dremio sul coordinatore. Per maggiori informazioni, vedere Configurazione di Dremio
-
Dremio.conf
root@hadoopmaster:/usr/src/tpcds# cat /opt/dremio/conf/dremio.conf paths: { # the local path for dremio to store data. local: ${DREMIO_HOME}"/dremiocache" # the distributed path Dremio data including job results, downloads, uploads, etc #dist: "hdfs://hadoopmaster:9000/dremiocache" dist: "dremioS3:///dremioconf" } services: { coordinator.enabled: true, coordinator.master.enabled: true, executor.enabled: false, flight.use_session_service: false } zookeeper: "10.63.150.130:2181,10.63.150.153:2181,10.63.150.151:2181" services.coordinator.master.embedded-zookeeper.enabled: false root@hadoopmaster:/usr/src/tpcds#
-
Core-site.xml
root@hadoopmaster:/usr/src/tpcds# cat /opt/dremio/conf/core-site.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.dremioS3.impl</name> <value>com.dremio.plugins.s3.store.S3FileSystem</value> </property> <property> <name>fs.s3a.access.key</name> <value>24G4C1316APP2BIPDE5S</value> </property> <property> <name>fs.s3a.endpoint</name> <value>10.63.150.69:80</value> </property> <property> <name>fs.s3a.secret.key</name> <value>Zd28p43rgZaU44PX_ftT279z9nt4jBSro97j87Bx</value> </property> <property> <name>fs.s3a.aws.credentials.provider</name> <description>The credential provider type.</description> <value>org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider</value> </property> <property> <name>fs.s3a.path.style.access</name> <value>false</value> </property> <property> <name>hadoop.proxyuser.dremio.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.dremio.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.dremio.users</name> <value>*</value> </property> <property> <name>dremio.s3.compat</name> <description>Value has to be set to true.</description> <value>true</value> </property> <property> <name>fs.s3a.connection.ssl.enabled</name> <description>Value can either be true or false, set to true to use SSL with a secure Minio server.</description> <value>false</value> </property> </configuration> root@hadoopmaster:/usr/src/tpcds#
-
-
La configurazione di Dremio è archiviata nell'archivio oggetti NetApp . Nella nostra convalida, il bucket "dremioconf" risiede in un bucket S3 ontap. L'immagine sottostante mostra alcuni dettagli delle cartelle "scratch" e "uploads" del bucket S3 "dremioconf".
-
Configurare Dremio sugli esecutori. Nella nostra configurazione abbiamo 3 esecutori.
-
dremio.conf
paths: { # the local path for dremio to store data. local: ${DREMIO_HOME}"/dremiocache" # the distributed path Dremio data including job results, downloads, uploads, etc #dist: "hdfs://hadoopmaster:9000/dremiocache" dist: "dremioS3:///dremioconf" } services: { coordinator.enabled: false, coordinator.master.enabled: false, executor.enabled: true, flight.use_session_service: true } zookeeper: "10.63.150.130:2181,10.63.150.153:2181,10.63.150.151:2181" services.coordinator.master.embedded-zookeeper.enabled: false
-
Core-site.xml: uguale alla configurazione del coordinatore.
-
|
NetApp consiglia StorageGRID come soluzione di archiviazione di oggetti primaria per gli ambienti Datalake e Lakehouse. Inoltre, NetApp ONTAP viene utilizzato per la dualità file/oggetto. Nel contesto di questo documento, abbiamo condotto dei test su ONTAP S3 in risposta alla richiesta di un cliente, e il sistema funziona correttamente come fonte di dati. |
Configurazione di più sorgenti
-
Configurare ONTAP S3 e storageGRID come sorgente S3 in Dremio.
-
Dashboard di Dremio → set di dati → fonti → aggiungi fonte.
-
Nella sezione generale, aggiorna l'accesso AWS e la chiave segreta
-
Nell'opzione avanzata, abilita la modalità compatibilità e aggiorna le proprietà di connessione con i dettagli seguenti. L'IP/nome dell'endpoint dal controller di archiviazione NetApp da ontap S3 o storageGRID.
fs.s3a.endoint = 10.63.150.69 fs.s3a.path.style.access = true fs.s3a.connection.maximum=1000
-
Abilita la memorizzazione nella cache locale quando possibile, percentuale massima della cache totale disponibile da utilizzare quando possibile = 100
-
Quindi visualizza l'elenco dei bucket dall'archiviazione di oggetti NetApp .
-
Visualizzazione di esempio dei dettagli del bucket storageGRID
-
-
Configurare NAS (in particolare NFS) come sorgente in Dremio.
-
Dashboard di Dremio → set di dati → fonti → aggiungi fonte.
-
Nella sezione generale, immettere il nome e il percorso di montaggio NFS. Assicurarsi che il percorso di montaggio NFS sia montato sulla stessa cartella su tutti i nodi del cluster Dremio.
-
+
root@hadoopmaster:~# for i in hadoopmaster hadoopnode1 hadoopnode2 hadoopnode3 hadoopnode4; do ssh $i "date;hostname;du -hs /opt/dremio/data/spill/ ; df -h //dremionfsdata "; done Fri Sep 13 04:13:19 PM UTC 2024 hadoopmaster du: cannot access '/opt/dremio/data/spill/': No such file or directory Filesystem Size Used Avail Use% Mounted on 10.63.150.69:/dremionfsdata 2.1T 921M 2.0T 1% /dremionfsdata Fri Sep 13 04:13:19 PM UTC 2024 hadoopnode1 12K /opt/dremio/data/spill/ Filesystem Size Used Avail Use% Mounted on 10.63.150.69:/dremionfsdata 2.1T 921M 2.0T 1% /dremionfsdata Fri Sep 13 04:13:19 PM UTC 2024 hadoopnode2 12K /opt/dremio/data/spill/ Filesystem Size Used Avail Use% Mounted on 10.63.150.69:/dremionfsdata 2.1T 921M 2.0T 1% /dremionfsdata Fri Sep 13 16:13:20 UTC 2024 hadoopnode3 16K /opt/dremio/data/spill/ Filesystem Size Used Avail Use% Mounted on 10.63.150.69:/dremionfsdata 2.1T 921M 2.0T 1% /dremionfsdata Fri Sep 13 04:13:21 PM UTC 2024 node4 12K /opt/dremio/data/spill/ Filesystem Size Used Avail Use% Mounted on 10.63.150.69:/dremionfsdata 2.1T 921M 2.0T 1% /dremionfsdata root@hadoopmaster:~#