Apache Hive™ Metastore cluster maintenance
You can manage maintenance of a Apache Hive™ Metastore cluster.
Getting a list of maintenance jobs
-
In the management console
, navigate to the relevant folder. -
Navigate to Yandex MetaData Hub.
-
In the left-hand panel, select
Metastore. -
Click the name of your cluster and select the
Maintenance tab.To view maintenance jobs with a specific status, select the status you want from the Status field above the list of maintenance jobs. To find a specific maintenance job, enter its ID or task name in the field above the list of maintenance jobs.
Getting cluster maintenance logs
- In the management console
, navigate to the relevant folder. - Navigate to Yandex MetaData Hub.
- In the left-hand panel, select
Metastore. - Click the name of your cluster and select the
Maintenance tab. - Select a maintenance job. The maintenance page will open.
- Click Task logs.
Moving scheduled maintenance
Maintenance with the Planned status is scheduled for the date and time specified in the Start date column. You can reschedule it to a new date and time as needed.
To reschedule maintenance for a new date and time:
-
In the management console
, navigate to the relevant folder. -
Navigate to Yandex MetaData Hub.
-
In the left-hand panel, select
Metastore. -
Click the name of your cluster and select the
Maintenance tab. -
Click
next to the maintenance with the Planned status and select Postpone. -
Select the reschedule type for the planned maintenance:
-
Next window: Reschedule to the next maintenance window.
-
Choose date (UTC): Reschedule to a specific date and time.
For this option, select the date and UTC time interval.
Maintenance can be postponed for a maximum of two weeks from the original scheduled date.
-
-
Click Reschedule.
Starting scheduled maintenance immediately
If you need to, you can perform a maintenance with the Planned status immediately without waiting for the time specified in the Start date column.
To run a scheduled cluster maintenance job immediately:
- In the management console
, navigate to the relevant folder. - Navigate to Yandex MetaData Hub.
- In the left-hand panel, select
Metastore. - Click the name of your cluster and select the
Maintenance tab. - In the maintenance row, click
and select Carry out now.
Configuring a maintenance window
-
In the management console
, navigate to the relevant folder. -
Navigate to Yandex MetaData Hub.
-
In the left-hand panel, select
Metastore. -
Click the name of your cluster and select the
Maintenance tab. -
Click
Configure the maintenance window in the top-right corner of the page. -
Select cluster maintenance time:
- To allow maintenance at any time, select At any time (default).
- To specify the preferred maintenance start time, select By schedule and specify the day of the week and the UTC time interval. For example, you can choose the cluster's least busy time.
Both active and stopped clusters are subject to maintenance operations. These may include installing Apache Hive™ Metastore updates and patches as well as other maintenance works.
-
Click Save.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
To configure a maintenance window:
-
See the description of the CLI command for updating cluster settings:
yc managed-metastore cluster update --help -
Configure the maintenance window:
yc managed-metastore cluster update <cluster_name_or_ID> \ --maintenance-window type=<maintenance_type>,` `day=<day_of_week>,` `hour=<sequence_number_of_hour_interval>Where:
-
<cluster_name_or_ID>: Cluster name or ID which you can get with the list of clusters in the folder. -
--maintenance-window: Maintenance window settings that apply to both running and stopped clusters. Thetypesetting defines the maintenance type:anytime: 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: Sequence number of UTC hour interval, from1to24.For example,
1stands for the interval from00:00to01:00, and5, from04:00to05:00.
-
-
-
Open the current Terraform configuration file with the infrastructure plan.
To learn how to create this file, see Creating a cluster.
For the complete list of configurable Apache Hive™ Metastore cluster fields, see this Terraform provider guide.
-
To set up a maintenance window, add the
maintenance_windowsection to the cluster description:resource "yandex_metastore_cluster" "<local_cluster_name>" { ... maintenance_window = { type = "<maintenance_type>" day = "<day_of_week>" hour = <sequence_number_of_hour_interval> } ... }Where:
-
type: Maintenance type. The possible values include:ANYTIME: Any time.WEEKLY: On a schedule.
-
day: Day of week for theWEEKLYtype, i.e.,MON,TUE,WED,THU,FRI,SAT, orSUN. -
hour: UTC hour interval for theWEEKLYtype, from1to24.For example,
1stands for the interval from00:00to01:00, and5, from04:00to05:00.
-
-
Make sure the settings are correct.
-
In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.
-
Run this command:
terraform validateTerraform will show any errors found in your configuration files.
-
-
Confirm updating the resources.
-
Run this command to view the planned changes:
terraform planIf you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.
-
If everything looks correct, apply the changes:
-
Run this command:
terraform apply -
Confirm updating the resources.
-
Wait for the operation to complete.
-
-
-
Get an IAM token for API authentication and put it into an environment variable:
export IAM_TOKEN="<IAM_token>" -
Call the Cluster.Update method, e.g., via the following cURL
request:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://metastore.api.cloud.yandex.net/managed-metastore/v1/clusters/<cluster_ID>' \ --data '{ "updateMask": "maintenanceWindow", "maintenanceWindow": { "weeklyMaintenanceWindow": { "day": "<day_of_week>", "hour": "<sequence_number_of_hour_interval>" } } }'Where:
-
<cluster_ID>: Cluster ID which you can get with the list of clusters in the folder. -
updateMask: Comma-separated string of settings to update.In this example, only the
maintenanceWindowsetting is provided.Warning
All settings of the cluster object you are modifying will be reset to their defaults unless explicitly provided in the request. To avoid this, list the settings you want to change in the
updateMaskparameter. -
maintenanceWindow: Maintenance window settings, applying to both running and stopped clusters. InmaintenanceWindow, provide one of these 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 inDDDformat, i.e.,MON,TUE,WED,THU,FRI,SAT, orSUN. -
hour: UTC hour interval, from1to24.For example,
1stands for the interval from00:00to01:00, and5, from04:00to05:00.
-
-
-
-
Check the server response to make sure your request was successful.
-
Get an IAM token for API authentication and put it into an environment variable:
export IAM_TOKEN="<IAM_token>" -
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiBelow, we assume that the repository contents reside in the
~/cloudapi/directory. -
Call the ClusterService.Update method, e.g., via the following gRPCurl
request: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 '{ "cluster_id": "<cluster_ID>", "update_mask": { "paths": [ "maintenance_window" ] }, "maintenance_window": { "weekly_maintenance_window": { "day": "<day_of_week>", "hour": "<sequence_number_of_hour_interval>" } } }' \ metastore.api.cloud.yandex.net:443 \ yandex.cloud.metastore.v1.ClusterService.Update \Where:
-
cluster_id: Cluster ID which you can get with the list of clusters in the folder. -
update_mask: List of settings to update as an array of strings (paths[]).Format for listing settings
"update_mask": { "paths": [ "<setting_1>", "<setting_2>", ... "<setting_N>" ] }In this example, only the
maintenance_windowsetting is provided.Warning
All settings of the cluster object you are modifying will be reset to their defaults unless explicitly provided in the request. To avoid this, list the settings you want to change in the
update_maskparameter. -
maintenance_window: Maintenance window settings, applying to both running and stopped clusters. Inmaintenance_window, provide one of these 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 inDDDformat, i.e.,MON,TUE,WED,THU,FRI,SAT, orSUN. -
hour: UTC hour interval, from1to24.For example,
1stands for the interval from00:00to01:00, and5, from04:00to05:00.
-
-
-
-
Check the server response to make sure your request was successful.
Apache® and Apache Hive™