クラスタ(ClusterManagement)

クラスタ再起動

指定したクラスタを再起動します。

リクエスト情報

シンタックス

PUT /v1/{cluster name}?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {signature string}
{
  "force": {force},
  "type": "{cluster type}",
  "debug": {debug}
}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストボディ

この操作では以下のリクエストボディを使用します。

表. クラスタ再起動 リクエストボディ一覧
名前 説明 必須
force
trueに指定された場合、クエリ実行中でも強制的に再起動します。
型: Boolean
デフォルト値: false
type
クラスタタイプを指定された値にして再起動します。
型: String
デフォルト値: DAG5-Hive-Hadoop
debug
アプリケーションログのレベルを指定された値に設定して再起動します。
型: Boolean
デフォルト値: false
注意が必要な操作
forceをtrueとして強制的に再起動した場合、対象クラスタで実行中のクエリはerrorステータスとなります。
また、再起動するとクエリのログおよびクラスタに蓄積されたログが削除されます。
クラスタを強制的に再起動する前に、
クエリ一覧取得 APIを用いて実行中のクエリがないかどうかを確認し、
クラスタログ出力 APIを用いてクラスタログの出力を行う事をおすすめします。

レスポンス情報

レスポンスボディ

この操作はレスポンスボディを返しません。

エラー情報

この操作では以下のエラーを返します。

表. クラスタ再起動 エラーコード一覧
コード 内容 ステータス
QueryIsRunning 実行中のクエリが存在します。 400 Bad Request
InvalidClusterState 操作出来ないクラスタのステータスです。 400 Bad Request
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
InvalidClusterType クラスタタイプが不正です。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found

サンプル

クラスタを再起動するサンプル
リクエスト
PUT /v1/sampleCluster1?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 0
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 204 No Content
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Length: 0
Connection: close
Content-Type: text/plain

クラスタ一覧取得

クラスタの一覧を取得します。

リクエスト情報

シンタックス

GET /v1/?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {signature string}

リクエストパラメータ

この操作では以下のリクエストパラメータを使用します。

表. クラスタ一覧取得 リクエストパラメータ一覧
パラメータ名 説明 必須
max
レスポンスに含める最大クラスタ数

型: Integer
デフォルト値: 25
制約: 1以上100以下の数値
marker
一覧の取得開始位置を指定する文字列
クラスタ名を指定します。
orderの指定値により本項目の指定で返答される値の範囲が変わります。

orderの値がdescの場合
クラスタ名が本項目の指定値より後の情報を返します。
orderの値がascの場合
クラスタ名が本項目の指定値より前の情報を返します。

また、本項目に指定されたクラスタの情報は返答に含みません。

型: String
デフォルト値: なし
制約: 45文字以内
status
レスポンスに含めるクラスタのステータス
指定されると一致するステータスのクラスタのみレスポンスに含めます。
複数のステータスをカンマ区切りで指定する事で、複数指定できます。

型: String
デフォルト値: なし
制約: なし
type
レスポンスに含めるクラスタのタイプ

型: String
デフォルト値: なし
制約: なし
clusterName
レスポンスに含めるクラスタ名
指定された値とクラスタ名が完全に一致したクラスタの情報のみをレスポンスに含めます。
本クエリパラメータはclusterNamePrefixと同時に使用する事はできません。

型: String
デフォルト値: なし
制約: 45文字以内、clusterNamePrefixが指定されていないこと
clusterNamePrefix
レスポンスに含めるクラスタ名の接頭辞
指定された値と前方一致検索で、クラスタ名が一致したクラスタの情報のみをレスポンスに含めます。
本クエリパラメータはclusterNameと同時に使用する事はできません。

型: String
デフォルト値: なし
制約: 45文字以内、clusterNameが指定されていないこと
order
一覧の取得順序
クラスタ名をutf8コード順に昇順に並べるか、降順に並べるかを指定します。
型: String
デフォルト値: asc
制約: なし
取り得る値: ascまたはdesc

リクエストボディ

この操作ではリクエストボディは使用しません。

レスポンス情報

レスポンスボディ

この操作では以下のレスポンスボディを返します。

表. クラスタ一覧取得 レスポンスボディ一覧
名前 説明
nextMarker
レスポンスに含まれるクラスタの一覧が部分的なものだった場合に、ページングで次の一覧の開始位置を指定するクラスタ名
型: String
isTruncated
結果のクラスタの件数がmaxによって指定された数を超えているかどうか
型: Boolean
clusters
取得したクラスタの一覧
型: クラスタ情報ObjectのArray
表. クラスタ情報Objectの要素一覧
名前 説明
name
クラスタ名
型: String
status
クラスタのステータス
型: String
instances
クラスタが保持するインスタンスの情報
型: インスタンス情報ObjectのArray
表. インスタンス情報Objectの要素一覧
名前 説明
grade
インスタンスのグレード
型: String
quantity
インスタンス数
型: String

エラー情報

この操作では以下のエラーを返します。

表. クラスタ再起動 エラーコード一覧
コード 内容 ステータス
InvalidClusterName markerに指定されたクラスタ名が不正です。 400 Bad Request
InvalidMaxRange maxの値が範囲外です。 400 Bad Request
InvalidMax maxの値が不正です。 400 Bad Request
InvalidFilter 指定されたフィルタの値が不正です。 400 Bad Request

サンプル

取得するクラスタ情報の最大数を3、ステータスフィルタをnorm、昇順に並び替えた場合のサンプル
リクエスト
GET /v1/?clusterManagement&max=3&status=norm&order=asc HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 0
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 200 OK
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Type: application/json
Content-Length : 233
Connection: close
{
  "nextMarker" : "sampleCluster3",
  "isTruncated" : true,
  "clusters" : [
    {
      "name" : "sampleCluster1",
      "status" : "norm",
      "instances" : [
        {"grade" : "a-1-010", "quantity" : 40}
      ],
      "type" : "DAG5-Hive-Hadoop"
      "debug" : false
    },
    {
      "name" : "sampleCluster2",
      "status" : "norm",
      "instances" : [
        {"grade" : "a-1-010", "quantity" : 2}
      ],
      "type" : "DAG5-Hive-Hadoop"
      "debug" : false
    },
    {
      "name" : "sampleCluster3",
      "status" : "norm",
      "instances" : [
        {"grade" : "a-1-010", "quantity" : 1}
      ],
      "type" : "DAG5-Hive-Hadoop"
      "debug" : false
    }
  ]
}

クラスタ情報取得

指定したクラスタの情報を取得します。

リクエスト情報

シンタックス

GET /v1/{cluster name}?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {signature string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストボディ

この操作ではリクエストボディは使用しません。

レスポンス情報

レスポンスボディ

この操作では以下のレスポンスボディを返します。

表. クラスタ情報取得 レスポンスボディ一覧
名前 説明
name
クラスタ名
型: String
status
クラスタのステータス
型: String
instances
クラスタが保持するインスタンスの情報
型: インスタンス情報ObjectのArray
表. インスタンス情報Objectの要素一覧
名前 説明
grade
インスタンスのグレード
型: String
quantity
インスタンス数
型: String

エラー情報

この操作では以下のエラーを返します。

表. クラスタ情報取得 エラーコード一覧
コード 内容 ステータス
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found

サンプル

クラスタ名sampleCluster1のクラスタ情報を取得するサンプル
リクエスト
GET /v1/sampleCluster1?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 0
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 200 OK
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Type: application/json
Content-Length : 233
Connection: close
{
  "name" : "sampleCluster1",
  "status" : "norm",
  "type" : "DAG5-Hive-Hadoop"
  "instances" : [
    {"grade" : "a-1-010", "quantity" : 40}
  ],
  "debug" : false
}

クラスタ統計情報取得

指定したクラスタの統計情報を取得します。

リクエスト情報

シンタックス

GET /v1/{cluster name}/statistics?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {signature string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストボディ

この操作ではリクエストボディは使用しません。

レスポンス情報

レスポンスボディ

この操作では以下のレスポンスボディを返します。

表. クラスタ統計情報取得 レスポンスボディ一覧
名前 説明
name
クラスタ名
型: String
type
クラスタのタイプ
型: String
disk
クラスタが持つディスクの情報
型: クラスタストレージ情報Object
instances
インスタンス個別の統計情報のリスト
型: インスタンス統計情報ObjectのArray
表. クラスタストレージ情報Objectの要素一覧
名前 説明
used
ディスクの総使用量
型: Integer
単位: Byte
capacity
ディスクの総容量
型: Integer
単位: Byte
表. インスタンス統計情報Objectの要素一覧
名前 説明
instanceId
インスタンスを一意に識別するためのID
クラスタ内のインスタンスはIDによって識別可能です。
本APIを複数回実行し得られたレスポンスのうち、同一IDのインスタンスは必ず同一の実体を表します。

型: Integer
grade
インスタンスのグレード
インスタンスのグレード値です。

型: String
disk
インスタンスが持つディスクの情報
型: インスタンスストレージ情報Object
表. インスタンスストレージ情報Objectの要素一覧
名前 説明
dfsUsed
HDFSが使用しているディスク容量
型: Integer
nonDfsUsed
HDFS以外で使用しているディスク容量
型: Integer
capacity
インスタンスの総ディスク容量
インスタンスの総ディスク容量は、 dfsUsed + nonDfsUsed + 未使用量で表されます。

型: Integer

エラー情報

この操作では以下のエラーを返します。

表. クラスタ統計情報取得 エラーコード一覧
コード 内容 ステータス
InvalidClusterState 操作出来ないクラスタのステータスです。 400 Bad Request
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found

サンプル

クラスタ名sampleCluster1の統計情報を取得するサンプル
リクエスト
GET /v1/sampleCluster1/statistics?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 0
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 200 OK
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Type: application/json
Content-Length : 233
Connection: close
{
  "instances": [
    {
      "instanceId": 1,
      "grade" : "a-1-010",
      "disk": {
        "dfsUsed" : 10000,
        "nonDfsUsed" : 10000,
        "capacity": 1000000
      }
    },
    {
      "instanceId": 2,
      "grade" : "a-1-010",
      "disk": {
        "dfsUsed" : 10000,
        "nonDfsUsed" : 10000,
        "capacity": 1000000
      }
    }
  ],
  "disk": {
    "used": 20834459648,
    "capacity": 9600034189312
  },
  "type": "DAG5-Hive-Hadoop",
  "name": "sampleCluster1"
}

クラスタログ出力

指定したクラスタのアプリケーションログファイルをストレージにアップロードします。
アップロードされるファイルはクラスタタイプにより異なります。

本APIは1つのクラスタにつき同時に1つまで実行できます。
クラスタが長時間動作していると、実行に時間がかかる事があります。

リクエスト情報

シンタックス

PUT /v1/{cluster name}/log?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {signature string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストボディ

この操作では以下のリクエストボディを使用します。

表. クラスタ一覧取得 リクエストボディ一覧
パラメータ名 説明 必須
outputLogPath
出力先のストレージパスをURIで指定します。
既に同名のオブジェクトが存在する場合はログアップロードに失敗し、StorageAccessErrorが返されます。
型: String
compress
アップロードするログファイルを圧縮するかどうか指定します。
trueの場合はtarアーカイブをgzip形式にて圧縮します。
型: Boolean
デフォルト値: false

レスポンス情報

レスポンスボディ

この操作はレスポンスボディを返しません。

エラー情報

この操作では以下のエラーを返します。

表. クラスタログ出力 エラーコード一覧
コード 内容 ステータス
ExportLogIsAlreadyRunning 指定されたクラスタでログ出力を既に実行中です。 400 Bad Request
InvalidClusterState 操作出来ないクラスタのステータスです。 400 Bad Request
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
InvalidOutputResourcePath 指定された出力先ストレージパスが不正です。 400 Bad Request
StorageAccessError ストレージへのアクセスに失敗しました。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found

サンプル

クラスタ名sampleCluster1のクラスタログを圧縮してtestバケットの/log/sampleCluster1に出力するサンプル
リクエスト
PUT /v1/sampleCluster1/log?clusterManagement HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 75
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
{
  "compress" : false,
  "outputLogPath" : "dag://test/log/sampleCluster1/"
}
レスポンス
HTTP/1.1 204 No Content
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Type: text/plain
Content-Length : 0
Connection: close

ページ先頭へ