Antwort

0

Es gibt eine Menge Informationen über die Verbindung zu AWS Aurora über SSL von mysql Java Connector verstreut in Foren und Stackoverflow, also Entschuldigung, wenn ich nicht alle Referenzen enthalten.

Lange Rede kurzer Sinn: Es gibt zwei Hauptthemen ein Programm läuft in einem EMR-Cluster Aurora mit ssl verbinden:

1 Import) einfach die rds-GuD-ca-bundle.pem von Amazon zu einem Schlüsselspeicher zur Verfügung gestellt funktioniert nicht, da der Fehler "PKIX-Pfadaufbau fehlgeschlagen" angezeigt wird.

2) Die Java-Eigenschaft javax.net.ssl.keyStore wird nicht von der Cluster-Slaves zur Verfügung steht, so dass die App nicht die Keystor finden ein es wird einen „Kommunikationsverbindungsfehler“

Die Ursache für produzieren 1) scheint mit der Tatsache zusammenzuhängen, dass die Datei rds-combined-ca-bundle.pem mehrere Zertifikate hat, so dass die vorgeschlagene Lösung in einem Forum, das ich jetzt nicht habe, diese Zertifikate zu teilen. Das Zertifikat für Aurora ist der 8.:

----- ----- ZERTIFIKAT BEGIN MIID/DCCAuSgAwIBAgIBQzANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCVVMx EzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxIjAgBgNVBAoM GUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx GzAZBgNVBAMMEkFtYXpvbiBSRFMgUm9vdCBDQTAeFw0xNTAyMDUyMTU0MDRaFw0y MDAzMDUyMTU0MDRaMIGPMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3Rv bjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNl cywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEgMB4GA1UEAwwXQW1hem9uIFJE UyB1cy1lYXN0LTEgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDI UIuwh8NusKHk1SqPXcP7OqxY3S/M2ZyQWD3w7Bfihpyyy/fc1w0/suIpX3kbMhAV 2ESwged2/2zSx4pVnjp/493r4luhSqQYzru78TuPt9bhJIJ51WXunZW2SWkisSaf USYUzVN9ezR/bjXTumSUQaLIouJt3OHLX49s + 3NAbUyOI8EdvgBQWD68H1epsC0n CI5s pIktyOZ59c4DCDLQcXErQ + + ++ tNbDC oct1ANd/q8p9URonYwGCGOBy7sbCYq 9eVHh1Iy2M + SNXddVOGw5EuruvHoCIQyOz5Lz4zSuZA9dRbrfztNOpezCNYu6NKM n + hzcvdiyxv77uNm8EaxAgMBAAGjZjBkMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMB Af8ECDAGAQH/AgEAMB0GA1UdDgQWBBQSQG3TmMe6Sa3KufaPBa72v4QFDzAfBgNV HSMEGDAWgBROAu6sPvYVyEztLPUFwY + chAhJgzANBgkqhkiG9w0BAQUFAAOCAQEA L/mOZfB3187xTmjOHMqN2G2oSKHBKiQLM9uv8 + 97qT + XR + TVsBT6b3yoPpMAGhHA Pc7nxAF5gPpuzatx0OTLPcmYucFmfqT/1qA5WlgCnMNtczyNMH97lKFTNV7Njtek jWEzAEQS yEWrkNpNlC4j6kMYyPzVXQeXUeZTgJ9FNnVZqmvfjip2N22tawMjrCn5 7kN/zN65EwY2oO9XsaTwwWmBu3NrDdMbzJnbxoWcFWj4RBwanR1XjQOVNhDwmCOl /1Et13b8CPyj69PC8BOVU6cfTSx8WUVy0qvYOKHNY9Bqa5BDnIL3IVmUkeTlM1mt enRpyBj + Bk9rh/ICdiRKmA == ----- END CERTIFICATE -----

Also, wenn Sie dieses Segment in einer Datei namens extrahieren, lassen Sie uns bundle8 sagen. pem, Sie Ihren Schlüssel erzeugen, wie folgt:

keytool -import -alias mysqlServerCACert -file bundle8.pem -keystore truststore 

Die Lösung für 2) javax.net.ssl ​​einzustellen.Keystor als Befehlsparameter für den Fall von Funken einreichen, sollten die Option ‚--driver-java-Optionen‘ sein:

spark-submit --deploy-mode cluster --driver-java-options='-Djavax.net.ssl.trustStore=truststore' --files s3://path/to/truststore ..other spark options 

Seine „-Vertrauen“ die Datei mit dem keytool generiert. Die --driver-java-Optionen ermöglichen es, dass die Truststore-Datei in den Umgebungen der Slaves verfügbar ist.

Referenz:

Verbindung zu einem Amazon Aurora DB Cluster: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html

Connecting Mysql Java Connector mit SSL https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-using-ssl.html

Verwandte Themen