Configurare Apache Spark e Apache Hadoop nei cluster Big Data
Importante
Il componente aggiuntivo per i cluster Big Data di Microsoft SQL Server 2019 verrà ritirato. Il supporto per i cluster Big Data di SQL Server 2019 terminerà il 28 febbraio 2025. Tutti gli utenti esistenti di SQL Server 2019 con Software Assurance saranno completamente supportati nella piattaforma e fino a quel momento il software continuerà a ricevere aggiornamenti cumulativi di SQL Server. Per altre informazioni, vedere il post di blog relativo all'annuncio e Opzioni per i Big Data nella piattaforma Microsoft SQL Server.
Per configurare Apache Spark e Apache Hadoop nei cluster Big Data, è necessario modificare il profilo del cluster al momento della distribuzione.
Un cluster Big Data ha quattro categorie di configurazione:
sql
hdfs
spark
gateway
sql
, hdfs
, spark
, sql
sono servizi. Ogni servizio è mappato alla categoria di configurazione con lo stesso nome. Tutte le configurazioni del gateway sono associate alla categoria gateway
.
Ad esempio, tutte le configurazioni nel servizio hdfs
appartengono alla categoria hdfs
. Si noti che tutte le configurazioni di Hadoop (core-site), HDFS e Zookeeper appartengono alla categoria hdfs
. Tutte le configurazioni di Livy, Spark, Yarn, Hive e Metastore appartengono alla categoria spark
.
Configurazioni supportate elenca le proprietà di Apache Spark e Hadoop che è possibile configurare quando si distribuisce un cluster Big Data di SQL Server.
Le sezioni seguenti elencano le proprietà non è possibile modificare in un cluster:
- Configurazioni
spark
non supportate - Configurazioni
hdfs
non supportate - Configurazioni
gateway
non supportate
Configurazioni tramite il profilo cluster
Nel profilo cluster sono disponibili risorse e servizi. In fase di distribuzione, è possibile specificare le configurazioni in uno dei due modi seguenti:
Prima di tutto, a livello di risorsa:
Gli esempi seguenti sono i file di patch per il profilo:
{ "op": "add", "path": "spec.resources.zookeeper.spec.settings", "value": { "hdfs": { "zoo-cfg.syncLimit": "6" } } }
Oppure:
{ "op": "add", "path": "spec.resources.gateway.spec.settings", "value": { "gateway": { "gateway-site.gateway.httpclient.socketTimeout": "95s" } } }
In secondo luogo, a livello di servizio. Assegnare più risorse a un servizio e specificare le configurazioni per il servizio.
Di seguito è riportato un esempio del file di patch per il profilo per l'impostazione delle dimensioni del blocco HDFS:
{
"op": "add",
"path": "spec.services.hdfs.settings",
"value": {
"hdfs-site.dfs.block.size": "268435456"
}
}
Il servizio hdfs
è definito come segue:
{
"spec": {
"services": {
"hdfs": {
"resources": [
"nmnode-0",
"zookeeper",
"storage-0",
"sparkhead"
],
"settings":{
"hdfs-site.dfs.block.size": "268435456"
}
}
}
}
}
Nota
Le configurazioni a livello di risorsa sostituiscono le configurazioni a livello di servizio. Una risorsa può essere assegnata a più servizi.
Abilitare Spark nel pool di archiviazione
Oltre alle configurazioni Apache supportate, viene anche offerta la possibilità di specificare se i processi Spark possono essere eseguiti o meno nel pool di archiviazione. Questo valore booleano, includeSpark
, si trova nel file di configurazione bdc.json
in spec.resources.storage-0.spec.settings.spark
.
Un esempio di definizione del pool di archiviazione in bdc.json può essere simile al seguente:
...
"storage-0": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Storage",
"replicas": 2,
"settings": {
"spark": {
"includeSpark": "true"
}
}
}
}
Limiti
Le configurazioni possono essere specificate solo a livello di categoria. Per specificare più configurazioni con la stessa sottocategoria, non è possibile estrarre il prefisso comune nel profilo cluster.
{
"op": "add",
"path": "spec.services.hdfs.settings.core-site.hadoop",
"value": {
"proxyuser.xyz.users": "*",
"proxyuser.abc.users": "*"
}
}