SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
2019年7⽉25⽇
ヤフー株式会社
システム統括本部 サービスプラットフォーム本部 データベース部 NoSQL
⼭下 郁⽮
Datastax Accelerate 2019
参加報告
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
⾃⼰紹介
2
⼭下 郁⽮ 2018年ヤフー新卒⼊社
・Cassandra構築・運⽤
・Configuration Management
・監視システムの開発・検証
研究は⽣産管理、深層学習(CV)等
学⽣時代
主な業務
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
⾃⼰紹介
3
(多分)3.11.5と3.0.19でリリース予定
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Datastax Accelerate 2019
4
• 3⽇間通して1000⼈くらい︖
(専⽤アプリ内から推定)
• セッションは、OSS Cassandraの内容もあったが、
DSE(商⽤版Cassandra)を⽤いた内容も多かった
画像引⽤︓https://www.datastax.com/accelerate
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Datastax Accelerate 2019
5
オープニングイベントの様⼦
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
セッションの⼤枠
6
■ Innovating with Apache Cassandra Cassandraのチューニングや機能改善、4.0についてなど
■ Building Modern Applications アプリケーションのためのシステム設計やスキーマ設計など
■ Succeeding with Operations and Administration 運⽤保守のための最適な構成など
■ Deploying in the Cloud: Hybrid, Public, Private クラウドハイブリッドなデータベースを実現するための課題など
■ Exploring Transformational Use Cases
Cassandraを⽤いて、
商⽤アプリケーションを刷新していくユースケースなど
■ Going Beyond Core Cassandra with
Graph, Search, and Analytics
データドリブン領域でのCassandra利⽤など
■ Accelerating Transformation in the Public Sector 公共利⽤におけるCassandraのユースケースなど
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Keynote Session
7
Accelerating Innovation in a Cloud World
■ データの場所、サイズ、フォーマット…
→これらに関係なく機能するアプリこそ、現代で使われるもの
■ これらをどんなアプローチでビジネス展開、変⾰を⾏っていくか
Accelerating Development with Datastax, Cassandra, and the Cloud
■ Cassandraのこれまで、そしてこれから(4.0)について
Learning to Think Like hackers with Innovation and Creativity
■ 実は、ハッカー達がイノベーション促進している
→脆弱性を突き、技術を進化させる
■ ハッカー⽂化のクリエイティブな側⾯を受け⼊れる
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
イベント内での個⼈的トピックス①
8
The 2019 Stax Awards
画像引⽤︓https://www.datastax.com/2019/05/datastax-announces-the-2019
-stax-awards-and-partner-of-the-year-winners
Sony PlayStationが受賞
The Best Use of DataStax in a Hybrid/Multi-Cloud Environment Award
• ハイブリッドかつマルチクラウドな環境
• ⾃社DCとAWSを⽤いて数百ノードのDSEを運⽤
Ø 毎秒30万以上のread/write
Ø データ量は数⼗テラバイト
• 各種⾃動化
Ø 構築、スケールアウト、復旧
• PS4の各種コンテンツのバックボーンにDSEを採⽤
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
イベント内での個⼈的トピックス②
9
AppleのCassandra利⽤推移
2014 2019
ノード数 75000+ ?
データ量 数⼗PB ?
クラスタ数 1000+ 1000+
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
イベント内での個⼈的トピックス②
10
AppleのCassandra利⽤推移
2014 2019
ノード数 75000+ 160000+
データ量 数⼗PB 数百PB
クラスタ数 1000+ 1000+
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
セッションの⼀部紹介
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①
オンプレDSEから
クラウドDSEに引っ越しした話
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
13
Migrating 500 Nodes from Rackspace to Google Cloud with Zero Downtime
Gilberto Müller, Paul Chandler - Metronom
• 複数クラスタある
• 1クラスタは1度で移動する
• ダウンタイムは起こさない
• 91クラスタ移動した
• 6ヶ⽉かかった
• ダウンタイムは起きなかった
• ⾃動化はしたほうが良い
結
果
• DCの引っ越しをしたい
どういう⼿順で実施したのか…︖
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
14
Step1︓system系のkeyspaceのトポロジに新DCを追加する
ALTER KEYSPACE system_auth, system_schema, ...
S
S
current_dc
new_dcこの時点で新DCにノードはまだ無い
ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3
ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3, ʼnew_dcʼ : 3
seed
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
15
Step2︓新DCにノードを追加する
■ノード数は任意(現⾏DCに合わせなくて良い)
→ cluster_nameは同⼀に
→ seedsは現⾏DCのノードを指定
■system系のkeyspaceはすぐに同期される
S
S
current_dc
new_dc
同期完了
✔ system_auth
✔ system_schema
✔ dse_leases
✔ system_distributed
✔ dse_perf
✔ system_traces
✔ dse_security
接続は、まだしちゃダメ
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
16
Step3︓ユーザkeyspaceのトポロジに新DCを追加する
■このタイミングでINSERTされるデータは
ちゃんとreplicateされていく
■古いデータはまだreplicateされない
ALTER KEYSPACE user_ks
ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3
ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3, ʼnew_dcʼ : 3
S
S
current_dc
new_dc
new
new
new
new
new
new
new
接続は、まだしちゃダメ
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
17
Step4︓新DCのノードをrebuildする
■新ノードでnodetool rebuildを順番に実⾏していく
S
S
current_dc
new_dc
OK!
token range
○○○○~△△△△
token range
○○○○~△△△△
データをコピー
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
18
Step5︓現⾏DCのdecommission
■seedsを現⾏DCから新DCのノードに変更
■アプリケーションの接続先をカバー新DCに変更
■現⾏DCのノードを順次decommissionする
■全keyspaceのトロポジから現⾏DCを削除
■引っ越し完了︕
current_dc
S
S
new_dc
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
19
⾃動化フロー
ノード追加/削除とかトポロジ変更等
→puppet
Rebuildとdecommission
→jenkins
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
20
今回の引っ越しにおけるTips
ネットワークパフォーマンス
⼗分な帯域幅を︕
→今回DC間の帯域幅は14.7Gbpsだったらしい(?)
ヒープサイズ
データのストリーミングとCompactionで使い果たす
GCが⽌まる⼼配はないよ︕
ヒープサイズは増やせるよ︕
Compaction
Compactionはラグるよ︕
⼩さいSSTableがめっちゃ出来るよ︕
Compactionのスループットは上げよう︕
ストリーミングスループット
必要なら下げよう︕
→今回はDC間のスループットを下げたらしい
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その①︓オンプレからクラウドに引っ越しした話
21
■クラスタの分離をする時
■non-trivialな設定をアップデートする時(num_token等)
■OSアップデート時
この⼿法は引っ越し以外でも使える
このセッションの締め
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②
Cassandra4.0の新機能
トラフィックキャプチャ
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
23
Cassandraのトラフィックキャプチャは何故必要か︖
テスト デバッグ シャドウィング
Live Traffic Caputure and Replay in Cassandra 4.0
Vinay Chella - Netflix
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
24
これまでのアプローチ
tcpdump, cqltrace, wireshark, …
■ディスクを圧迫する
■カスタムバイナリプロトコルの分析が⼤変
■ネットワークレベルでトラフィックを複製するのは困難
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
25
Cassandraのトラフィックキャプチャに必要なもの
■全てのリクエストを記録
■全てのリクエストを再利⽤・リプレイ
■記録したトレースをいつでも再利⽤
■トレーシングをいつでも開始/停⽌できる
■パフォーマンスに影響を与えないこと
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
26
BinLog
■OpenHFTのChronicle-Queueを採⽤
■No GC - Off heap
■⾼速で低コストなロギング
■リングバッファを採⽤
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
27
Full Query Logging(FQL)
■BinLogベース
■全てのCQLリクエストを記録
■⾼パフォーマンス
■バイナリフォーマット出⼒
■リーダブルなfqltool
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
28
How to use …?
nodetool enablefullquerylog --path /path/to/fqllog
ロギングが始まる
nodetool disablefullquerylog
ロギングが⽌まる
nodetool resetfullquerylog
ログを消す
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
29
How to use …?
fqltool dump --path /path/to/fqllog
取ったログをdump
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
30
How to use …?
fqltool replay –target <node> /path/to/fqllog –store-queries /path/to/fqlreplaylog
ロギングしていたクエリを他ノードでリプレイ
(リプレイ先のログも別で保存する)
fqltool compare –queries /path/to/fqlreplaylog /path/to/fqllog
リプレイ元のクエリとリプレイ先のクエリを⽐較
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
31
テスト
デバッグ
シャドウィング
fqltool replay → fqltool compare
nodetool enablefullquerylog
nodetool enablefullquerylog → fqltool replay
✔
✔
✔
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
32
画像引⽤:https://www.slideshare.net/VinayKumarChella/live-traffic-capture-and-replay-in-cassandra-40-147315678
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
33
画像引⽤:https://www.slideshare.net/VinayKumarChella/live-traffic-capture-and-replay-in-cassandra-40-147315678
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その②︓4.0新機能- トラフィックキャプチャ
34画像引⽤: http://cassandra.apache.org/blog/2018/10/29/audit_logging_cassandra.html
補⾜
監査ログ機能もある
■(多分)FQLの後発
■FQLだけじゃ⾜りない情報をカバー
ログ関連の詳しい議論については下記JIRA参照
■CASSNADRA-12151
■CASSANDRA-13983
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③
オートスケーリング苦労話
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
36
Automation for Cassandra scaling
Serban Teodorescu - Adobe
Cassandraの⾃動化がなかなかに⾟いという話
AdobeのCassandra利⽤状況
・250TBのデータ
・150億 req/day
・34クラスタ
・500ノード以上
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
37
Cassandra構築に⽤いているもの
・AWS(パブリッククラウド)
・Terraform(インフラ構成ツール)
・Lightweight AMI(Amazonマシンイメージ)
・Puppet(構成管理ツール)
・Ansible(構成管理ツール)
Cassandra監視に⽤いているもの
・Prometheus(メトリクス収集・監視)
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
38
スケールイン/アウトにおける問題点
■たまにEC2インスタンスが⽴ち上がらない(AWS APIエラー)
■ネットワーク帯域幅が狭くてCassandra joinがメチャクチャ遅い(最⾼8時間)
■⽴ち上げ/削除直後に、たまにアラートが誤検知する
■decommissionが遅い
■とにかく諸々遅い
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
39
Cassandra死活監視における問題点
■インスタンスが追加/削除されたばかりなのに気づかず、誤アラートを出す
■誤アラートは⼀旦停⽌できるが、その間のガチアラートに気づかない
■スケーリングに時間がかかると監視⽌まりっぱなしで危険な状態に
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
40
更に…
■ノードのreplaceは⾼速だけど⾃動化してない…
→ 簡単だけど、退屈だし、頻繁だし…(週に2インスタンスのペース)
■新しいクラスタのbootstrapを100%⾃動化してない
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
41
AWXを使ったよ
そこで…
Ansible TowerのOSS版
・WebUIでplaybookを簡単管理
・実⾏結果を可視化
・ホストごとに結果を管理
・ジョブのスケジューリング
・ジョブの集中管理
・ロールベースでアクセスコントロール
・ユーザ認証
・ユーザの権限分離
・チーム作成
なにそれ︖
参考︓https://thinkit.co.jp/article/11736
なにそれ︖
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
42
なんでAWX︖
■既にplaybookを持ってるから
■時間がかかる(でもちゃんと動く)playbookは頼りないから、しっかり管理したい
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
43
アラート制御の整備
AWX
Terraform
Prometheus
tag : ignore_alert=yes or no
rule not to scrape when tag is yes
switch tag to no after Cassandra started or yes on decommission
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
44
結果
■AWX導⼊後、12クラスタをスケールイン/アウトし、87ノードを追加/削除した
→ 30時間かかるクラスタもあった
→ 2,3⽇で7クラスタのペース
■誤アラートの発⽣を防⽌した
■Cassandra replace部分をplaybook化した
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
45
AWXを導⼊してよかったこと
■⻑時間かかるplaybookも、放置できる
■AWXのサポートが⼿厚い
■playbookを集中管理できる
→ 監査できる
→ environmentのコントロールができる
→ AWSの呼び出し回数を減らせる
→ ジョブテンプレートを使ってエラーの余地を減らせる
■他のツールと統合しやすい
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その③︓オートスケーリング苦労話
46
この発表で伝えたかったこと(⾃分なりの解釈)
■ネットワーク帯域やスケーリングが遅い問題は根本解決してない
→ この辺はどうしようもないので、せめてAWXで静観できるようにした
■監視の誤検知は、どうにか⼯夫して解決した(playbook化した)
■100%⾃動化はまだできていない
→ future workにて、更なる⾃動化を〜と⾔っていたので
■これからはAWXを使って諸々解決していくつもり
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その他
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
その他のセッション
48
Glimpse of Cassandra 4.0
Vinay Chella, Netflix
■ノード間通信を改善した
■Hybrid Speculationを利⽤してSLOを満たす
■num_tokenのデフォルト値を減らした
Capacity Planning with Facebook Prophet
Pedro Vidigal, Valerie Parham-Thompson, Pythian
■Cassandraのキャパプラにおいて、compactionを考慮したリソース管理が必要
■明確に定義されたパフォーマンス要件が必要
■何が⾒えてどこに⾏く必要があるか、に基づいてリソースを調整を繰り返す
■Facebook Prophetを⽤いてシーズナルな影響やヒストリカルなデータを扱う
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
総括
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
総括 - イベントの感想 -
50
著しいクラウド化
運⽤の苦しみから少しでも逃れられるように
※オンプレとのハイブリッドも推されているので、⼀概には⾔えないけど…
やっぱり⾃動化は難しい
特に、⼤規模運⽤してしまっている所では…
スケールアウトしてこそのCassandra
テックジャイアントと呼ばれる企業は、バシバシスケールアウトして⼤規模化
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
EOP

Weitere ähnliche Inhalte

Was ist angesagt?

Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo!デベロッパーネットワーク
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo!デベロッパーネットワーク
 

Was ist angesagt? (20)

変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
 
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
 
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
 
Introduction new features in Spark 3.0
Introduction new features in Spark 3.0Introduction new features in Spark 3.0
Introduction new features in Spark 3.0
 
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
 
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
 
hscj2019_ishizaki_public
hscj2019_ishizaki_publichscj2019_ishizaki_public
hscj2019_ishizaki_public
 
VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~
VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~
VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~
 
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
 
Hadoop最新事情とHortonworks Data Platform
Hadoop最新事情とHortonworks Data PlatformHadoop最新事情とHortonworks Data Platform
Hadoop最新事情とHortonworks Data Platform
 
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
Deep Learning on Rescale - Oct/11/2016 at Rescale night
Deep Learning on Rescale - Oct/11/2016 at Rescale nightDeep Learning on Rescale - Oct/11/2016 at Rescale night
Deep Learning on Rescale - Oct/11/2016 at Rescale night
 

Ähnlich wie Participation report of data stax accelerate 2019

20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
samemoon
 
repositoryパターンを維持しながら n+1問題を起こさないようにする方法論
repositoryパターンを維持しながら n+1問題を起こさないようにする方法論repositoryパターンを維持しながら n+1問題を起こさないようにする方法論
repositoryパターンを維持しながら n+1問題を起こさないようにする方法論
智也 鈴木
 

Ähnlich wie Participation report of data stax accelerate 2019 (20)

Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit group
 
Struggle against crossdomain data complexity in Recruit Group
Struggle against crossdomain data complexity in Recruit GroupStruggle against crossdomain data complexity in Recruit Group
Struggle against crossdomain data complexity in Recruit Group
 
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
 
IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
20131019 OSC@Tokyo CloudStackユーザー会
20131019 OSC@Tokyo CloudStackユーザー会20131019 OSC@Tokyo CloudStackユーザー会
20131019 OSC@Tokyo CloudStackユーザー会
 
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
 
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組みYahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組み
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
repositoryパターンを維持しながら n+1問題を起こさないようにする方法論
repositoryパターンを維持しながら n+1問題を起こさないようにする方法論repositoryパターンを維持しながら n+1問題を起こさないようにする方法論
repositoryパターンを維持しながら n+1問題を起こさないようにする方法論
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下
 

Participation report of data stax accelerate 2019

  • 1. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 2019年7⽉25⽇ ヤフー株式会社 システム統括本部 サービスプラットフォーム本部 データベース部 NoSQL ⼭下 郁⽮ Datastax Accelerate 2019 参加報告
  • 2. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ⾃⼰紹介 2 ⼭下 郁⽮ 2018年ヤフー新卒⼊社 ・Cassandra構築・運⽤ ・Configuration Management ・監視システムの開発・検証 研究は⽣産管理、深層学習(CV)等 学⽣時代 主な業務
  • 3. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ⾃⼰紹介 3 (多分)3.11.5と3.0.19でリリース予定
  • 4. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Datastax Accelerate 2019 4 • 3⽇間通して1000⼈くらい︖ (専⽤アプリ内から推定) • セッションは、OSS Cassandraの内容もあったが、 DSE(商⽤版Cassandra)を⽤いた内容も多かった 画像引⽤︓https://www.datastax.com/accelerate
  • 5. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Datastax Accelerate 2019 5 オープニングイベントの様⼦
  • 6. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. セッションの⼤枠 6 ■ Innovating with Apache Cassandra Cassandraのチューニングや機能改善、4.0についてなど ■ Building Modern Applications アプリケーションのためのシステム設計やスキーマ設計など ■ Succeeding with Operations and Administration 運⽤保守のための最適な構成など ■ Deploying in the Cloud: Hybrid, Public, Private クラウドハイブリッドなデータベースを実現するための課題など ■ Exploring Transformational Use Cases Cassandraを⽤いて、 商⽤アプリケーションを刷新していくユースケースなど ■ Going Beyond Core Cassandra with Graph, Search, and Analytics データドリブン領域でのCassandra利⽤など ■ Accelerating Transformation in the Public Sector 公共利⽤におけるCassandraのユースケースなど
  • 7. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Keynote Session 7 Accelerating Innovation in a Cloud World ■ データの場所、サイズ、フォーマット… →これらに関係なく機能するアプリこそ、現代で使われるもの ■ これらをどんなアプローチでビジネス展開、変⾰を⾏っていくか Accelerating Development with Datastax, Cassandra, and the Cloud ■ Cassandraのこれまで、そしてこれから(4.0)について Learning to Think Like hackers with Innovation and Creativity ■ 実は、ハッカー達がイノベーション促進している →脆弱性を突き、技術を進化させる ■ ハッカー⽂化のクリエイティブな側⾯を受け⼊れる
  • 8. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. イベント内での個⼈的トピックス① 8 The 2019 Stax Awards 画像引⽤︓https://www.datastax.com/2019/05/datastax-announces-the-2019 -stax-awards-and-partner-of-the-year-winners Sony PlayStationが受賞 The Best Use of DataStax in a Hybrid/Multi-Cloud Environment Award • ハイブリッドかつマルチクラウドな環境 • ⾃社DCとAWSを⽤いて数百ノードのDSEを運⽤ Ø 毎秒30万以上のread/write Ø データ量は数⼗テラバイト • 各種⾃動化 Ø 構築、スケールアウト、復旧 • PS4の各種コンテンツのバックボーンにDSEを採⽤
  • 9. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. イベント内での個⼈的トピックス② 9 AppleのCassandra利⽤推移 2014 2019 ノード数 75000+ ? データ量 数⼗PB ? クラスタ数 1000+ 1000+
  • 10. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. イベント内での個⼈的トピックス② 10 AppleのCassandra利⽤推移 2014 2019 ノード数 75000+ 160000+ データ量 数⼗PB 数百PB クラスタ数 1000+ 1000+
  • 11. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. セッションの⼀部紹介
  • 12. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その① オンプレDSEから クラウドDSEに引っ越しした話
  • 13. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 13 Migrating 500 Nodes from Rackspace to Google Cloud with Zero Downtime Gilberto Müller, Paul Chandler - Metronom • 複数クラスタある • 1クラスタは1度で移動する • ダウンタイムは起こさない • 91クラスタ移動した • 6ヶ⽉かかった • ダウンタイムは起きなかった • ⾃動化はしたほうが良い 結 果 • DCの引っ越しをしたい どういう⼿順で実施したのか…︖
  • 14. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 14 Step1︓system系のkeyspaceのトポロジに新DCを追加する ALTER KEYSPACE system_auth, system_schema, ... S S current_dc new_dcこの時点で新DCにノードはまだ無い ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3 ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3, ʼnew_dcʼ : 3 seed
  • 15. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 15 Step2︓新DCにノードを追加する ■ノード数は任意(現⾏DCに合わせなくて良い) → cluster_nameは同⼀に → seedsは現⾏DCのノードを指定 ■system系のkeyspaceはすぐに同期される S S current_dc new_dc 同期完了 ✔ system_auth ✔ system_schema ✔ dse_leases ✔ system_distributed ✔ dse_perf ✔ system_traces ✔ dse_security 接続は、まだしちゃダメ
  • 16. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 16 Step3︓ユーザkeyspaceのトポロジに新DCを追加する ■このタイミングでINSERTされるデータは ちゃんとreplicateされていく ■古いデータはまだreplicateされない ALTER KEYSPACE user_ks ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3 ʻclassʼ : ʼNetworkTopologyStrategyʼ, ʻcurrent_dcʼ : 3, ʼnew_dcʼ : 3 S S current_dc new_dc new new new new new new new 接続は、まだしちゃダメ
  • 17. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 17 Step4︓新DCのノードをrebuildする ■新ノードでnodetool rebuildを順番に実⾏していく S S current_dc new_dc OK! token range ○○○○~△△△△ token range ○○○○~△△△△ データをコピー
  • 18. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 18 Step5︓現⾏DCのdecommission ■seedsを現⾏DCから新DCのノードに変更 ■アプリケーションの接続先をカバー新DCに変更 ■現⾏DCのノードを順次decommissionする ■全keyspaceのトロポジから現⾏DCを削除 ■引っ越し完了︕ current_dc S S new_dc
  • 19. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 19 ⾃動化フロー ノード追加/削除とかトポロジ変更等 →puppet Rebuildとdecommission →jenkins
  • 20. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 20 今回の引っ越しにおけるTips ネットワークパフォーマンス ⼗分な帯域幅を︕ →今回DC間の帯域幅は14.7Gbpsだったらしい(?) ヒープサイズ データのストリーミングとCompactionで使い果たす GCが⽌まる⼼配はないよ︕ ヒープサイズは増やせるよ︕ Compaction Compactionはラグるよ︕ ⼩さいSSTableがめっちゃ出来るよ︕ Compactionのスループットは上げよう︕ ストリーミングスループット 必要なら下げよう︕ →今回はDC間のスループットを下げたらしい
  • 21. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その①︓オンプレからクラウドに引っ越しした話 21 ■クラスタの分離をする時 ■non-trivialな設定をアップデートする時(num_token等) ■OSアップデート時 この⼿法は引っ越し以外でも使える このセッションの締め
  • 22. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その② Cassandra4.0の新機能 トラフィックキャプチャ
  • 23. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 23 Cassandraのトラフィックキャプチャは何故必要か︖ テスト デバッグ シャドウィング Live Traffic Caputure and Replay in Cassandra 4.0 Vinay Chella - Netflix
  • 24. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 24 これまでのアプローチ tcpdump, cqltrace, wireshark, … ■ディスクを圧迫する ■カスタムバイナリプロトコルの分析が⼤変 ■ネットワークレベルでトラフィックを複製するのは困難
  • 25. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 25 Cassandraのトラフィックキャプチャに必要なもの ■全てのリクエストを記録 ■全てのリクエストを再利⽤・リプレイ ■記録したトレースをいつでも再利⽤ ■トレーシングをいつでも開始/停⽌できる ■パフォーマンスに影響を与えないこと
  • 26. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 26 BinLog ■OpenHFTのChronicle-Queueを採⽤ ■No GC - Off heap ■⾼速で低コストなロギング ■リングバッファを採⽤
  • 27. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 27 Full Query Logging(FQL) ■BinLogベース ■全てのCQLリクエストを記録 ■⾼パフォーマンス ■バイナリフォーマット出⼒ ■リーダブルなfqltool
  • 28. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 28 How to use …? nodetool enablefullquerylog --path /path/to/fqllog ロギングが始まる nodetool disablefullquerylog ロギングが⽌まる nodetool resetfullquerylog ログを消す
  • 29. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 29 How to use …? fqltool dump --path /path/to/fqllog 取ったログをdump
  • 30. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 30 How to use …? fqltool replay –target <node> /path/to/fqllog –store-queries /path/to/fqlreplaylog ロギングしていたクエリを他ノードでリプレイ (リプレイ先のログも別で保存する) fqltool compare –queries /path/to/fqlreplaylog /path/to/fqllog リプレイ元のクエリとリプレイ先のクエリを⽐較
  • 31. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 31 テスト デバッグ シャドウィング fqltool replay → fqltool compare nodetool enablefullquerylog nodetool enablefullquerylog → fqltool replay ✔ ✔ ✔
  • 32. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 32 画像引⽤:https://www.slideshare.net/VinayKumarChella/live-traffic-capture-and-replay-in-cassandra-40-147315678
  • 33. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 33 画像引⽤:https://www.slideshare.net/VinayKumarChella/live-traffic-capture-and-replay-in-cassandra-40-147315678
  • 34. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その②︓4.0新機能- トラフィックキャプチャ 34画像引⽤: http://cassandra.apache.org/blog/2018/10/29/audit_logging_cassandra.html 補⾜ 監査ログ機能もある ■(多分)FQLの後発 ■FQLだけじゃ⾜りない情報をカバー ログ関連の詳しい議論については下記JIRA参照 ■CASSNADRA-12151 ■CASSANDRA-13983
  • 35. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③ オートスケーリング苦労話
  • 36. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 36 Automation for Cassandra scaling Serban Teodorescu - Adobe Cassandraの⾃動化がなかなかに⾟いという話 AdobeのCassandra利⽤状況 ・250TBのデータ ・150億 req/day ・34クラスタ ・500ノード以上
  • 37. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 37 Cassandra構築に⽤いているもの ・AWS(パブリッククラウド) ・Terraform(インフラ構成ツール) ・Lightweight AMI(Amazonマシンイメージ) ・Puppet(構成管理ツール) ・Ansible(構成管理ツール) Cassandra監視に⽤いているもの ・Prometheus(メトリクス収集・監視)
  • 38. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 38 スケールイン/アウトにおける問題点 ■たまにEC2インスタンスが⽴ち上がらない(AWS APIエラー) ■ネットワーク帯域幅が狭くてCassandra joinがメチャクチャ遅い(最⾼8時間) ■⽴ち上げ/削除直後に、たまにアラートが誤検知する ■decommissionが遅い ■とにかく諸々遅い
  • 39. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 39 Cassandra死活監視における問題点 ■インスタンスが追加/削除されたばかりなのに気づかず、誤アラートを出す ■誤アラートは⼀旦停⽌できるが、その間のガチアラートに気づかない ■スケーリングに時間がかかると監視⽌まりっぱなしで危険な状態に
  • 40. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 40 更に… ■ノードのreplaceは⾼速だけど⾃動化してない… → 簡単だけど、退屈だし、頻繁だし…(週に2インスタンスのペース) ■新しいクラスタのbootstrapを100%⾃動化してない
  • 41. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 41 AWXを使ったよ そこで… Ansible TowerのOSS版 ・WebUIでplaybookを簡単管理 ・実⾏結果を可視化 ・ホストごとに結果を管理 ・ジョブのスケジューリング ・ジョブの集中管理 ・ロールベースでアクセスコントロール ・ユーザ認証 ・ユーザの権限分離 ・チーム作成 なにそれ︖ 参考︓https://thinkit.co.jp/article/11736 なにそれ︖
  • 42. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 42 なんでAWX︖ ■既にplaybookを持ってるから ■時間がかかる(でもちゃんと動く)playbookは頼りないから、しっかり管理したい
  • 43. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 43 アラート制御の整備 AWX Terraform Prometheus tag : ignore_alert=yes or no rule not to scrape when tag is yes switch tag to no after Cassandra started or yes on decommission
  • 44. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 44 結果 ■AWX導⼊後、12クラスタをスケールイン/アウトし、87ノードを追加/削除した → 30時間かかるクラスタもあった → 2,3⽇で7クラスタのペース ■誤アラートの発⽣を防⽌した ■Cassandra replace部分をplaybook化した
  • 45. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 45 AWXを導⼊してよかったこと ■⻑時間かかるplaybookも、放置できる ■AWXのサポートが⼿厚い ■playbookを集中管理できる → 監査できる → environmentのコントロールができる → AWSの呼び出し回数を減らせる → ジョブテンプレートを使ってエラーの余地を減らせる ■他のツールと統合しやすい
  • 46. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その③︓オートスケーリング苦労話 46 この発表で伝えたかったこと(⾃分なりの解釈) ■ネットワーク帯域やスケーリングが遅い問題は根本解決してない → この辺はどうしようもないので、せめてAWXで静観できるようにした ■監視の誤検知は、どうにか⼯夫して解決した(playbook化した) ■100%⾃動化はまだできていない → future workにて、更なる⾃動化を〜と⾔っていたので ■これからはAWXを使って諸々解決していくつもり
  • 47. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その他
  • 48. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. その他のセッション 48 Glimpse of Cassandra 4.0 Vinay Chella, Netflix ■ノード間通信を改善した ■Hybrid Speculationを利⽤してSLOを満たす ■num_tokenのデフォルト値を減らした Capacity Planning with Facebook Prophet Pedro Vidigal, Valerie Parham-Thompson, Pythian ■Cassandraのキャパプラにおいて、compactionを考慮したリソース管理が必要 ■明確に定義されたパフォーマンス要件が必要 ■何が⾒えてどこに⾏く必要があるか、に基づいてリソースを調整を繰り返す ■Facebook Prophetを⽤いてシーズナルな影響やヒストリカルなデータを扱う
  • 49. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 総括
  • 50. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 総括 - イベントの感想 - 50 著しいクラウド化 運⽤の苦しみから少しでも逃れられるように ※オンプレとのハイブリッドも推されているので、⼀概には⾔えないけど… やっぱり⾃動化は難しい 特に、⼤規模運⽤してしまっている所では… スケールアウトしてこそのCassandra テックジャイアントと呼ばれる企業は、バシバシスケールアウトして⼤規模化
  • 51. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. EOP