Подключение к кластеру Yandex Data Processing
После создания кластера Yandex Data Processing вы можете подключиться к хостам подкластеров:
- Через интернет, если вы настроили публичный доступ для подкластера.
- С виртуальной машины Yandex Cloud, расположенной в той же облачной сети.
Настройка групп безопасности
Группы безопасности могут препятствовать подключению к кластеру — в этом случае внесите изменения в правила групп.
Внимание
При настройке групп безопасности не изменяйте правила для служебного трафика. Это может привести к неработоспособности кластера.
Настройки правил будут различаться в зависимости от выбранного способа подключения:
-
Для подключения к хостам подкластеров с публичным доступом из облачных сетей и интернета настройте группы безопасности кластера так, чтобы они разрешали входящий трафик с любых IP-адресов на порт
22
. Для этого создайте следующее правило для входящего трафика:- Диапазон портов —
22
. - Протокол —
TCP
. - Источник —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
- Диапазон портов —
-
Для подключения к кластеру с промежуточной виртуальной машины:
-
Настройте группу безопасности, в которой находится ВМ, так, чтобы можно было подключаться к ВМ и был разрешен трафик между ВМ и хостами подкластеров. Для этого создайте следующие правила:
-
для входящего трафика:
- Диапазон портов —
22
. - Протокол —
TCP
. - Источник —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
- Диапазон портов —
-
для исходящего трафика:
- Диапазон портов —
22
. - Протокол —
TCP
. - Назначение —
CIDR
. - CIDR блоки — диапазон адресов подсети, в которой находятся хосты кластера. Если подкластеры находятся в разных подсетях, то создайте это правило для каждой подсети.
- Диапазон портов —
-
-
Настройте группы безопасности кластера так, чтобы они разрешали входящий трафик из группы безопасности, в которой находится ВМ, на порт
22
. Для этого создайте следующее правило для входящего трафика:- Диапазон портов —
22
. - Протокол —
TCP
. - Источник —
Группа безопасности
. - Группа безопасности — группа безопасности, в которой находится ВМ.
- Диапазон портов —
-
Для использования UI Proxy добавьте в группу безопасности хоста подкластера правила, разрешающие входящий трафик через порт 443
:
- Диапазон портов —
443
. - Протокол —
TCP
. - Источник —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
Если подключение выполняется через промежуточную ВМ, добавьте в группу безопасности хоста подкластера правила, разрешающие подключения через нее:
-
для входящего трафика:
- Диапазон портов —
443
. - Протокол —
TCP
. - Источник —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
- Диапазон портов —
-
для исходящего трафика:
- Диапазон портов —
443
. - Протокол —
TCP
. - Назначение —
CIDR
. - CIDR блоки — диапазон адресов подсети, в которой находится хост подкластера.
- Диапазон портов —
При использовании перенаправления портов, добавьте в группу безопасности промежуточной ВМ правила, разрешающие входящий и исходящий трафик через порты требуемых компонентов:
-
Диапазон портов —
<порт_компонента>
.Номера портов для компонентов Yandex Data Processing приведены в таблице:
Сервис Порт HBase Master 16010 HBase REST 8085 HDFS Name Node 9870 Hive Server2 10002 Livy 8998 MapReduce Application History 19888 Oozie 11000 Spark History 18080 YARN Application History 8188 YARN Resource Manager 8088 Zeppelin 8890 -
Протокол —
TCP
. -
Источник —
CIDR
. -
CIDR блоки —
0.0.0.0/0
.
Примечание
Вы можете задать более детальные правила для групп безопасности, например, разрешающие трафик только в определенных подсетях.
Группы безопасности должны быть корректно настроены для всех подсетей, в которых будут размещены подкластеры.
Подробнее о группах безопасности см. в разделе Группы безопасности.
FQDN хоста Yandex Data Processing
Для подключения к хосту потребуется его FQDN — доменное имя. Его можно посмотреть в консоли управления:
- Перейдите на страницу кластера.
- Перейдите в раздел Хосты.
- Скопируйте значение в столбце FQDN хоста.
SSH-подключение к хосту Yandex Data Processing
Чтобы подключиться к хосту Yandex Data Processing, на локальной машине или промежуточной ВМ должен быть доступен SSH-ключ, который вы указали при создании кластера Yandex Data Processing. Вы можете скопировать ключ на машину, с которой будет производиться подключение к кластеру, или подключаться к ней с запущенным SSH-агентом.
-
Подключитесь к промежуточной виртуальной машине по протоколу SSH, если вы не настраивали публичный доступ для подкластера.
-
Запустите SSH-агент:
eval `ssh-agent -s`
-
Добавьте нужный ключ в список доступных агенту:
ssh-add ~/.ssh/example-key
-
Откройте SSH-соединение с хостом Yandex Data Processing, указав его FQDN или IP-адрес, если для хоста включен публичный доступ. Для образа 2.0 укажите пользователя
ubuntu
, для образа 1.4 —root
, например:ssh ubuntu@rc1b-dataproc-m-fh4y4nur********.mdb.yandexcloud.kz
Результат:
ubuntu@rc1b-dataproc-m-fh4y4nur********:~#
-
Проверьте, что команды Hadoop выполняются, например:
hadoop version
Результат:
Hadoop 2.8.5 Subversion https://github.yandex-team.ru/mdb/bigtop.git -r 78508f2a4b4f3dc8b3d295ccb50a45a4******** Compiled by robot-pgaas-ci on 2019-04-16T10:35Z Compiled with protoc 2.5.0 From source with checksum 9942ca5c745417c14e31883******** This command was run using /usr/lib/hadoop/hadoop-common-2.8.5.jar
Подключение по OS Login
OS Login используется вместо SSH-ключей для доступа к виртуальным машинам Yandex Cloud через SSH. С помощью OS Login вы можете подключиться к хостам кластера Yandex Data Processing.
Примечание
Доступ по OS Login должен быть включен на уровне организации.
Включить доступ к хостам по OS Login можно только при создании кластера.
Подключиться к хосту по OS Login можно с помощью стандартного SSH-клиента или Yandex Cloud CLI. Пользователю или сервисному аккаунту, от имени которого выполняется подключение, должна быть назначена роль compute.osLogin
или compute.osAdminLogin
. При подключении с помощью Yandex Cloud CLI дополнительно необходима роль compute.operator
.
Перед подключением установите и инициализируйте Yandex Cloud CLI.
Подключение с помощью SSH
-
Экспортируйте сертификат OS Login.
Примечание
Сертификат действителен один час. По истечении часа экспортируйте новый сертификат.
-
Узнайте IP-адрес хоста Yandex Data Processing:
-
Получите список хостов:
yc dataproc cluster list-hosts <имя_или_идентификатор_кластера>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Результат:
+------------------------------------------------------+----------------------+------------+----------------------+--------+ | NAME | COMPUTE INSTANCE ID | ROLE | SUBCLUSTER ID | HEALTH | +------------------------------------------------------+----------------------+------------+----------------------+--------+ | rc1a-dataproc-d-q8659net********.mdb.yandexcloud.net | fhmr7sd33fl8******** | DATANODE | c9qaps7qjj2d******** | ALIVE | | rc1a-dataproc-m-hhhifdgl********.mdb.yandexcloud.net | fhmg686pspri******** | MASTERNODE | c9q7aen26lid******** | ALIVE | +------------------------------------------------------+----------------------+------------+----------------------+--------+
Сохраните идентификатор ВМ, соответствующей хосту, к которому вы будете подключаться.
-
Получите информацию о ВМ:
yc compute instance get <идентификатор_ВМ>
Результат:
... primary_v4_address: address: <внутренний_IP-адрес> one_to_one_nat: address: <внешний_IP-адрес> ip_version: IPV4 ...
Если подключаетесь к хосту из интернета, сохраните внешний IP-адрес, а если с промежуточной ВМ — внутренний IP-адрес.
-
-
Подключитесь к хосту:
ssh -i <путь_к_файлу_сертификата> <логин_пользователя>@<IP-адрес_хоста>
Где:
<путь_к_файлу_сертификата>
— путь к сохраненному ранее файлуIdentity
сертификата. Например:/home/user1/.ssh/yc-cloud-id-b1gia87mbaom********-orgusername
.<логин_пользователя>
— логин, заданный для этого пользователя в профиле OS Login. Логин также указывается в конце имени экспортированного сертификата OS Login. В примере выше этоorgusername
.<IP-адрес_хоста>
— полученный ранее адрес хоста.
При первом подключении к хосту появится предупреждение о неизвестном хосте:
The authenticity of host '158.160.**.** (158.160.**.**)' can't be established. ECDSA key fingerprint is SHA256:PoaSwqxRc8g6iOXtiH7ayGHpSN0MXwUfWHk********. Are you sure you want to continue connecting (yes/no)?
Введите в терминале слово
yes
и нажмите Enter.
Подключение с помощью CLI
-
Получите список хостов Yandex Data Processing:
yc dataproc cluster list-hosts <имя_или_идентификатор_кластера>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Результат:
+------------------------------------------------------+----------------------+------------+----------------------+--------+ | NAME | COMPUTE INSTANCE ID | ROLE | SUBCLUSTER ID | HEALTH | +------------------------------------------------------+----------------------+------------+----------------------+--------+ | rc1a-dataproc-d-q8659net********.mdb.yandexcloud.net | fhmr7sd33fl8******** | DATANODE | c9qaps7qjj2d******** | ALIVE | | rc1a-dataproc-m-hhhifdgl********.mdb.yandexcloud.net | fhmg686pspri******** | MASTERNODE | c9q7aen26lid******** | ALIVE | +------------------------------------------------------+----------------------+------------+----------------------+--------+
Сохраните идентификатор ВМ, соответствующей хосту, к которому вы будете подключаться.
-
Подключитесь к хосту:
yc compute ssh --id <идентификатор_ВМ>
Подключение из графических IDE
Подключения проверялись в следующем окружении:
- Ubuntu 20.04, DBeaver:
22.2.4
; - MacOS Monterey 12.7:
- JetBrains DataGrip:
2023.3.4
; - DBeaver Community:
24.0.0
.
- JetBrains DataGrip:
Для использования графических IDE сохраните сертификат
- Создайте источник данных:
-
Выберите в меню File → New → Data Source → Apache Hive.
Примечание
Выберите источник данных в зависимости от компонента Yandex Data Processing, к которому вы подключаетесь:
- Hive — выберите Apache Hive;
- Spark — выберите Apache Spark.
Список настроек не меняется.
-
Укажите параметры подключения на вкладке General:
- Host — FQDN хоста-мастера кластера или его публичный IP-адрес;
- Если вы подключаетесь впервые, то нажмите ссылку Download, чтобы загрузить драйвер соединения.
-
На вкладке SSH/SSL:
- Включите настройку Use SSL и укажите параметры для SSL-подключения:
- CA file — загруженный ранее SSL-сертификат для подключения;
- Client key file, Client key password — файл закрытого ключа для подключения к кластеру Yandex Data Processing и пароль к нему.
- (Опционально) Для подключения через промежуточную ВМ настройте параметры SSH-туннеля:
- Выберите Use SSH tunnel, создайте SSH-конфигурацию и укажите параметры:
- Host — IP-адрес ВМ;
- User name — имя пользователя ВМ;
- Private key file, Passphrase — файл закрытого ключа для подключения к ВМ и пароль к нему.
- Нажмите ссылку Test Connection для проверки подключения к ВМ из DataGrip.
- Нажмите кнопку OK, чтобы сохранить конфигурацию.
- Выберите Use SSH tunnel, создайте SSH-конфигурацию и укажите параметры:
- Включите настройку Use SSL и укажите параметры для SSL-подключения:
-
- Нажмите ссылку Test Connection для проверки подключения. При успешном подключении будет выведен статус подключения OK, информация о СУБД и драйвере.
- Нажмите кнопку OK, чтобы сохранить источник данных.
- Загрузите SSH-ключ на локальную машину или ВМ для подключения к кластеру Yandex Data Processing.
- Создайте новое соединение с БД:
-
Выберите в меню База данных пункт Новое соединение.
-
Выберите из списка БД источник данных в зависимости от конфигурации кластера Yandex Data Processing, к которому вы подключаетесь:
- Если в кластере используется Hive — выберите Apache Hive.
- Если в кластере включен только Spark и включен Thrift-сервер — выберите Apache Spark.
-
Нажмите кнопку Далее.
-
На вкладке SSH включите настройку Использовать туннель SSH и укажите параметры:
- Хост/IP — FQDN (для подключения через промежуточную ВМ) или публичный IP-адрес хоста-мастера;
- Имя пользователя – укажите имя пользователя:
- для версии 2.0 —
ubuntu
; - для версии 1.4 —
root
.
- для версии 2.0 —
- Метод аутентификации —
Публичный ключ
; - Секретный ключ — путь к файлу закрытого ключа кластера;
- Passphrase — пароль от закрытого ключа.
- (Опционально) Для подключения через промежуточную ВМ включите настройку Использовать jump сервер и укажите параметры:
- Хост/IP — публичный IP-адрес ВМ для подключения;
- Имя пользователя — логин для подключения к ВМ;
- Метод аутентификации —
Публичный ключ
; - Секретный ключ — путь к файлу закрытого ключа ВМ;
- Passphrase — пароль от закрытого ключа.
-
- Нажмите кнопку Тест соединения ... для проверки подключения. При успешном подключении будет выведен статус подключения, информация о СУБД и драйвере.
- Нажмите кнопку Готово, чтобы сохранить настройки соединения с БД.