Ich versuche, ein EMR über eine Lambda-Funktion zu konfigurieren/hochzufahren. Es funktioniert ok, außer die IP-Adresse oder den Hostnamen in den Konfigurationsdateien zu erhalten. Ich versuche, eine Eigenschaft für presto config.properties Datei zu konfigurieren, die wie etwas hatErstellen von EMR über Lambda Funktion: Abrufen von Hostname/IP in der Konfigurationsdatei
"hive.metastore.uri" : "thrift://<IP address of the Master Node>:9083"
Ich bin nicht sicher, wie die IP-Adresse oder den Hostnamen des Master-Knoten erhalten in der Config-Datei jedes Mal ersetzt werden i Spin ein neues Cluster/emr? Ich habe das versucht -
"hive.metastore.uri" : "thrift://${yarn.nodemanager.hostname}:9083"
Es hat nicht funktioniert, es ersetzt nicht den Hostnamen mit dem tatsächlichen Hostnamen.
Configurations=[
{
"Classification": "presto-log",
"Properties": {
"com.facebook.presto":"DEBUG",
"com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory":"DEBUG",
"com.ning.http.client":"DEBUG",
"com.facebook.presto.server.PluginManager":"DEBUG"
}
},
{
"Classification": "presto-config",
"Properties": {
"http-server.threads.max" : "500",
"discovery-server.enabled" : "true",
"sink.max-buffer-size" : "1GB",
"query.max-memory" : "90GB",
"query.max-history" : "40",
"query.min-expire-age" : "100m",
"http-server.log.path" : "/var/log/presto/http-request.log",
"http-server.log.max-size" : "67108864B",
"http-server.log.max-history" : "5",
"log.max-size" : "268435456B",
"log.max-history" : "5",
"distributed-joins-enabled" : "true",
"query.client.timeout" : "30m"
}
},
{
"Classification": "presto-connector-hive",
"Properties": {
"hive.s3.connect-timeout" : "2m",
"hive.s3.max-backoff-time" : "10m",
"hive.s3.max-error-retries" : "50",
"hive.metastore-refresh-interval" : "1m",
"hive.s3.max-connections" : "500",
"hive.s3.max-client-retries" : "50",
"connector.name" : "hive-hadoop2",
"hive.s3.socket-timeout" : "2m",
"hive.metastore.uri" : "thrift://${yarn.nodemanager.hostname}:9083",
"hive.metastore-cache-ttl" : "20m",
"hive.s3.staging-directory" : "/mnt/tmp",
"hive.s3.use-instance-credentials" : "true",
"hive.external-table-writable " : "true"
}
}
],
Irgendwelche Ideen wie man das funktioniert?
Welchen Parameter versuchen Sie auf Presto einzustellen? Wenn es spezifisch für hive.metastore.uri ist, wird EMR diesen Parameter automatisch auf allen Knoten konfigurieren, um den fqdn des Master-Knotens einzuschließen (wo der Metastorendämon zurückkommt). Sie müssen es nicht manuell festlegen. –
Es gibt 2 verschiedene Parameter, die ich einstellen wollte. Der Bienenstockmetastere uri wird automatisch eingestellt. Danke, dass du das gezeigt hast. Der andere Parameter ist der Presto-Port in confif.properties. Wir verwenden 8081 Port anstelle von 8889. Wie ändere ich das? Dies sind die Parameter, die ich versuche zu ändern - discovery.uri = http: // ip- <>: 8081 und http-server.http.port = 8081. – Ashwin
Für http-server.http.port können Sie die Presto-Config-Klassifizierung mit Schlüssel als 'http-server.http.port' und '8081' als Wert verwenden. Es überschreibt einfach den Standard 8889. –