事前準備
まずAPIのバージョンを確認しましょう。
Cloudera Manager のトップ画面から、以下を開きます。
すると、以下のような表示が出ます。
以下の場合、バージョンは「v58」です。
手順
HMSのサービス名を確認する
まずはHMSのサービス名を確認します。
このサービス名が、実際に再起動をかけるコマンドで必要になるためです。
コマンド
curl -u {CMの管理者ユーザー名}:{CMの管理者パスワード} \
'http://{CMのホスト名}:{ポート}/api/{バージョン名}/clusters/{クラスタ名}/services/hive/roles/'
{}は可変項目です。可変項目の説明は以下のとおりです。
| 項目名 | 説明 | 例 |
|---|---|---|
| CMの管理者ユーザー名 | Cloudera Manager にログインする際の管理者のユーザー名です | admin |
| CMの管理者パスワード | Cloudera Manager にログインする際の管理者のパスワードです | admin |
| CMのホスト名 | Cloudera Manager のホスト名またはIPアドレスです | 10.0.0.1 |
| ポート | Cloudera Manager のポートです | 特別に設定していない限り、7180(http)または7183(https)のはずです |
| バージョン名 | 上記の手順で確認したバージョン | v58 |
| クラスタ名 | Cloudera Manager 上で管理しているクラスタ名です。 スペースは %20 に置き換えます |
Cluster 1 というクラスタ名なら、Cluster%201 |
可変項目が上記の例のとおりだとすると、コマンドは以下のようになります。
curl -u admin:admin \
'http://10.0.0.1:7180/api/v58/clusters/Cluster%201/services/hive/roles/'
結果の確認
以下のような結果が返ってきます。
{
"items" : [ {
"healthChecks" : [ ],
"maintenanceOwners" : [ ],
"name" : "hive-HIVEMETASTORE-2b4ad9fd04defda70268767c5b575665",
"type" : "HIVEMETASTORE",
"serviceRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"serviceDisplayName" : "Hive",
"serviceType" : "HIVE"
},
<中略>
"roleState" : "STARTED",
"healthSummary" : "GOOD",
<中略>
"entityStatus" : "GOOD_HEALTH",
"tags" : [ ]
},
上記の name を、次のコマンドの HMS のサービス名として指定します。
healthSummary が BAD になっていたり、Entity Status が BAD_HEALTH になっているなどの条件で、ヘルス状態を見分けることができます。
HMSを再起動する
HMSのサービス名がわかったところで、次はこのサービスを実際に再起動します。
コマンド
curl -i -v -X POST -u {CMの管理者ユーザー名}:{CMの管理者パスワード} \
'http://{CMのホスト名}:{ポート}/api/{バージョン名}/clusters/{クラスタ名}/services/hive/roles/{HMSのサービス名}/commands/restart'
curl -i -X POST \
-u {CMの管理者ユーザー名}:{CMの管理者パスワード} \
-H "Content-Type: application/json" \
-d '{"items": ["{HMSのサービス名}"]}' \
'http://{CMのホスト名}:{ポート}/api/{バージョン名}/clusters/{クラスタ名}/services/hive/roleCommands/restart'
上記の {HMSのサービス名} には、先の手順で確認したサービス名を入れます。
curl -i -X POST \
-u admin:admin \
-H "Content-Type: application/json" \
-d '{"items": ["hive-HIVEMETASTORE-2b4ad9fd04defda70268767c5b575665"]}' \
'http://10.0.0.1:7180/api/v58/clusters/Cluster%201/services/hive/roleCommands/restart'
結果の確認
正常にAPIが投げられれば、以下のような結果が返ってきます。
HTTP/1.1 200 OK
Date: Mon, 08 Jun 2026 03:42:03 GMT
<中略>
{
"errors" : [ ],
"items" : [ {
"id" : 1546338026,
"name" : "Restart",
"startTime" : "2026-06-08T03:42:03.880Z",
"active" : true,
"serviceRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"serviceDisplayName" : "Hive",
"serviceType" : "HIVE"
},
"roleRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"roleName" : "hive-HIVEMETASTORE-2b4ad9fd04defda70268767c5b575665"
}
} ]
}
上記はあくまでも、リクエストが正常に受け付けられたことを示すレスポンスです。
実際に処理が無事に完了したかどうかを確認するために、上記の "id" を使ってコマンドを投げます。
処理結果を確認する
処理の結果は、以下のコマンドで確認できます。
コマンド
curl -u {CMの管理者ユーザー名}:{CMの管理者パスワード} \
'http://{CMのホスト名}:{ポート}/api/{バージョン名}/commands/{id}'
先ほどの手順で確認した id が 1546338026 なら、以下のようなコマンドになります。
curl -u admin:admin \
'http://10.0.0.1:7180/api/v58/commands/1546338026'
結果の確認
以下のようなレスポンスが返ってくればOKです。
{
"id" : 1546338026,
"name" : "Restart",
"startTime" : "2026-06-08T03:42:03.880Z",
"endTime" : "2026-06-08T03:42:26.971Z",
"active" : false,
"success" : true,
"resultMessage" : "ロールを正常に再起動しました",
"serviceRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"serviceDisplayName" : "Hive",
"serviceType" : "HIVE"
},
"roleRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"roleName" : "hive-HIVEMETASTORE-2b4ad9fd04defda70268767c5b575665"
},
"children" : {
"items" : [ {
"id" : 1546338027,
"name" : "Stop",
"startTime" : "2026-06-08T03:42:03.880Z",
"endTime" : "2026-06-08T03:42:04.510Z",
"active" : false,
"success" : true,
"resultMessage" : "プロセスが正常に停止されました。",
"serviceRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"serviceDisplayName" : "Hive",
"serviceType" : "HIVE"
},
"roleRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"roleName" : "hive-HIVEMETASTORE-2b4ad9fd04defda70268767c5b575665"
}
}, {
"id" : 1546338029,
"name" : "Start",
"startTime" : "2026-06-08T03:42:04.581Z",
"endTime" : "2026-06-08T03:42:26.970Z",
"active" : false,
"success" : true,
"resultMessage" : "プロセスは正常に開始されました。",
"serviceRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"serviceDisplayName" : "Hive",
"serviceType" : "HIVE"
},
"roleRef" : {
"clusterName" : "Cluster 1",
"serviceName" : "hive",
"roleName" : "hive-HIVEMETASTORE-2b4ad9fd04defda70268767c5b575665"
}
} ]
},
"canRetry" : false
}

