Hadoop DistCp: S3A-Proxy in Worker-Tasks konfigurieren
Konfigurieren Sie den Proxy des Hadoop-S3A-Connectors so, dass er dort verfügbar ist, wo DistCp-Worker ihre Übertragungen ausführen.
Für den S3A-Connector von Hadoop 3.4.2 über einen HTTP-Proxy fügen Sie diese Einträge in die Hadoop-Konfiguration des Vorgangs ein, üblicherweise in die passende core-site.xml:
<property>
<name>fs.s3a.proxy.host</name>
<value>gateway.example</value>
</property>
<property>
<name>fs.s3a.proxy.port</name>
<value>8080</value>
</property>
<property>
<name>fs.s3a.proxy.ssl.enabled</name>
<value>false</value>
</property>Für einen eigenständig genehmigten Test gegen einen öffentlich erreichbaren S3-Endpunkt ohne konfigurierte Proxy-Anmeldedaten liefert die HTTP-Proxy-Liste mögliche Werte für Hostname und expliziten Port. fs.s3a.proxy.ssl.enabled=false wählt eine einfache HTTP-Verbindung zu diesem Proxy; es deaktiviert nicht TLS zwischen S3A und S3. Verwenden Sie den Wert, der zum tatsächlichen Proxy-Listener passt.
Prüfen Sie beide Verbraucher. Der einreichende Client kann S3 erfolgreich auflisten, während Container der DistCp-Map-Tasks den Proxy nicht erreichen oder dieselbe Dateisystemkonfiguration nicht laden können. Diese Tasks führen die Übertragungen aus.
Bei einer fehlgeschlagenen Task halten Sie Ausführungshost, wirksame Konfiguration und gewählten Endpunkt zusammen mit dem Fehler fest. Die Umgebung der Einreichungs-Shell ist für einen Worker kein ausreichender Beleg.
Diese Einstellungen gelten für s3a://. Ältere Rezepte für den Jets3t-Connector konfigurieren eine andere Implementierung und ersetzen nicht die S3A-Optionen, die dieser Job verwendet.