CSを使って分散ストレージを構築FacebookTwitterLinePocket※この記事は公開されてから1年半以上経過しています。情報が古い可能性がありますのでご注意ください。CSを使って構築する方法を説明していきます。Dynamoを参考にして開発された分散キーバリューストアです。他の分散キーバリューストアに比べ、運用性が高く、ノードを追加してスケールアウトする操作も容易で、3コマンドで可能です。Entreprise版ではマルチデータセンターレプリケーションをサポートしており、高可用性を実現します。マルチテナント機能を有し、アクセス制限、ネットワーク使用レポート、ストレージ使用レポートを提供します。CSにはStanchionと呼ばれるアプリケーションが必要になります。Technologies社から提供されており、ユーザー名やバケット名の一意性を確認する役割を担います。インストール準備Riakではデフォルトで3ノード(ノードはサーバーと同意です)にデータをコピーします。そのため、デフォルト設定の場合は3つ以上のノードが必要になります。セルフクラウド上に以下のスペックの仮想マシンを3台準備し、分散ストレージを構築していきます。セルフクラウドの使い方はご利用ガイドを参照してください。セルフクラウドではブラウザから仮想マシンの作成、削除がお客様自身で可能であるため、Riakのノード追加、削除が容易に試せます。セルフクラウド上で構築してみてください。64bitCPU:2Memory:2GDisk:15Gそれでは実際に構築していきましょう。OS設定OSのインストール完了後、何点かOSの設定を変更する必要があります。実施対象ノード:riakdemo1、riakdemo2、riakdemo3CentOSのデフォルト設定の場合、selinuxが有効になっているためこれを無効にします。セルフクラウドで用意されているTemplateから作成した仮想マシンの場合、selinuxはデフォルトで無効になっています。SELINUX=の箇所をdisabledにします。Limitを設定します。csの起動時に警告が表示されます。ファイルの末尾に以下を追加します。65536上記設定を反映させるため、ノードの再起動を実施します。CSには無償のオープンソース版と有償のエンタープライズ版があります。有償のエンタープライズ版にはデータセンター間のレプリケーション機能やsnmpでの監視機能等がついています。今回は無償のオープンソース版をインストールします。CS、Stanchionは以下からダウンロード可能です。http://docs.basho.com/riakcs/latest/riakcs-downloads/それでは構築した仮想マシンにダウンロードを実施します。Stanchionだけは1つの仮想マシンにのみダウンロードします。CSはすべての仮想マシンにダウンロードします。今回の構成では、riakdemo1にStanchionをインストールします。http://s3.amazonaws.com/downloads.basho.com/riak-cs/1.4/1.4.0/rhel/6/riak-cs-1.4.0-1.el6.x86_64.rpmStanchion以外のダウンロードをriakdemo2、riakdemo3でも同様に行います。各ノードのIPに変更します。各ノードのIPに変更します。riak_coreセクションに以下を追加します。各ノードのIPに変更します。各ノードのIPに変更します。各ノードのIPに変更します。各ノードのIPに変更します。分散ストレージのエンドポイントとなるFQDNに変更します。各ノードのIPに変更します。riakdemo1のIPに変更します。riakdemo1に変更します。riakdemo1のIPに変更します。CSの順番になります。pongが返ってくればriakは起動しています。pongが返ってくればstanchionは起動しています。csは起動しています。作成した3台でリングを作成します。リングとはクラスタ(複数ノード)内でデータを分散し保存するためのハッシュ空間のことです。リング作成前の状態では、以下の通りリングに参加しているのは1ノード(自分自身)のみとなります。Down:0riakdemo2をriakdemo1のリングに追加します。'riak@10.2.2.211'riakdemo2がriakdemo1のリングに追加される計画を確認します。'riak@10.2.2.33'riakdemo2がriakdemo1のリングに追加される計画をコミットします。committedこの時点でriakdemo2がriakdemo1のリングに追加され、riakdemo1からriakdemo2にデータが配置されます。Down:0以下の通りPendingの箇所が「--」となった時点でデータ配置が完了し、リングへの追加が完了です。Down:0同様にriakadmin3をリングへ追加します。最終的には以下の状態になります。CS、Stanchionの設定に管理者用のアクセスキーを登録する必要があります。riakdemo1で管理者用のアクセスキーを生成します。実施対象ノード:riakdemo1以下のコマンドで管理者用のアクセスキーを作成します。URLのIP部分は実行するノードのIPを指定します。riak-cs]#作成されたkey_idとkey_secretをメモしておきます。管理者用のアクセスキー発行後、先ほど変更した設定を元に戻します。設定を戻しておかないと、誰でもkey_idとkey_secretが発行できてしまうので、注意が必要です。管理者用のアクセスキーを設定ファイルに投入します。CS、Stanchionを再起動します。~]#これで分散ストレージの構築は完了です。最後に、構築した分散ストレージをインターネット経由でつかえるようにネットワークの設定を行います。セルフクラウドには標準でグローバルIPアドレスが1つ付与されています。そのグローバルIPアドレスでのファイアウォール、ポートフォワード、ロードバランサ―設定が可能となっています。今回は以下のように設定しました。セルフクラウドでのネットワーク設定変更方法についてはご利用ガイド(ネットワーク)を参照してください。インターネット経由で接続するためのFQDN(今回の構成ではriakdemo.xxx.xxx.jp)をDNSサーバーに登録する必要があります。その際、どのサブドメインでも同じIPアドレスに変換されるようにワイルドカードを使います。今回の設定では、riakdemo.xxx.xxx.jp*.riakdemo.xxx.xxx.jpで同じIPアドレスに変換されるようにDNSサーバーへ登録します。それでは実際に構築した分散ストレージにオブジェクトをアップロードしてみましょう。API対応のアプリケーションをつかってオブジェクトを管理できます。今回はWindows上で動作するDragonDiskを使ってオブジェクトをアップロードしてみます。DragonDiskは以下からダウンロード可能です。ダウンロード完了後にexeファイルを実行し、インストールを完了させます。http://www.dragondisk.com/download-amazon-s3-client-google-cloud-storage-client.htmlインストールされたDragonDiskを起動します。「File」-「Accounts...」から新規ユーザー作成を行います。必要箇所を入力し、ユーザー作成を完了させます。作成されたユーザーを選択し、新規バケット作成を実施します。バケットはWindowsのフォルダのような位置づけになります。バケット名は分散ストレージ内で一意である必要があります。作成されたバケットに対してオブジェクトをドラッグ&ドロップすることで、以下の通りオブジェクトが分散ストレージへアップロードされます。今回はDragonDiskからの分散ストレージを利用する手順を簡単に紹介しましたが、次回はs3cmd、s3fs、s3curl等のコマンドツールを使った分散ストレージの利用方法を紹介します。テクニカルセールスグループの佐藤でした。Swarm上で、Goのアプリを動かしてみた。Modeを利用すると、クラスタリングツール...2017-04-26MastodonをIDCFクラウド上に構築してみたMastodonはTwitterライクなSNSです。Inc.▲はてなブログをはじめよう!blog-idcfさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。