Riak事始め&デモ

>100 Views

March 19, 13

スライド概要

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

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Ri k事始め&デモ Riak事始め&デモ ヤフー株式会社 マーケティングソリューションカンパニー 新規事業本部 阪田 浩隆 2013年3月12日(火)

2.

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

3.

氏名:阪田 浩隆(さかた ひろたか) 入社年:2004年10月 担当業務実績: - 社内認証システム開発 - ビジネス系認証システム開発 - 社内ツール系開発 - 分散KVS 開発・保守・運用 - オブジェクトストレージ 開発 現在:Riak開発部隊(Yahoo! JAPAN内) 2 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

4.

„ アジェンダ 1. インストールから設定・起動まで • Riak / Riak EDS • Riak CS 2. Riak EDSを使ったデモ • コマンドラインからのデータ登録/参照 3. どの場面で利用するのが良いのか 4. Riak CSを使ったデモ • マウント機能を使った動画投稿 ウント機能を使 た動画投稿 3 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

5.

Riak / Riak EDS インストールから起動まで • 1nodeの構築 • クラスタの構築 • レプリケーションの設定 レプリケ ションの設定 4 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

6.

• 作業の流れ • パッケージダウンロード • インストール • 設定ファイルの編集 設定フ イルの編集 • 起動 5 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

7.

• パッケージの種類 • OSS版 • 1クラスタ構成の構築が可能 • 有償版 • マルチクラスタ構成の構築が可能 6 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

8.

• 1nodeの構築 • パッケージダウンロード • 以下のサイトからダウンロード 以下のサイトからダウン ド • http://basho.com/resources/downloads/ • お使いの環境に合わせてダウンロードしてください 7 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

9.

• 1nodeの構築 • インストール C tOS 6の環境でインストールする場合 CentOS 6の環境でインスト ルする場合 $ sudo yum install riak-1 riak 1.2.1 2 1-1 1.el6.x86_64.rpm el6 x86 64 rpm 8 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

10.

• 1nodeの構築 • 設定ファイル編集 その1 $ sudo d vii / /etc/riak/app.config t / i k/ fi ローカルに環境がある場合は ロ カルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 {http, [ {"127.0.0.1", 8098 } ]}, ↓ {http, [ {“独自環境のIPアドレス", 8098 } ]}, 9 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

11.

• 1nodeの構築 • 設定ファイル編集 その2 $ sudo d vii / /etc/riak/vm.args t / i k/ ローカルに環境がある場合は ロ カルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 -name riak@127.0.0.1 ↓ -name riak@独自環境のIPアドレス 10 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

12.

• 1nodeの構築 • 起動 $ riak start 特に、何もレスポンスはありません •確 確認 その1 $ riak ping pong $ 11 ← この表示が出ることを確認 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

13.

• 1nodeの構築 • 確認 その2 $ sudo riak-admin member_status ================================= Membership ================================= •Status 確認 その1 確 Ring Pending Node --------------------------------valid 100.0% -- ‘riak@127.0.0.1' --------------------------------Valid:1 / Leaving:0 / Exiting:0 / Joining:0 / Down:0 ↑ この表示が出ることを確認 12 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

14.

• 1nodeの構築 • 確認 その3 $ sudo riak-admin ring_status ============= Claimant ============= Claimant: ‘riak@127 riak@127.0.0.1 0 0 1' Status: up •Ring 確認 確 その1 Ready: true ========= Ownership Handoff ========== No pending changes. ========= Ownership Handoff ========== All nodes are up and reachable ↑ この表示が出ることを確認 13 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

15.

• クラスタの構築 • 設定(コマンド) $ riak-admin cluster join riak@[IPアドレス] • 確認 $ sudo riak riak-admin admin member_status member status ↑ このコマンドで、表示確認 14 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

16.

• レプリケーションの設定(有償版のみ) • 設定ファイル編集 $ sudo vi /etc/riak/app.config レプリケ シ ン設定(以下 サンプル)を追加反映 レプリケーション設定(以下 {riak_repl, {riak repl [ {fullsync_on_connect, true}, {fullsync_interval, { y _ , 360}, }, {data_root, “/var/lib/riak/riak_repl"}, {queue_size, 104857600}, { {server_max_pending, di 5} 5}, {client_ack_frequency, 5} ]} ]}, 15 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

17.

• レプリケーションの設定(有償版のみ) • レプリケーション設定 $ riak-repl add-listener ‘riak@自分自身のIP’ ‘自分自身のIP’ 9010 コマンド実行後は、特に何も出力しません ンド実行後は 特に何も出力しません $ riak-repl add-site ‘同期先のIP’ 9010 クラスタ名 コマンド実行後は 特に何も出力しません コマンド実行後は、特に何も出力しません 16 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

18.

• レプリケーションの設定(有償版のみ) • 確認 $ riak-repl status ↑ このコマンドで、表示確認 17 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

19.

• レプリケーションの設定(有償版のみ) • 同期開始 $ riak-repl start-fullsync コマンド実行後は、特に何も出力しません 18 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

20.

Riak EDSを使った デモ 19 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

21.

• データの登録/参照 • スクリプトでのデモ • データの登録 デ タの登録 • 参照 20 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

22.

クライアント YJTEST81 YJTEST91 YJTEST82 YJTEST92 レプリケーション YJTEST83 YJTEST93 YJTEST84 クラスタ1 21 クラスタ2 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

23.

どの場面で利用するのが良いのか 22 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

24.

• 高速にデータアクセスさせたい場合 • 集合から単一データを高速に取得したい場合 • 将来的にデータ件数/容量が増える事 が確実である場合 • スケールアウトが必須の場合 スケ ルアウトが必須の場合 • 運用コストを軽減したい場合 • システムが巨大化してしまい システムが巨大化してしまい、運用コスト軽減を検討 運用コスト軽減を検討 したい • サーバー、人件費の両方 サ バ 人件費の両方 23 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

25.

Riak CS インストールから起動まで • 1nodeの構築 1 d 構築 • Stanchionの構築 • Riakとの接続設定 24 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

26.

• 作業の流れ • Riak CS/Stanchion • パッケージダウンロード • インストール インスト ル • 設定ファイルの編集 • 起動 25 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

27.

• パッケージの種類 • 有償版のみ 26 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

28.

• Riak CSの構築 • 1nodeの構築 • パッケージダウンロード • 開発トライアル登録後、ダウンロードURLが案内される 発 後 • インストール CentOS 6の環境でインスト 6の環境でインストールする場合 ルする場合 $ sudo yum install riak-cs_1.2.0.el6.x86_64.rpm 27 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

29.

• 設定ファイル編集 $ sudo vi /etc/riak-cs/app.config ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 {cs_ip, "127.0.0.1"}, ↓ {cs_ip, "独自環境のIPアドレス"}, 28 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

30.

{riak_ip, "127.0.0.1"}, ↓ {riak_ip, "独自環境のIPアドレス"}, {stanchion_ip, “127.0.0.1"}, ↓ {stanchion_ip, “独自環境のIPアドレス"}, 29 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

31.

• 設定ファイル編集 $ sudo vi /etc/riak-cs/vm.args ローカルに環境がある場合は、 ロ カルに環境がある場合は 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 -name riak@127.0.0.1 ↓ -name riak@独自環境のIPアドレス 30 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

32.

• 起動 $ sudo riak-cs start ok • 確認 $ sudo riak-cs ping pong 31 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

33.

• Stanchionの構築 • 1nodeの構築 • パッケージダウンロード • Riak CSと同じです • インストール CentOS 6の環境でインスト 6の環境でインストールする場合 ルする場合 $ sudo yum install stanchion-1.0.1-1.el6.x86_64.rpm 32 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

34.

• 設定ファイル編集 $ sudo vi /etc/stanchion/app.config ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 {stanchion_ip, "127.0.0.1"}, ↓ {stanchion_ip, "独自環境のIPアドレス"}, 33 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

35.

{riak_ip, "10.1.1.192"}, ↓ {riak_ip, "独自環境のIPアドレス"}, {anonymous_user_creation, false}, ↓ {anonymous_user_creation, true}, 34 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

36.

• 設定ファイル編集 $ sudo vi /etc/stanchion/vm.args ローカルに環境がある場合は、 ロ カルに環境がある場合は 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 -name stanchion@127.0.0.1 ↓ -name stanchion@独自環境のIPアドレス 35 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

37.

• 起動 $ sudo stanchion start ok • 確認 $ sudo stanchion ping pong 36 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

38.

• コマンドラインからの確認 • 管理ユーザの作成 • テストファイルの配置 ト 37 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

39.

Riak CSを使った デモ 38 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

40.

„デモの概要 アップ ロード • エンコード • サムネイル作成 Webサーバー(閲覧画面) Webサーバー(投稿) APIコール API ル マウント Riak Cluster 39 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

41.

実際の導入事例 40 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

42.

導入事例1 • LOHACO(アスクル様) Riak CSで 画像配信 41 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

43.

システム構成 CDN 障害発生時のみ Riak CS Cluster Riak EDS Cluster 1 42 Riak CS Cluster レプリケーション Riak EDS Cluster 2 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

44.

データ • 登録件数 • 約20万件弱 (データ移行は3時間程度) • ファイルの種類/サイズ • 画像データ • 5k~500k • リクエスト数 • 450req/sec • CDNキャッシュヒット率 • 97% • レスポンス • 10ms~80ms (CDNにキャッシュされている状態だと10ms程度) 43 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

45.

„構築~リリースまでの期間 • 構成検討、各種調整(NW、サーバー調達) 構成検討 各種調整(NW サ バ 調達) • 1週間 • 構築&テスト・リリース • 構築:1日 • テスト&リリース:1週間 „問題になったところ • データをフラットに配置したところ、 一覧取得できなくなった 覧取得できなくな た • 解決策:ディレクトリを分けてもらった 44 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

46.

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

47.

ご清聴ありがとうございました 46 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止