riak事始め&デモ

47
Ri k事始デモ Ri事始デモ ヤフー株式会社 マーケティングソリューションカンパニー 新規事業本部 阪田 浩隆 20133122013312

Upload: yahoo

Post on 15-Jan-2015

2.222 views

Category:

Technology


6 download

DESCRIPTION

2013年3月12日(火)、Yahoo! JAPANにて、Bashoジャパン株式会社主催の「Riak Meetup Tokyo」が開催されました。その中でのYahoo! JAPANからの発表です。

TRANSCRIPT

Page 1: Riak事始め&デモ

Ri k事始め&デモRiak事始め&デモ

ヤフー株式会社

マーケティングソリューションカンパニー 新規事業本部

阪田 浩隆

2013年3月12日(火)2013年3月12日(火)

Page 2: Riak事始め&デモ

自己紹介

1Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 3: Riak事始め&デモ

氏名:阪田 浩隆(さかた ひろたか)

入社年:2004年10月

担当業務実績:担当業務実績:

- 社内認証システム開発

- ビジネス系認証システム開発

- 社内ツール系開発- 社内ツール系開発

- 分散KVS 開発・保守・運用

- オブジェクトストレージ 開発

現在:Riak開発部隊(Yahoo! JAPAN内)現在:Riak開発部隊(Yahoo! JAPAN内)

2Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 4: Riak事始め&デモ

アジェンダ

1. インストールから設定・起動まで• Riak / Riak EDS• Riak / Riak EDS

• Riak CS

2. Riak EDSを使ったデモ• コマンドラインからのデータ登録/参照• コマンドラインからのデータ登録/参照

3. どの場面で利用するのが良いのか

4. Riak CSを使ったデモウント機能を使 た動画投稿• マウント機能を使った動画投稿

3Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 5: Riak事始め&デモ

Riak / Riak EDSインストールから起動まで

• 1nodeの構築1nodeの構築• クラスタの構築

レプリケ ションの設定• レプリケーションの設定

4Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 6: Riak事始め&デモ

• 作業の流れ

• パッケージダウンロード

• インストール

設定フ イルの編集• 設定ファイルの編集

起動• 起動

5Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 7: Riak事始め&デモ

• パッケージの種類

• OSS版

•1クラスタ構成の構築が可能

有償版• 有償版

•マルチクラスタ構成の構築が可能•マルチクラスタ構成の構築が可能

6Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 8: Riak事始め&デモ

• 1nodeの構築•パッケージダウンロード

以下のサイトからダウン ド• 以下のサイトからダウンロード• http://basho.com/resources/downloads/

• お使いの環境に合わせてダウンロードしてください

7Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 9: Riak事始め&デモ

• 1nodeの構築•インストールC tOS 6の環境でインスト ルする場合CentOS 6の環境でインストールする場合

$ sudo yum install riak-1 2 1-1 el6 x86 64 rpm$ sudo yum install riak 1.2.1 1.el6.x86_64.rpm

8Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 10: Riak事始め&デモ

• 1nodeの構築•設定ファイル編集 その1

$ d i / t / i k/ fi$ sudo vi /etc/riak/app.config

ローカルに環境がある場合はロ カルに環境がある場合は、設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、IPアドレスが指定されている場合は、以下を編集

{http, [ {"127.0.0.1", 8098 } ]},↓↓

{http, [ {“独自環境のIPアドレス", 8098 } ]},

9Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 11: Riak事始め&デモ

• 1nodeの構築•設定ファイル編集 その2

$ d i / t / i k/$ sudo vi /etc/riak/vm.args

ローカルに環境がある場合はロ カルに環境がある場合は、設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、IPアドレスが指定されている場合は、以下を編集

-name [email protected]↓↓

-name riak@独自環境のIPアドレス

10Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 12: Riak事始め&デモ

• 1nodeの構築•起動

$ riak start特に、何もレスポンスはありません

•確認 その1確$ riak pingpong ← この表示が出ることを確認$

11Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 13: Riak事始め&デモ

• 1nodeの構築•確認 その2

$ sudo riak-admin member_status================================= Membership

•確認 その1

Membership =================================Status Ring Pending Node確Status Ring Pending Node---------------------------------valid 100.0% -- ‘[email protected]'---------------------------------Valid:1 / Leaving:0 / Exiting:0 / Joining:0 / Down:0

↑この表示が出ることを確認

12Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

この表示が出ることを確認

Page 14: Riak事始め&デモ

• 1nodeの構築•確認 その3

$ sudo riak-admin ring_status============= Claimant ============= Claimant: ‘riak@127 0 0 1'

•確認 その1

Claimant: [email protected]: upRing Ready: true確Ring Ready: true========= Ownership Handoff ==========No pending changes.========= Ownership Handoff ==========All nodes are up and reachable

↑この表示が出ることを確認

13Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

この表示が出ることを確認

Page 15: Riak事始め&デモ

• クラスタの構築

• 設定(コマンド)

確認

$ riak-admin cluster join riak@[IPアドレス]

• 確認$ sudo riak-admin member status$ sudo riak admin member_status

↑このコマンドで、表示確認

14Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 16: Riak事始め&デモ

• レプリケーションの設定(有償版のみ)

• 設定ファイル編集$ sudo vi /etc/riak/app.config

レプリケ シ ン設定(以下 サンプル)を追加反映レプリケーション設定(以下 サンプル)を追加反映

{riak repl [{riak_repl, [{fullsync_on_connect, true},{fullsync_interval, 360},{ y _ , },{data_root, “/var/lib/riak/riak_repl"},{queue_size, 104857600},{ di 5}{server_max_pending, 5},{client_ack_frequency, 5}

]}

15Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

]},

Page 17: Riak事始め&デモ

• レプリケーションの設定(有償版のみ)

• レプリケーション設定$ riak-repl add-listener ‘riak@自分自身のIP’

‘自分自身のIP’ 9010ンド実行後は 特に何も出力しませんコマンド実行後は、特に何も出力しません

$ riak-repl add-site ‘同期先のIP’ 9010 クラスタ名コマンド実行後は 特に何も出力しませんコマンド実行後は、特に何も出力しません

16Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 18: Riak事始め&デモ

• レプリケーションの設定(有償版のみ)

• 確認$ riak-repl status

↑↑このコマンドで、表示確認

17Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 19: Riak事始め&デモ

• レプリケーションの設定(有償版のみ)

• 同期開始$ riak-repl start-fullsyncコマンド実行後は、特に何も出力しません

18Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 20: Riak事始め&デモ

Riak EDSを使ったデモ

19Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 21: Riak事始め&デモ

• データの登録/参照

•スクリプトでのデモ

デ タの登録• データの登録

• 参照参照

20Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 22: Riak事始め&デモ

クライアント

YJTEST91YJTEST81

YJTEST82YJTEST92

レプリケーション

YJTEST83YJTEST93

YJTEST84

クラスタ2クラスタ1

21Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 23: Riak事始め&デモ

どの場面で利用するのが良いのか

22Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 24: Riak事始め&デモ

• 高速にデータアクセスさせたい場合• 集合から単一データを高速に取得したい場合

• 将来的にデータ件数/容量が増える事が確実である場合• スケ ルアウトが必須の場合• スケールアウトが必須の場合

• 運用コストを軽減したい場合システムが巨大化してしまい 運用コスト軽減を検討• システムが巨大化してしまい、運用コスト軽減を検討したい

サ バ 人件費の両方• サーバー、人件費の両方

23Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 25: Riak事始め&デモ

Riak CSRiak CSインストールから起動まで

1 d 構築• 1nodeの構築• Stanchionの構築Stanchionの構築• Riakとの接続設定

24Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 26: Riak事始め&デモ

• 作業の流れ

• Riak CS/Stanchion

•パッケージダウンロード

インスト ル•インストール

•設定ファイルの編集設定ファイルの編集

•起動

25Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 27: Riak事始め&デモ

• パッケージの種類

• 有償版のみ

26Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 28: Riak事始め&デモ

• Riak CSの構築

• 1nodeの構築

•パッケージダウンロード• 開発トライアル登録後、ダウンロードURLが案内される発 後

•インストールCentOS 6の環境でインストールする場合CentOS 6の環境でインスト ルする場合

$ sudo yum install riak-cs_1.2.0.el6.x86_64.rpm

27Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 29: Riak事始め&デモ

•設定ファイル編集

$ sudo vi /etc/riak-cs/app.config

ローカルに環境がある場合は、設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、IPアドレスが指定されている場合は、以下を編集IPアドレスが指定されている場合は、以下を編集

{cs_ip, "127.0.0.1"},↓

{cs_ip, "独自環境のIPアドレス"},

28Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 30: Riak事始め&デモ

{riak_ip, "127.0.0.1"},↓↓

{riak_ip, "独自環境のIPアドレス"},

{stanchion_ip, “127.0.0.1"},↓↓

{stanchion_ip, “独自環境のIPアドレス"},

29Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 31: Riak事始め&デモ

•設定ファイル編集$ sudo vi /etc/riak-cs/vm.args

ロ カルに環境がある場合はローカルに環境がある場合は、設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、IPアドレスが指定されている場合は、以下を編集

-name [email protected]↓↓

-name riak@独自環境のIPアドレス

30Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 32: Riak事始め&デモ

•起動

$ sudo riak-cs startok

•確認確認

$ sudo riak-cs pingpong

31Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 33: Riak事始め&デモ

• Stanchionの構築

• 1nodeの構築

•パッケージダウンロード• Riak CSと同じです

•インストール

CentOS 6の環境でインストールする場合CentOS 6の環境でインスト ルする場合

$ sudo yum install stanchion-1.0.1-1.el6.x86_64.rpm

32Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 34: Riak事始め&デモ

•設定ファイル編集

$ sudo vi /etc/stanchion/app.config

ローカルに環境がある場合は、設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、IPアドレスが指定されている場合は、以下を編集IPアドレスが指定されている場合は、以下を編集

{stanchion_ip, "127.0.0.1"},↓

{stanchion_ip, "独自環境のIPアドレス"},

33Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 35: Riak事始め&デモ

{riak_ip, "10.1.1.192"},↓↓

{riak_ip, "独自環境のIPアドレス"},

{anonymous_user_creation, false},↓

{anonymous_user_creation, true},

34Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 36: Riak事始め&デモ

•設定ファイル編集$ sudo vi /etc/stanchion/vm.args

ロ カルに環境がある場合はローカルに環境がある場合は、設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、IPアドレスが指定されている場合は、以下を編集

-name [email protected]↓↓

-name stanchion@独自環境のIPアドレス

35Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 37: Riak事始め&デモ

•起動

$ sudo stanchion startok

•確認確認

$ sudo stanchion pingpong

36Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 38: Riak事始め&デモ

• コマンドラインからの確認• 管理ユーザの作成

ト• テストファイルの配置

37Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 39: Riak事始め&デモ

Riak CSを使ったデモ

38Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 40: Riak事始め&デモ

デモの概要

アップロード • エンコード

サムネイル作成

Webサーバー(投稿)Webサーバー(閲覧画面)

• サムネイル作成

マウントAPIコール

Riak Cluster

マウントAPI ル

39Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 41: Riak事始め&デモ

実際の導入事例

40Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 42: Riak事始め&デモ

導入事例1

LOHACO(アスクル様)• LOHACO(アスクル様)

Riak CSで画像配信画像配信

41Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 43: Riak事始め&デモ

システム構成

CDN

Riak CS Riak CS

障害発生時のみ

Riak CS Cluster

Riak CS Cluster

Riak EDS Cluster 1 Riak EDS Cluster 2レプリケーション

42Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 44: Riak事始め&デモ

データ

登録件数• 登録件数

• 約20万件弱 (データ移行は3時間程度)

• ファイルの種類/サイズ

• 画像データ

• 5k~500k

• リクエスト数リクエスト数

• 450req/sec

• CDNキャッシュヒット率• CDNキャッシュヒット率

• 97%

レスポンス• レスポンス

• 10ms~80ms (CDNにキャッシュされている状態だと10ms程度)

43Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 45: Riak事始め&デモ

構築~リリースまでの期間

構成検討 各種調整(NW サ バ 調達)• 構成検討、各種調整(NW、サーバー調達)

• 1週間

• 構築&テスト・リリース

• 構築:1日

• テスト&リリース:1週間

問題になったところ問題になったところ

• データをフラットに配置したところ、

覧取得できなくな た一覧取得できなくなった

• 解決策:ディレクトリを分けてもらった

44Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 46: Riak事始め&デモ

Q&A

45Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 47: Riak事始め&デモ

ご清聴ありがとうございました

46Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止