O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Riak事始め&デモ

4.251 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Riak事始め&デモ

  1. 1. Riak事始め&デモ Ri k事始め&デモ ヤフー株式会社マーケティングソリューションカンパニー 新規事業本部 阪田 浩隆 2013年3月12日(火)
  2. 2. 自己紹介1 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  3. 3. 氏名:阪田 浩隆(さかた ひろたか) 入社年:2004年10月 担当業務実績: - 社内認証システム開発 - ビジネス系認証システム開発 - 社内ツール系開発 - 分散KVS 開発・保守・運用 - オブジェクトストレージ 開発 現在:Riak開発部隊(Yahoo! JAPAN内)2 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  4. 4. アジェンダ 1. インストールから設定・起動まで • Riak / Riak EDS • Riak CS 2. Riak EDSを使ったデモ • コマンドラインからのデータ登録/参照 3. どの場面で利用するのが良いのか 4. Riak CSを使ったデモ • マウント機能を使った動画投稿 ウント機能を使 た動画投稿3 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  5. 5. Riak / Riak EDS インストールから起動まで • 1nodeの構築 • クラスタの構築 • レプリケ ションの設定 レプリケーションの設定4 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  6. 6. • 作業の流れ • パッケージダウンロード • インストール • 設定フ イルの編集 設定ファイルの編集 • 起動5 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  7. 7. • パッケージの種類 • OSS版 • 1クラスタ構成の構築が可能 • 有償版 • マルチクラスタ構成の構築が可能6 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  8. 8. • 1nodeの構築 • パッケージダウンロード • 以下のサイトからダウン 以下のサイトからダウンロード ド • http://basho.com/resources/downloads/ • お使いの環境に合わせてダウンロードしてください7 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  9. 9. • 1nodeの構築 • インストール CentOS 6の環境でインストールする場合 C tOS 6の環境でインスト ルする場合 $ sudo yum install riak-1 2 1-1 el6 x86 64 rpm riak 1.2.1 1.el6.x86_64.rpm8 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  10. 10. • 1nodeの構築 • 設定ファイル編集 その1 $ sudo vi / t / i k/ d i /etc/riak/app.config fi ロ カルに環境がある場合は、 ローカルに環境がある場合は 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 {http, [ {"127.0.0.1", 8098 } ]}, ↓ {http, [ {“独自環境のIPアドレス", 8098 } ]},9 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  11. 11. • 1nodeの構築 • 設定ファイル編集 その2 $ sudo vi / t / i k/ d i /etc/riak/vm.args ロ カルに環境がある場合は、 ローカルに環境がある場合は 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 -name riak@127.0.0.1 ↓ -name riak@独自環境のIPアドレス10 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  12. 12. • 1nodeの構築 • 起動 $ riak start 特に、何もレスポンスはありません • 確認 その1 確 $ riak ping pong ← この表示が出ることを確認 $11 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  13. 13. • 1nodeの構築 • 確認 その2 $ sudo riak-admin member_status ================================= Membership ================================= •Status その1Pending Node 確 確認 Ring --------------------------------- 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. 14. • 1nodeの構築 • 確認 その3 $ sudo riak-admin ring_status ============= Claimant ============= Claimant: ‘riak@127 0 0 1 riak@127.0.0.1 Status: up 確 確認 その1 •Ring 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. 15. • クラスタの構築 • 設定(コマンド) $ riak-admin cluster join riak@[IPアドレス] • 確認 $ sudo riak-admin member status riak admin member_status ↑ このコマンドで、表示確認14 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  16. 16. • レプリケーションの設定(有償版のみ) • 設定ファイル編集 $ 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}, {server_max_pending, 5} { di 5}, {client_ack_frequency, 5} ]}, ]}15 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  17. 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. 18. • レプリケーションの設定(有償版のみ) • 確認 $ riak-repl status ↑ このコマンドで、表示確認17 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  19. 19. • レプリケーションの設定(有償版のみ) • 同期開始 $ riak-repl start-fullsync コマンド実行後は、特に何も出力しません18 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  20. 20. Riak EDSを使った デモ19 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  21. 21. • データの登録/参照 • スクリプトでのデモ • デ タの登録 データの登録 • 参照20 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  22. 22. クライアント YJTEST81 YJTEST91 YJTEST82 YJTEST92 レプリケーション YJTEST83 YJTEST93 YJTEST84 クラスタ1 クラスタ221 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  23. 23. どの場面で利用するのが良いのか22 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  24. 24. • 高速にデータアクセスさせたい場合 • 集合から単一データを高速に取得したい場合 • 将来的にデータ件数/容量が増える事 が確実である場合 • スケ ルアウトが必須の場合 スケールアウトが必須の場合 • 運用コストを軽減したい場合 • システムが巨大化してしまい 運用コスト軽減を検討 システムが巨大化してしまい、運用コスト軽減を検討 したい •サ バ サーバー、人件費の両方 人件費の両方23 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  25. 25. Riak CS インストールから起動まで • 1 d 構築 1nodeの構築 • Stanchionの構築 • Riakとの接続設定24 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  26. 26. • 作業の流れ • Riak CS/Stanchion • パッケージダウンロード • インスト ル インストール • 設定ファイルの編集 • 起動25 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  27. 27. • パッケージの種類 • 有償版のみ26 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  28. 28. • Riak CSの構築 • 1nodeの構築 • パッケージダウンロード • 開発トライアル登録後、ダウンロードURLが案内される 発 後 • インストール CentOS 6の環境でインストールする場合 6の環境でインスト ルする場合 $ sudo yum install riak-cs_1.2.0.el6.x86_64.rpm27 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  29. 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. 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. 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. 32. • 起動 $ sudo riak-cs start ok • 確認 $ sudo riak-cs ping pong31 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  33. 33. • Stanchionの構築 • 1nodeの構築 • パッケージダウンロード • Riak CSと同じです • インストール CentOS 6の環境でインストールする場合 6の環境でインスト ルする場合 $ sudo yum install stanchion-1.0.1-1.el6.x86_64.rpm32 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  34. 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. 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. 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. 37. • 起動 $ sudo stanchion start ok • 確認 $ sudo stanchion ping pong36 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  38. 38. • コマンドラインからの確認 • 管理ユーザの作成 • テストファイルの配置 ト37 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  39. 39. Riak CSを使った デモ38 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  40. 40. デモの概要 アップ ロード • エンコード • サムネイル作成 Webサーバー(閲覧画面) Webサーバー(投稿) APIコール API ル マウント Riak Cluster39 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  41. 41. 実際の導入事例40 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  42. 42. 導入事例1 • LOHACO(アスクル様) Riak CSで 画像配信41 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  43. 43. システム構成 CDN 障害発生時のみ Riak CS Riak CS Cluster Cluster レプリケーション Riak EDS Cluster 1 Riak EDS Cluster 242 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  44. 44. データ • 登録件数 • 約20万件弱 (データ移行は3時間程度) • ファイルの種類/サイズ • 画像データ • 5k~500k • リクエスト数 • 450req/sec • CDNキャッシュヒット率 • 97% • レスポンス • 10ms~80ms (CDNにキャッシュされている状態だと10ms程度)43 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  45. 45. 構築~リリースまでの期間 • 構成検討 各種調整(NW サ バ 調達) 構成検討、各種調整(NW、サーバー調達) • 1週間 • 構築&テスト・リリース • 構築:1日 • テスト&リリース:1週間 問題になったところ • データをフラットに配置したところ、 一覧取得できなくなった 覧取得できなくな た • 解決策:ディレクトリを分けてもらった44 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  46. 46. Q&A45 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  47. 47. ご清聴ありがとうございました46 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

×