griddb.github.io

— はじめに —

本書の目的

本書ではGridDB 構築テンプレート for Ansibleの設定方法について説明します。

注意事項

GridDB 構築テンプレート for AnsibleはGridDBの構築を支援するためのテンプレートです。 運用するシステムに合わせてカスタマイズして利用してください。

なお、本テンプレートを用いたGridDBの運用、動作や、Ansibleに関するお問合せは、GridDBのサポートサービスの範囲外となります。

— 概要 —

GridDB 構築テンプレート for Ansibleとは

Ansibleはアプリケーションやシステムの構築を支援するツールです。

システム構成例
システム構成例

Ansibleをインストールしたマシン (Control Node) と管理対象となるマシン (Managed Node) を事前に用意します。

Control NodeにはGridDB 構築テンプレート for Ansible (GridDB template for Ansible)、GridDBパッケージ (GridDB package)、GridDB設定ファイル (GridDB config files) を配置します。

Control NodeでAnsibleを実行すると、Managed NodeにSSHで接続し、GridDBのインストールや設定を行います。

対応するユースケース

本テンプレートは、Ansibleを用いてGridDBの初期構築、設定取得、設定変更、ノード追加を行うことを支援するテンプレートです。

クラスタ構成の接続方式は、マルチキャスト方式に対応しています。

ユースケース 説明 マルチキャスト方式
初期構築 GridDBクラスタを新規作成します。
設定取得 GridDBクラスタの設定を取得します。
設定変更 GridDBクラスタの設定を変更します。
ノード追加 GridDBクラスタにノードを追加します。

ファイル構成

本テンプレートはインストールメディアの/misc/ansible-template/ansible-template.zipに含まれています。 zipファイルを展開して利用します。

zipファイル展開後のファイル構成は以下の通りです。

ansible-template
│  initial-construction.yml (playbookファイル:初期構築)
│  get-setting.yml          (playbookファイル:設定取得)
│  change-setting.yml       (playbookファイル:設定変更)
│  add-node.yml             (playbookファイル:ノード追加)
│  
├─conf (GridDB設定ファイルを配置するディレクトリ)
│      
├─roles (playbookで実行される処理が記述されたファイル)
│  └─toshiba.griddb
│      │  
│      ├─defaults
│      │      main.yml
│      │      
│      ├─handlers
│      │      main.yml
│      │      
│      ├─meta
│      │      main.yml
│      │      
│      ├─tasks
│      │      main.yml                   (タスク一覧)
│      │      variables.yml              (タスクファイル:設定値の検証)
│      │      setup-griddb.yml           (タスクファイル:GridDBパッケージの配布、GridDBのインストール)
│      │      configure.yml              (タスクファイル:GridDB設定ファイルの配布、GridDBクラスタの再起動)
│      │      get-setting.yml            (タスクファイル:GridDB設定ファイルの取得)
│      │      detect-cluster-setting.yml (タスクファイル:GridDBクラスタの情報取得)
│      │      add-node.yml               (タスクファイル:ノードの追加)
│      │      
│      └─vars
│              main.yml
│              griddb.yml
│              
└─vars
        initial-construction.yml (変数定義ファイル:初期構築)
        get-setting.yml          (変数定義ファイル:設定取得)
        change-setting.yml       (変数定義ファイル:設定変更)
        add-node.yml             (変数定義ファイル:ノード追加)

動作環境

本テンプレートは以下の環境で動作を確認しています。

Control Node

Managed Node

本テンプレートはGridDB 5.0 Enterprise Editionで動作を確認しています。

— インストール手順 —

インストールの手順を説明します。

SSHの設定

Control NodeからManaged NodeにSSHで接続できることを確認します。

Pythonのインストール

Control NodeにPythonがインストールされていることを確認します。

Ansibleは/usr/bin/pythonを参照します。パスを確認してください。

Ansibleのインストール

Control NodeにAnsibleをインストールします。

$ sudo yum install ansible

インストールされたAnsibleのバージョンを確認します。

$ ansible --version
ansible 2.X.X

Ansibleのホームディレクトリは/etc/ansibleです。パスを確認してください。

テンプレートの設定

Control Nodeでテンプレートファイルansible-template.zipを展開し、Ansibleのホームディレクトリに配置します。

/etc/ansible
├── ansible.cfg
├── hosts
├── <playbook.yml>
├── conf
├── roles
│   └── toshiba.griddb
│       └...
└── vars
    └── <vars.yml>

Ansible設定ファイル

Ansible設定ファイルを編集し、実行ログの出力先 (log_path) を設定します。

Ansible設定ファイルは/etc/ansible/ansible.cfgです。項目名=値の形式で記述します。

/etc/ansible/ansible.cfg

[defaults]
log_path=/var/log/ansible.log

設定項目の詳細は『Ansible Documentation』を参照してください。

Ansibleの設定は、以下の順番で優先的に適用されます。 設定が適用されない場合は各ファイルを確認してください。

以上でインストールは完了です。

— 初期構築の実行手順 —

ノード3台で構成されるGridDBクラスタを作成する手順を説明します。

事前準備

初期構築
初期構築

事前にManaged Nodeのマシン3台を用意します。

構築するGridDBのクラスタ名はgriddb_cluster1とします。

クラスタを構成するノードは3台 (node1:192.168.0.101、node2:192.168.0.102、node3:192.168.0.103) とします。

初期構築とは

初期構築は以下のステップで実行されます。

ステップ 説明
1 設定値の検証
2 GridDBパッケージの配布
3 GridDBのインストール
4 GridDB設定ファイルの配布
5 GridDBクラスタの起動

インベントリファイルの編集

Control Nodeでインベントリファイルを編集します。

/etc/ansible/hosts

[local]
localhost

[griddb_cluster1]
192.168.0.101
192.168.0.102
192.168.0.103

GridDBのクラスタ名は括弧で囲み、[griddb_cluster1]と指定します。

ノード名は192.168.0.101192.168.0.102、および192.168.0.103と指定します。

インベントリファイルの詳細は、インベントリファイルを参照してください。

playbookファイルの編集

Control Nodeでplaybookファイルを編集します。

初期構築のplaybookファイルは/etc/ansible/initial-construction.ymlです。

/etc/ansible/initial-construction.yml

---
- hosts: griddb_cluster1
  become: yes
  vars_files:
    - vars/initial-construction.yml
  roles:
    - toshiba.griddb

hostsには、インベントリファイルで指定したクラスタ名griddb_cluster1を指定します。

becomeyesと指定し、接続ユーザ以外でManaged Nodeを操作することを許可します。

vars_filesには、初期構築の変数定義ファイルvars/initial-construction.ymlを指定します。

rolesには、playbookで実行される処理が格納されているtoshiba.griddbを指定します。

playbookファイルの詳細は、playbookファイルを参照してください。

変数定義ファイルの編集

Control Nodeで変数定義ファイルを編集します。

初期構築の変数定義ファイルは/etc/ansible/vars/initial-construction.ymlです。

/etc/ansible/vars/initial-construction.yml

---
env: 'on-premises'
griddb_deploy_mode: 'multicast'
griddb_package_path: '/home/griddb/5.0.0'
griddb_config_files: '/etc/ansible/conf'

envにはon-premisesと指定します。

griddb_deploy_modeには、マルチキャスト方式multicastを指定します。

griddb_package_pathには、GridDBパッケージを配置するディレクトリのパス/home/griddb/5.0.0を指定します。

griddb_config_filesには、GridDB設定ファイルを配置するディレクトリのパス/etc/ansible/confを指定します。

変数定義ファイルの詳細は、変数定義ファイルを参照してください。

GridDBパッケージの配置

GridDBパッケージをgriddb_package_pathで指定したディレクトリに配置します。

/home/griddb/5.0.0
├── griddb-ee-server-5.0.0-linux.x86_64.rpm
└── griddb-ee-client-5.0.0-linux.x86_64.rpm

GridDB設定ファイルの配置

GridDB設定ファイルを編集し、griddb_config_filesで指定したディレクトリ/etc/ansible/confに配置します。

配置するGridDB設定ファイルは、gs_cluster.json (クラスタ定義ファイル)、gs_node.json (ノード定義ファイル)、およびgridstore.conf (起動設定ファイル) の3種類です。

/etc/ansible/conf
├── gs_cluster.json (クラスタ定義ファイル)
├── gs_node.json    (ノード定義ファイル)
└── gridstore.conf  (起動設定ファイル)

クラスタ定義ファイルの編集

クラスタ定義ファイルではクラスタ名を編集します。

/etc/ansible/conf/gs_cluster.json

...
"cluster":{
  "clusterName":"griddb_cluster1",
  ...

clusterNamegriddb_cluster1を指定します。

ファイルの詳細は『GridDB 機能リファレンス』を参照してください。

ノード定義ファイルの編集

ノード定義ファイルを編集し、メモリ使用量を指定します。

/etc/ansible/conf/gs_node.json

...
"dataStore":{
  ...
  "storeMemoryLimit":"1024MB",
  ...

storeMemoryLimitには、初期値の1024MBを指定します。

ファイルの詳細は『GridDB データベース管理者ガイド』を参照してください。

起動設定ファイルの編集

サービスの起動設定ファイルを編集し、クラスタ名ノードの数を指定します。

/etc/ansible/conf/gridstore.conf

CLUSTER_NAME=griddb_cluster1
MIN_NODE_NUM=3

CLUSTER_NAMEには、クラスタ名としてgriddb_cluster1を指定します。

MIN_NODE_NUMには、ノードの数として3を指定します。

ファイルの詳細は『GridDB 運用ツールリファレンス』を参照してください。

playbookファイルの実行

Ansibleのホームディレクトリで初期構築のplaybookを実行します。

$ ansible-playbook -i hosts initial-construction.yml

— 設定取得の実行手順 —

ノード3台で構成される既存のGridDBクラスタから設定を取得する手順を説明します。

事前準備

設定取得
設定取得

GridDBクラスタgriddb_cluster1が、ノード3台 (node1:192.168.0.101、node2:192.168.0.102、node3:192.168.0.103) の構成で動作しています。

設定取得とは

設定取得は以下のステップで実行されます。

ステップ 説明
1 設定値の検証
2 GridDBクラスタの情報取得
3 GridDB設定ファイルの取得

インベントリファイルの編集

Control Nodeでインベントリファイルを編集します。

/etc/ansible/hosts

[local]
localhost

[griddb_cluster1]
192.168.0.101
192.168.0.102
192.168.0.103

GridDBのクラスタ名は括弧で囲み、[griddb_cluster1]と指定します。

ノード名は192.168.0.101192.168.0.102、および192.168.0.103と指定します。

インベントリファイルの詳細は、インベントリファイルを参照してください。

playbookファイルの編集

Control Nodeでplaybookファイルを編集します。

設定取得のplaybookファイルは/etc/ansible/get-setting.ymlです。

/etc/ansible/get-setting.yml

---
- hosts: griddb_cluster1
  become: yes
  vars_files:
    - vars/get-setting.yml
  tasks:
    - name: Get setting
      include_role:
        name: toshiba.griddb
        tasks_from: get-setting.yml

hostsには、インベントリファイルで指定したクラスタ名griddb_cluster1を指定します。

becomeyesと指定し、接続ユーザ以外でManaged Nodeを操作することを許可します。

vars_filesには、設定取得の変数定義ファイルvars/get-setting.ymlを指定します。

tasksにはplaybookで実行される処理を指定します。nameにはGet settingと指定します。

include_rolenameには、playbookで実行される処理が格納されているtoshiba.griddbを指定します。

tasks_fromにはroles/toshiba.griddb/tasks/get-setting.ymlを指定するためにget-setting.ymlと記述します。

playbookファイルの詳細は、playbookファイルを参照してください。

変数定義ファイルの編集

Control Nodeで変数定義ファイルを編集します。

設定取得の変数定義ファイルは/etc/ansible/vars/get-setting.ymlです。

/etc/ansible/vars/get-setting.yml

---
griddb_get_setting: '/etc/ansible/conf_latest'

griddb_get_settingには、ノードから取得したGridDB設定ファイルを配置するディレクトリのパス/etc/ansible/conf_latestを指定します。

変数定義ファイルの詳細は、変数定義ファイルを参照してください。

playbookファイルの実行

Ansibleのホームディレクトリで設定取得のplaybookを実行します。

$ ansible-playbook -i hosts get-setting.yml

GridDB設定ファイルの確認

griddb_get_settingで指定したディレクトリ/etc/ansible/conf_latestに、ノードから取得したGridDB設定ファイルが配置されます。

取得できるGridDB設定ファイルは、gs_cluster.json (クラスタ定義ファイル)、gs_node.json (ノード定義ファイル)、gridstore.conf (起動設定ファイル) 、およびversion.txt (GridDBバージョンファイル) の4種類です。

/etc/ansible/conf_latest
├── gs_cluster.json (クラスタ定義ファイル)
├── gs_node.json    (ノード定義ファイル)
├── gridstore.conf  (起動設定ファイル)
└── version.txt     (GridDBバージョンファイル)

— 設定変更の実行手順 —

ノード3台で構成される既存のGridDBクラスタの設定を変更する手順を説明します。

事前準備

設定変更
設定変更

GridDBクラスタgriddb_cluster1が、ノード3台 (node1:192.168.0.101、node2:192.168.0.102、node3:192.168.0.103) の構成で動作しています。

設定変更とは

設定変更は以下のステップで実行されます。

ステップ 説明
1 設定値の検証
2 GridDB設定ファイルの配布
3 GridDBクラスタの再起動

インベントリファイルの編集

Control Nodeでインベントリファイルを編集します。

/etc/ansible/hosts

[local]
localhost

[griddb_cluster1]
192.168.0.101
192.168.0.102
192.168.0.103

GridDBのクラスタ名は括弧で囲み、[griddb_cluster1]と指定します。

ノード名は192.168.0.101192.168.0.102、および192.168.0.103と指定します。

インベントリファイルの詳細は、インベントリファイルを参照してください。

playbookファイルの編集

Control Nodeでplaybookファイルを編集します。

設定変更のplaybookファイルは/etc/ansible/change-setting.ymlです。

/etc/ansible/change-setting.yml

---
- hosts: griddb_cluster1
  become: yes
  vars_files:
    - vars/change-setting.yml
  tasks:
    - name: Change setting
      include_role:
        name: toshiba.griddb
        tasks_from: configure.yml

hostsには、インベントリファイルで指定したクラスタ名griddb_cluster1を指定します。

becomeyesと指定し、接続ユーザ以外でManaged Nodeを操作することを許可します。

vars_filesには、設定変更の変数定義ファイルvars/change-setting.ymlを指定します。

tasksにはplaybookで実行される処理を指定します。nameにはChange settingと指定します。

include_rolenameには、playbookで実行される処理が格納されているtoshiba.griddbを指定します。

tasks_fromにはroles/toshiba.griddb/tasks/configure.ymlを指定するためにconfigure.ymlと記述します。

playbookファイルの詳細は、playbookファイルを参照してください。

変数定義ファイルの編集

Control Nodeで変数定義ファイルを編集します。

設定変更の変数定義ファイルは/etc/ansible/vars/change-setting.ymlです。

/etc/ansible/vars/change-setting.yml

---
griddb_config_files: '/etc/ansible/conf'

griddb_config_filesには、GridDB設定ファイルを配置するディレクトリのパス/etc/ansible/confを指定します。

変数定義ファイルの詳細は、変数定義ファイルを参照してください。

GridDB設定ファイルの配置

GridDB設定ファイルを編集し、griddb_config_filesで指定したディレクトリ/etc/ansible/confに配置します。

配置するGridDB設定ファイルは、gs_cluster.json (クラスタ定義ファイル)、gs_node.json (ノード定義ファイル)、およびgridstore.conf (起動設定ファイル) の3種類です。

/etc/ansible/conf
├── gs_cluster.json (クラスタ定義ファイル)
├── gs_node.json    (ノード定義ファイル)
└── gridstore.conf  (起動設定ファイル)

クラスタ定義ファイルの編集

クラスタ定義ファイルではクラスタ名を編集します。

/etc/ansible/conf/gs_cluster.json

...
"cluster":{
  "clusterName":"griddb_cluster1",
  ...

clusterNamegriddb_cluster1を指定します。

ファイルの詳細は『GridDB 機能リファレンス』を参照してください。

ノード定義ファイルの編集

ノード定義ファイルを編集し、メモリ使用量を指定します。

/etc/ansible/conf/gs_node.json

...
"dataStore":{
  ...
  "storeMemoryLimit":"2048MB",
  ...

storeMemoryLimitには、2048MBを指定します。

ファイルの詳細は『GridDB データベース管理者ガイド』を参照してください。

起動設定ファイルの編集

サービスの起動設定ファイルを編集し、クラスタ名ノードの数を指定します。

/etc/ansible/conf/gridstore.conf

CLUSTER_NAME=griddb_cluster1
MIN_NODE_NUM=3

CLUSTER_NAMEには、クラスタ名としてgriddb_cluster1を指定します。

MIN_NODE_NUMには、ノードの数として3を指定します。

ファイルの詳細は『GridDB 運用ツールリファレンス』を参照してください。

playbookファイルの実行

Ansibleのホームディレクトリで設定変更のplaybookを実行します。

$ ansible-playbook -i hosts change-setting.yml

— ノード追加の実行手順 —

ノード3台で構成される既存のGridDBクラスタにノード1台を追加する手順を説明します。

事前準備

ノード追加
ノード追加

GridDBクラスタgriddb_cluster1が、ノード3台 (node1:192.168.0.101、node2:192.168.0.102、node3:192.168.0.103) の構成で動作しています。

ノード1台 (node4:192.168.0.104) を追加すると、GridDBクラスタgriddb_cluster1はノード4台構成となります。

ノード追加とは

ノード追加は以下のステップで実行されます。

ステップ 説明
1 設定値の検証
2 GridDBクラスタの情報取得
3 追加ノードのグループの作成
4 追加ノードにGridDBパッケージの配布
5 追加ノードにGridDBのインストール
6 追加ノードにGridDB設定ファイルの配布
7 追加ノードの起動
8 GridDBクラスタ構成への参加 (gs_appendclusterの実行)

インベントリファイルの編集

Control Nodeでインベントリファイルを編集します。

/etc/ansible/hosts

[local]
localhost

[griddb_cluster1]
192.168.0.101
192.168.0.102
192.168.0.103
192.168.0.104

GridDBのクラスタ名は括弧で囲み、[griddb_cluster1]と指定します。

ノード名は192.168.0.101192.168.0.102192.168.0.103、および192.168.0.104と指定します。

インベントリファイルの詳細は、インベントリファイルを参照してください。

playbookファイルの編集

Control Nodeでplaybookファイルを編集します。

ノード追加のplaybookファイルは/etc/ansible/add-node.ymlです。

/etc/ansible/add-node.yml

---
- hosts: griddb_cluster1
  become: yes
  vars_files:
    - vars/add-node.yml
  tasks:
    - name: Include detect-cluster-setting.yml
      include_role:
        name: toshiba.griddb
        tasks_from: detect-cluster-setting.yml
    - name: Create new host group
      add_host:
        hostname: ""
        groups: new_nodes_for_griddb_cluster1
        griddb_deploy_mode: ""
        griddb_svc_user: ""
        griddb_svc_password: ""
        griddb_system_service_port: ""
        extra_nodes: ""
      with_items: ""
      delegate_to: 127.0.0.1
      run_once: true
- hosts: new_nodes_for_griddb_cluster1
  become: yes
  vars_files:
    - vars/add-node.yml
  tasks:
    - name: Setup new nodes
      include_role:
        name: toshiba.griddb
        tasks_from: add-node.yml

hostsには、インベントリファイルで指定したクラスタ名griddb_cluster1を指定します。

becomeyesと指定し、接続ユーザ以外でManaged Nodeを操作することを許可します。

vars_filesには、ノード追加の変数定義ファイルvars/add-node.ymlを指定します。

tasksにはplaybookで実行される処理を指定します。

include_rolenameには、playbookで実行される処理が格納されているtoshiba.griddbを指定します。

tasks_fromにはroles/toshiba.griddb/tasks/detect-cluster-setting.ymlを指定するためにdetect-cluster-setting.ymlと記述します。

次に、一時的に追加ノードのグループを作成するための設定を行います。

hostsには、new_nodes_for_griddb_cluster1を指定します。

becomeyesと指定し、接続ユーザ以外でManaged Nodeを操作することを許可します。

vars_filesには、ノード追加の変数定義ファイルvars/add-node.ymlを指定します。

tasksにはplaybookで実行される処理を指定します。

include_rolenameには、playbookで実行される処理が格納されているtoshiba.griddbを指定します。

tasks_fromにはroles/toshiba.griddb/tasks/add-node.ymlを指定するためにadd-node.ymlと記述します。

playbookファイルの詳細は、playbookファイルを参照してください。

変数定義ファイルの編集

Control Nodeで変数定義ファイルを編集します。

ノード追加の変数定義ファイルは/etc/ansible/vars/add-node.ymlです。

/etc/ansible/vars/add-node.yml

---
griddb_package_path: '/home/griddb/5.0.0'
griddb_config_files: '/etc/ansible/conf'
extra_nodes:
  - 192.168.0.104

griddb_package_pathには、GridDBパッケージを配置するディレクトリのパス/home/griddb/5.0.0を指定します。

griddb_config_filesには、GridDB設定ファイルを配置するディレクトリのパス/etc/ansible/confを指定します。

extra_nodesには、追加するノード192.168.0.104を指定します。

変数定義ファイルの詳細は、変数定義ファイルを参照してください。

GridDBパッケージの配置

GridDBパッケージをgriddb_package_pathで指定したディレクトリに配置します。

/home/griddb/5.0.0
├── griddb-ee-server-5.0.0-linux.x86_64.rpm
└── griddb-ee-client-5.0.0-linux.x86_64.rpm

GridDB設定ファイルの配置

GridDB設定ファイルを編集し、griddb_config_filesで指定したディレクトリ/etc/ansible/confに配置します。

配置するGridDB設定ファイルは、gs_cluster.json (クラスタ定義ファイル)、gs_node.json (ノード定義ファイル)、およびgridstore.conf (起動設定ファイル) の3種類です。

/etc/ansible/conf
├── gs_cluster.json (クラスタ定義ファイル)
├── gs_node.json    (ノード定義ファイル)
└── gridstore.conf  (起動設定ファイル)

クラスタ定義ファイルの編集

クラスタ定義ファイルではクラスタ名を編集します。

/etc/ansible/conf/gs_cluster.json

...
"cluster":{
  "clusterName":"griddb_cluster1",
  ...

clusterNamegriddb_cluster1を指定します。

ファイルの詳細は『GridDB 機能リファレンス』を参照してください。

ノード定義ファイルの編集

ノード定義ファイルを編集し、メモリ使用量を指定します。

/etc/ansible/conf/gs_node.json

...
"dataStore":{
  ...
  "storeMemoryLimit":"1024MB",
  ...

storeMemoryLimitには、初期値の1024MBを指定します。

ファイルの詳細は『GridDB データベース管理者ガイド』を参照してください。

起動設定ファイルの編集

サービスの起動設定ファイルを編集し、クラスタ名ノードの数を指定します。

/etc/ansible/conf/gridstore.conf

CLUSTER_NAME=griddb_cluster1
MIN_NODE_NUM=4

CLUSTER_NAMEには、クラスタ名としてgriddb_cluster1を指定します。

MIN_NODE_NUMには、ノードの数として4を指定します。

ファイルの詳細は『GridDB 運用ツールリファレンス』を参照してください。

playbookファイルの実行

Ansibleのホームディレクトリでノード追加のplaybookを実行します。

$ ansible-playbook -i hosts add-node.yml

— インベントリファイル —

インベントリファイルとは

インベントリファイルにはクラスタ構成を設定します。

クラスタ名クラスタを構成するノード名を指定します。

インベントリファイルは、Ansibleのホームディレクトリにhostsというファイル名で配置します。

/etc/ansible/hosts

[local]
localhost

[griddb_cluster1]
192.168.0.101
192.168.0.102
192.168.0.103
192.168.0.104

[griddb_cluster2]
node1
node2
node3
...

インベントリファイルのパラメータ

項目名 説明 値の設定例
クラスタ名 GridDBのクラスタ名は括弧[]で囲みます。複数のクラスタを指定する場合は、クラスタ構成の間を改行します。 [griddb_cluster1]
ノード名 ノード名はホスト名またはIPアドレスを記述します。複数のノードを指定する場合は、ノードごとに改行します。 192.168.0.101

— 変数定義ファイル —

変数定義ファイルとは

変数定義ファイルはplaybookファイルで用いる変数を指定するファイルです。YAML形式で記述します。

変数定義ファイルはAnsibleのホームディレクトリのvarsディレクトリに配置します。

/etc/ansible/vars/

---
env: 'on-premises'
griddb_deploy_mode: 'multicast'
griddb_package_path: '/home/griddb/5.0.0'
griddb_config_files: '/etc/ansible/conf'

変数定義ファイルのパラメータ

項目名 説明 値の設定例 初期構築 設定取得 設定変更 ノード追加
env GridDBクラスタを配置する環境 (on-premises) on-premises      
griddb_deploy_mode クラスタ構成の接続方式 (multicast) multicast      
griddb_package_path GridDBパッケージを配置したディレクトリのパス /home/griddb/5.0.0    
griddb_config_files GridDB設定ファイル(gs_cluster.json, gs_node.json, gridstore.conf)を配置したディレクトリのパス /etc/ansible/conf  
griddb_get_setting 設定取得でGridDB設定ファイルを配置するディレクトリのパス /etc/ansible/conf_latest      
extra_nodes GridDBクラスタに追加するノード名 (複数のノードを指定可) node4      

— playbookファイル —

playbookファイルとは

playbookファイルはAnsibleの設定ファイルです。YAML形式で記述します。

playbookファイルはAnsibleのホームディレクトリに配置します。

/etc/ansible/

---
- hosts: griddb_cluster1
  become: yes
  vars_files:
    - vars/get-setting.yml
  roles:
    - toshiba.griddb
  tasks:
    - name: Get setting
      include_role:
        name: toshiba.griddb
        tasks_from: get-setting.yml    
  environment:
    http_proxy: http://proxy.example.com:8080
    https_proxy: http://proxy.example.com:8080

playbookファイルのパラメータ

項目名 説明 値の設定例
hosts インベントリファイルで指定したクラスタ名を指定します。 griddb_cluster1
become 接続ユーザ以外でManaged Nodeを操作することを許可します。 yes
vars_files 変数定義ファイルを指定します。 vars/initial-construction.yml
roles playbookで実行される処理を指定します。 toshiba.griddb
tasks playbookで実行される複数の処理を指定します。 toshiba.griddb
environment プロキシを設定します。 http://proxy.example.com:8080

playbookの実行方法

Ansibleのホームディレクトリでplaybookを実行します。

$ ansible-playbook -i hosts <playbook.yml>

ansible-playbookコマンドで実行します。

オプション-iでインベントリファイルのhostsファイルを指定し、末尾にplaybookファイルを指定して実行します。

エラーコード

playbookの実行時に、エラーコードと共にエラーメッセージが出力されることがあります。

本テンプレートでは設定値を検証します。エラー原因と解決方法を参照し、設定値を見直してください。

|エラーコード|エラーメッセージ|エラー原因|解決方法| |-|-|-|-| |E01001|Environment is not valid. It should be on-premises or aws|envの値が不正です。|envの値を見直してください。| |E01002|Deploy mode is not valid. Deploy mode should be multicast, fixed_list or provider.|griddb_deploy_modeの値が不正です。|griddb_deploy_modeの値を見直してください。| |E01003|Path to find packages is not defined.|griddb_package_pathが未設定です。|griddb_package_pathの値を見直してください。| |E01004|Path to config files is not defined.|griddb_config_filesが未設定です。|griddb_config_filesの値を見直してください。| |E01006|Path to folder get setting is not defined.|griddb_get_settingが未設定です。|griddb_get_settingの値を見直してください。| |E02001|Cannot access RPM package(s) on control node.|griddb_package_pathに設定されているパスにGridDBパッケージが見つかりません。|GridDBパッケージをgriddb_package_pathのパスに配置してください。|

また、タスクの実行結果は、Ansibleの仕様に従ってステータス (ok/changed/unreachable/failed/skipped/rescued/ignored) で出力されます。

エラーハンドリングについては『Ansible Documentation』を参照してください。