Configurer Apache Spark et Apache Hadoop dans les clusters Big Data
Important
Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.
Pour configurer Apache Spark et Apache Hadoop dans des clusters Big Data, vous devez modifier le profil des clusters au moment du déploiement.
Un cluster Big Data comporte quatre catégories de configuration :
sql
hdfs
spark
gateway
sql
, hdfs
, spark
et sql
sont des services. À chacun d’eux est associée une catégorie de configuration du même nom. Toutes les configurations de passerelle sont affectées à la catégorie gateway
.
Par exemple, toutes les configurations dans le service hdfs
appartiennent à la catégorie hdfs
. Notez que toutes les configurations Hadoop (core-site), HDFS et ZooKeeper appartiennent à la catégorie hdfs
, et toutes les configurations Livy, Spark, YARN, Hive et Metastore à la catégorie spark
.
La page Configurations prises en charge répertorie les propriétés Apache Spark & Hadoop que vous pouvez configurer lorsque vous déployez un cluster Big Data SQL Server.
Les sections suivantes répertorient les propriétés que vous ne pouvez pas modifier dans un cluster :
- Configurations
spark
non prises en charge - Configurations
hdfs
non prises en charge - Configurations
gateway
non prises en charge
Configurations par profil de cluster
Le profil du cluster comporte des ressources et des services. Au moment du déploiement, nous pouvons spécifier les configurations de deux manières :
Premièrement, au niveau de la ressource :
Les exemples suivants sont les fichiers de correctif pour le profil :
{ "op": "add", "path": "spec.resources.zookeeper.spec.settings", "value": { "hdfs": { "zoo-cfg.syncLimit": "6" } } }
Ou :
{ "op": "add", "path": "spec.resources.gateway.spec.settings", "value": { "gateway": { "gateway-site.gateway.httpclient.socketTimeout": "95s" } } }
Deuxièmement, au niveau du service. Attribuez plusieurs ressources à un service et spécifiez les configurations pour le service.
Voici un exemple de fichier correctif pour le profil pour la définition de la taille de bloc HDFS :
{
"op": "add",
"path": "spec.services.hdfs.settings",
"value": {
"hdfs-site.dfs.block.size": "268435456"
}
}
Le service hdfs
est défini comme suit :
{
"spec": {
"services": {
"hdfs": {
"resources": [
"nmnode-0",
"zookeeper",
"storage-0",
"sparkhead"
],
"settings":{
"hdfs-site.dfs.block.size": "268435456"
}
}
}
}
}
Notes
Les configurations au niveau de la ressource remplacent les configurations au niveau du service. Une ressource peut être attribuée à plusieurs services.
Activer Spark dans le pool de stockage
Outre les configurations Apache prises en charge, vous pouvez également autoriser ou non l’exécution de travaux Spark dans le pool de stockage. Cette valeur booléenne, includeSpark
, se trouve dans le fichier de configuration bdc.json
à l’emplacement spec.resources.storage-0.spec.settings.spark
.
Un exemple de définition de pool de stockage dans bdc.json peut se présenter comme suit :
...
"storage-0": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Storage",
"replicas": 2,
"settings": {
"spark": {
"includeSpark": "true"
}
}
}
}
Limites
Les configurations peuvent être spécifiées au niveau de la catégorie uniquement. Pour spécifier plusieurs configurations avec la même sous-catégorie, nous ne pouvons pas extraire le préfixe commun dans le profil du cluster.
{
"op": "add",
"path": "spec.services.hdfs.settings.core-site.hadoop",
"value": {
"proxyuser.xyz.users": "*",
"proxyuser.abc.users": "*"
}
}