Создание кластера dataproc
Сегодня разберём процесс создания кластера dataproc версии 2.0 с нуля. Создадим дополнительные сущности и запустим кластер. После этого подключимся к нему.
Создадим вспомогательные для работы кластера сущности: сервисный аккаунт, группу безопасности, лог группу. Создадим несколько переменных для начала:
export FOLDER_ID=$(yc config get folder-id) export ZONE_ID=ru-central1-a
1. Создадим сервисный аккаунт(SA) и назначим ему права.
yc iam service-account create --name dataproc-agent export SA=$(yc iam service-account get dataproc-agent --format json | jq -r '.id') yc resource folder add-access-binding $FOLDER_ID --role mdb.dataproc.agent --subject serviceAccount:$SA
2. Создадим группу безопасности и добавим в неё необходимые правила.
export NETWORK_ID=$(yc vpc network get cameda-test --format json | jq -r '.id') yc vpc sg create --name dataproc-sg \ "--rule" "description=access all egress port,direction=egress,from-port=0,to-port=65535,protocol=any,v4-cidrs=[0.0.0.0/0]" \ "--rule" "description=access 22 port,direction=ingress,port=22,protocol=tcp,v4-cidrs=[0.0.0.0/0]" \ "--rule" "description=access 443 port,direction=ingress,port=443,protocol=tcp,v4-cidrs=[0.0.0.0/0]" \ "--rule" "description=Self,direction=ingress,from-port=0,to-port=65535,protocol=any,predefined=self_security_group" \ --network-id $NETWORK_ID --description "dataproc access" --folder-id $FOLDER_ID --async
3. Создадим log группу для хранения логов кластера.
yc logging group create \ --name=dataproc \ --description "dataproc log group" \ --retention-period=12h \ --async
export SG=$(yc vpc sg get dataproc-sg --format json | jq -r '.id') export LOG=$(yc logging group get dataproc --format json | jq -r '.id') export SUBNET_ID=$(yc vpc subnet get subnet-a --format json | jq -r '.id') yc dataproc cluster create \ --folder-id $FOLDER_ID \ --zone=$ZONE_ID \ --name=cam-dataproc \ --description='TEST' \ --service-account-id=$SA \ --version=2.0 \ --ssh-public-keys-file=/Users/cameda/id_rsa.pub \ --subcluster name=cam-masternode,` `role=masternode,` `resource-preset=s2.micro,` `disk-type=network-ssd,` `disk-size=128,` `subnet-id=$SUBNET_ID,` `assign-public-ip=true \ --subcluster name=cam-datanode,` `role=datanode,` `resource-preset=s2.small,` `disk-type=network-ssd,` `disk-size=128,` `subnet-id=$SUBNET_ID,` `hosts-count=1,` `assign-public-ip=true \ --bucket=cam-dataproc \ --deletion-protection=false \ --ui-proxy=true \ --security-group-ids $SG \ --log-group-id=$LOG \ --async
К кластеру можно подключиться используя web морду от YARN, HADOOP. Ссылки будут находиться в UI на странице кластера.
Также есть возможность подключиться по ssh. Для этого у мастер ноды должен быть включен публичный доступ, если подключение происходит извне контура облака.
Подключаемся от имени пользователя ubuntu.
Если необходимы права пользователя root, то можно использовать sudo -i
Пример строки для подключения: ssh -i ~/.ssh/id_rsa ubuntu@ip_address
Полезные ссылки.
Про зону доступности тут: https://teletype.in/@cameda/S34zdiTcbUM
Сеть создавали тут: https://teletype.in/@cameda/ZbTkF70KWK9