Updating an cluster Apache Hive™ Metastore
-
In the management console
, select the folder where you want to update a cluster. -
Select Yandex MetaData Hub.
-
In the left-hand panel, select
Metastore. -
In the cluster row, click
and select Edit. -
Under Basic parameters:
- Edit the cluster name and description.
- Delete or add new Yandex Cloud labels.
- Select another service account or create a new one with the
managed-metastore.integrationProvider
role. - Switch your Apache Hive™ Metastore version.
-
Under Network settings, select another security group or create a new one.
-
Under Metastore, update the computing resource configuration for your cluster. The following configurations are available:
- standard: 2 vCPUs and 8 GB RAM
- cpu-optimized: 2 vCPUs and 4 GB RAM
-
Under Logging, enable or disable logging. If logging is enabled, do the following:
- Specify the log group or folder to write logs to.
- Select the minimum logging level.
For more information, see Transferring cluster logs.
-
Under Advanced settings, enable or disable cluster deletion protection.
-
Click Edit.
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID>
command. You can also set a different folder for any specific command using the --folder-name
or --folder-id
parameter.
To change a Apache Hive™ Metastore cluster’s settings:
-
View the description of the CLI command for updating a cluster:
yc managed-metastore cluster update --help
-
Provide a list of settings to update in the update cluster command:
yc managed-metastore cluster update <cluster_name_or_ID> \ --new-name <cluster_name> \ --description <cluster_description> \ --labels <label_list> \ --service-account-id <service_account_ID> \ --version <Apache_Hive™_Metastore_version> \ --security-group-ids <security_group_IDs> \ --resource-preset-id <ID_of_computing_resources> \ --maintenance-window type=<maintenance_type>,` `day=<day_of_week>,` `hour=<hour> \ --deletion-protection \ --log-enabled \ --log-folder-id <folder_ID> \ --log-min-level <logging_level>
Where:
--new-name
: New cluster name.
--description
: Cluster description.--labels
: List of labels. Provide labels in<key>=<value>
format.--service-account-id
: Service account ID.--version
: Apache Hive™ Metastore version.
-
--security-group-ids
: List of security group IDs. -
--resource-preset-id
: Computing resource configuration. The possible values are:c2-m8
: 2 vCPUs and 8 GB RAM.c2-m4
: 2 vCPUs and 4 GB RAM.
-
--maintenance-window
: Maintenance window settings (including for disabled clusters), wheretype
is the maintenance type:anytime
: At any time (default).weekly
: On a schedule. For this value, also specify the following:day
: Day of week, i.e.,MON
,TUE
,WED
,THU
,FRI
,SAT
, orSUN
.hour
: Hour of day (UTC), from1
to24
.
-
--deletion-protection
: Enables cluster protection against accidental deletion. -
Logging parameters:
-
--log-enabled
: Enables logging. Logs generated by Apache Hive™ Metastore components will be sent to Yandex Cloud Logging. -
--log-folder-id
: Folder ID. Logs will be written to the default log group for this folder. -
--log-group-id
: Custom log group ID. Logs will be written to this group.Specify one of the two parameters:
--log-folder-id
or--log-group-id
. -
--log-min-level
: Minimum logging level. Possible values:TRACE
,DEBUG
,INFO
(default),WARN
,ERROR
, andFATAL
.
-
You can get the cluster ID and name with the list of clusters in the folder.
-
Get an IAM token for API authentication and save it as an environment variable:
export IAM_TOKEN="<IAM_token>"
-
Create a file named
body.json
and paste the following code into it:{ "updateMask": "<list_of_parameters_to_update>", "name": "<cluster_name>", "description": "<cluster_description>", "labels": { "<label_list>" }, "deletionProtection": <deletion_protection>, "version": "<Apache_Hive™_Metastore_version>", "configSpec": { "resources": { "resourcePresetId": "<resource_configuration_ID>" } }, "serviceAccountId": "<service_account_ID>", "logging": { "enabled": <use_of_logging>, "folderId": "<folder_ID>", "minLevel": "<logging_level>" }, "networkSpec": { "securityGroupIds": [ "<list_of_security_group_IDs>" ] }, "maintenanceWindow": { "weeklyMaintenanceWindow": { "day": "<day_of_week>", "hour": "<hour>" } } }
Where:
-
updateMask
: List of parameters to update as a single string, separated by commas.Warning
When you update a cluster, all parameters of the object you are modifying will take their defaults unless explicitly provided in the request. To avoid this, list the settings you want to change in the
updateMask
parameter.
-
name
: Cluster name. -
description
: Cluster description. -
labels
: List of labels Provide labels in"<key>": "<value>"
format. -
deletionProtection
: Enables cluster protection against accidental deletion. The possible values aretrue
orfalse
. -
version
: Apache Hive™ Metastore version. -
configSpec.resources.resourcePresetId
: ID of the cluster's computing resources. The possible values are:c2-m8
: 2 vCPUs and 8 GB RAM.c2-m4
: 2 vCPUs and 4 GB RAM.
-
serviceAccountId
: Service account ID. -
logging
: Logging parameters:-
enabled
: Enables logging. Logs generated by Apache Hive™ Metastore components will be sent to Yandex Cloud Logging. The possible values aretrue
orfalse
. -
folderId
: Folder ID. Logs will be written to the default log group for this folder. -
logGroupId
: Custom log group ID. Logs will be written to this group.Specify either
folderId
orlogGroupId
. -
minLevel
: Minimum logging level. The possible values areTRACE
,DEBUG
,INFO
,WARN
,ERROR
, andFATAL
.
-
-
networkSpec
: Network settings:securityGroupIds
: List of security group IDs.
-
maintenanceWindow
: Maintenance window settings (including for disabled clusters). InmaintenanceWindow
, provide one of the two parameters:-
anytime
: Maintenance can take place at any time. -
weeklyMaintenanceWindow
: Maintenance takes place once a week at the specified time:day
: Day of week, inDDD
format,MON
,TUE
,WED
,THU
,FRI
,SAT
, orSUN
.hour
: Time of day (UTC) inHH
format, from1
to24
.
-
-
-
Use the Cluster.Update method and send the following request, e.g., via cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://metastore.api.cloud.yandex.net/managed-metastore/v1/clusters/<cluster_ID>' \ --data '@body.json'
You can get the cluster ID with the list of clusters in the folder.
-
View the server response to make sure your request was successful.
-
Get an IAM token for API authentication and save it as an environment variable:
export IAM_TOKEN="<IAM_token>"
-
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Below, we assume the repository contents are stored in the
~/cloudapi/
directory. -
Create a file named
body.json
and paste the following code into it:{ "cluster_id": "<cluster_ID>", "update_mask": "<list_of_parameters_to_update>", "name": "<cluster_name>", "description": "<cluster_description>", "labels": "{ <label_list> }", "deletion_protection": <deletion_protection>, "version": "<Apache_Hive™_Metastore_version>", "config_spec": { "resources": { "resource_preset_id": "<resource_configuration_ID>" } }, "service_account_id": "<service_account_ID>", "logging": { "enabled": <use_of_logging>, "folder_id": "<folder_ID>", "min_level": "<logging_level>" }, "network_spec": { "security_group_ids": [ "<list_of_security_group_IDs>" ] }, "maintenance_window": { "weekly_maintenance_window": { "day": "<day_of_week>", "hour": "<hour>" } } }
Where:
-
cluster_id
: Cluster ID. You can get it with the list of clusters in a folder. -
update_mask
: List of parameters to update as an array ofpaths[]
strings.Format for listing settings
"update_mask": { "paths": [ "<setting_1>", "<setting_2>", ... "<setting_N>" ] }
Warning
When you update a cluster, all parameters of the object you are modifying will take their defaults unless explicitly provided in the request. To avoid this, list the settings you want to change in the
update_mask
parameter.
-
name
: Cluster name. -
description
: Cluster description. -
labels
: List of labels Provide labels in"<key>": "<value>"
format. -
deletion_protection
: Enables cluster protection against accidental deletion. The possible values are:true
orfalse
. -
version
: Apache Hive™ Metastore version. -
config_spec.resources.resource_preset_id
: ID of the cluster's computing resources. The possible values are:c2-m8
: 2 vCPUs and 8 GB RAM.c2-m4
: 2 vCPUs and 4 GB RAM.
-
service_account_id
: Service account ID. -
logging
: Logging parameters:-
enabled
: Enables logging. Logs generated by Apache Hive™ Metastore components will be sent to Yandex Cloud Logging. The possible values are:true
orfalse
. -
folder_id
: Folder ID. Logs will be written to the default log group for this folder. -
log_group_id
: Custom log group ID. Logs will be written to this group.Specify either
folder_id
orlog_group_id
. -
min_level
: Minimum logging level. The possible values are:TRACE
,DEBUG
,INFO
,WARN
,ERROR
, andFATAL
.
-
-
network_spec
: Network settings:security_group_ids
: List of security group IDs.
-
maintenance_window
: Maintenance window settings (including for disabled clusters). Inmaintenance_window
, provide one of the two parameters:-
anytime
: Maintenance can take place at any time. -
weekly_maintenance_window
: Maintenance takes place once a week at the specified time:day
: Day of week, inDDD
format,MON
,TUE
,WED
,THU
,FRI
,SAT
, orSUN
.hour
: Time of day (UTC) inHH
format, from1
to24
.
-
-
-
Use the ClusterService.Update call and send the following request, e.g., via gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/metastore/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ metastore.api.cloud.yandex.net:443 \ yandex.cloud.metastore.v1.ClusterService.Update \ < body.json
-
View the server response to make sure your request was successful.
Apache® and Apache Hive™