okuyamaを運用するために知っておきたい基本的な操作

2011年10月26日(水)
岩瀬 高博

1. はじめに

前回の連載の「okuyamaを導入するまでに知っておきたいサーバリソースとの4つの関係」はいかがだったでしょうか。導入前の情報収集のお役に立てていれば幸いです。

2. 今回の内容

連載第2回となる今回の内容は、タイトルにもありますように導入後(一部導入前も含みます)の運用で肝となる、以下の3項目を重点的にご説明します。

  1. パーティションの設定
  2. 各ノードの障害検知と復旧方法
  3. バックアップの取得方法と復旧方法

それでは、順番に解説させていただきます。

パーティションの設定

前回の連載でも軽く触れたのですが、okuyamaにはパーティション機能があります。この機能はHDDのパーティションと非常に似ており、1つのokuyamaクラスターを論理的に分割し、領域を独立させる機能です。マルチテナント機能と呼ばれることもあります。この機能を使う利点は、1つのokuyamaクラスターを共有しながら、独立した空間を利用できることです。ここで言う独立とは、同一Keyの登録や、他のパーティションへのデータ更新の影響を指しています。

それではこの機能の利用方法をご説明します。まず、パーティションの設定はMasterNodeのみに行います。つまりDataNode側にはパーティションを意識した設定は行いません。それではMasterNodeの設定ファイルであるMasterNode.propertiesを見てみましょう。

図1:MasterNode.properties

上記のIsolationModeとIsolationPrefixの設定がパーティションを定義する設定です。

IsolationModeはパーティションの設定のON/OFFを行います。trueにすることでONになり、falseにすることでOFFとなります。IsolationPrefixはパーティション名です。パーティション単位でユニークな名前を定義します。また半角英数5文字で定義する必要があります。この設定を行ってMasterNodeを起動し、そのMasterNodeにClientから接続を行うとパーティションを利用できます。そして、このIsolationPrefixで定義した"PART1"文字列を別のMasterNode.propertiesに定義して起動すると、そのMasterNodeも"PART1"パーティションを利用可能になります。現在のokuyamaでは1つのMasterNoodeで複数のパーティションを使い分けることができませんので、1パーティションに最低1つのMasterNodeが必要になります。

最後に、運用におけるパーティションの考え方ですが、筆者が今までokuyamaを使って構築してきたアプリケーションではほぼ全てでパーティションを利用しています。その理由は、新しいパーティション定義を書いたMasterNodeを起動するだけでパーティションの追加が済むこと、それからパーティションを利用した場合と利用しない場合でレスポンスにほとんど影響がないことから、後からokuyamaのクラスターを共有することになった場合に、Keyの衝突などの問題を考えなくて良いことが挙げられます。

株式会社神戸デジタル・ラボ

2006年神戸デジタル・ラボに入社。企業内業務アプリケーション開発に従事。
2008年末から大規模ECサイトのアプリケーション、インフラ周りの運用に従事。
2009年末に分散Key-Value Store”okuyama”をオープンソースとして公開。
2010年から各都道府県で開催されるオープンソースカンファレンスへの出展やセミナー登壇、「NOSQL afternoon in Japan」や、「JavaCloud Meeting Kansai」での登壇といった”okuyama”の普及活動の傍ら、”okuyama”を使ったアプリケーション開発などに従事し、現在に至る。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています