Настройка Apache Spark и Apache Hadoop в Кластерах больших данных
Важно!
Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, и программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений SQL Server до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.
Чтобы настроить Apache Spark и Apache Hadoop в Кластерах больших данных, необходимо изменить профиль кластера во время развертывания.
Кластер больших данных имеет четыре категории конфигураций:
sql
hdfs
spark
gateway
sql
, hdfs
, spark
, sql
являются службами. Каждая служба соответствует одноименной категории конфигураций. Все конфигурации шлюзов относятся к категории gateway
.
Например, все конфигурации в службе hdfs
относятся к категории hdfs
. Обратите внимание, что все конфигурации Hadoop (core-site), HDFS и Zookeeper относятся к категории hdfs
; все конфигурации Livy, Spark, Yarn и Hive Metastore относятся к категории spark
.
В разделе Поддерживаемые конфигурации перечислены свойства Apache Spark и Hadoop, которые можно настроить при развертывании кластера больших данных SQL Server.
В следующих разделах перечислены свойства, которые невозможно изменить в кластере.
- Неподдерживаемые
spark
конфигурации - Неподдерживаемые
hdfs
конфигурации - Неподдерживаемые
gateway
конфигурации
Настройка конфигураций через профиль кластера
В профиле кластера имеются ресурсы и службы. Во время развертывания конфигурации можно указывать одним из двух способов.
Во-первых, на уровне ресурса.
Ниже приведены примеры файлов исправлений для профиля.
{ "op": "add", "path": "spec.resources.zookeeper.spec.settings", "value": { "hdfs": { "zoo-cfg.syncLimit": "6" } } }
Или сделайте так:
{ "op": "add", "path": "spec.resources.gateway.spec.settings", "value": { "gateway": { "gateway-site.gateway.httpclient.socketTimeout": "95s" } } }
Во-вторых, на уровне службы. Назначьте службе несколько ресурсов и укажите конфигурации службы.
Ниже приведен пример файла исправления для настройки размера блока HDFS в профиле:
{
"op": "add",
"path": "spec.services.hdfs.settings",
"value": {
"hdfs-site.dfs.block.size": "268435456"
}
}
Служба hdfs
определяется следующим образом:
{
"spec": {
"services": {
"hdfs": {
"resources": [
"nmnode-0",
"zookeeper",
"storage-0",
"sparkhead"
],
"settings":{
"hdfs-site.dfs.block.size": "268435456"
}
}
}
}
}
Примечание.
Конфигурации на уровне ресурсов переопределяют конфигурации на уровне службы. Один ресурс можно назначить нескольким службам.
Включение Spark в пуле носителей
Помимо поддерживаемых конфигураций Apache, мы предлагаем возможность настройки выполнения заданий Spark в пуле носителей. Это логическое значение, includeSpark
, находится в файле конфигурации bdc.json
в spec.resources.storage-0.spec.settings.spark
.
Пример определения пула носителей в bdc.json может выглядеть следующим образом:
...
"storage-0": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Storage",
"replicas": 2,
"settings": {
"spark": {
"includeSpark": "true"
}
}
}
}
Ограничения
Конфигурации можно задавать только на уровне категории. Для указания нескольких конфигураций одной подкатегории нельзя извлечь общий префикс в профиле кластера.
{
"op": "add",
"path": "spec.services.hdfs.settings.core-site.hadoop",
"value": {
"proxyuser.xyz.users": "*",
"proxyuser.abc.users": "*"
}
}