Movatterモバイル変換


[0]ホーム

URL:


Cloudera Japan, profile picture
Uploaded byCloudera Japan
PPTX, PDF3,586 views

HBaseサポート最前線 #hbase_ca

2015/02/02 開催の、HBase徹底入門記念セミナーで発表した資料です。http://eventregist.com/e/2Hiwrc2WFhyuClouderaサポートチームとHBaseの関係や、推奨設定、トラブルシューティング例などを紹介しています。

Embed presentation

Downloaded 30 times
HBaseサポート最前線HBase徹底入門刊行記念セミナーDaisuke Kobayashi | Customer Operations Engineer
2© 2014 Cloudera, Inc. All rights reserved.自己紹介• 小林大輔• 2012年入社• カスタマーオペレーションズエンジニア• いわゆるカスタマーサポート• 日本国内のすべてのお客様、海外のお客様(24x7)のトラブルシューティングのお手伝い• 担当製品: HDFS, HBase, Cloudera Manager, Security, Solr etc.• email: daisuke@cloudera.com• twitter: d1ce_
3© 2014 Cloudera, Inc. All rights reserved.今日話すこと• ClouderaサポートとHBase• クラスタ構築時の注意点• HBaseトラブルシューティング例(特に断りがない限り、CDH5.2.1をベースに話します)
4© 2014 Cloudera and/or its affiliates. All rights reserved.ClouderaサポートとHBase
5© 2014 Cloudera, Inc. All rights reserved.2010年からHBaseの製品サポートを開始。トラブルシューティングから機能改善まで多くの対応を行ってきたHBaseはスケールアウトする。お客様のビジネスの発展により、総サポートノード数も増加中サポートを購入したお客様の半数以上が利用。国内でも金融、製造業、ゲーム業界のお客様をサポートHBaseサポートは5年目 総サポートノード数 HBaseの使用率5年 20000ノード60%ClouderaサポートとHBase
6© 2014 Cloudera, Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• Clouderaでは社内サポートシステムにHBaseを採用参考: https://blog.cloudera.com/blog/2012/12/secrets-of-cloudera-support-the-champagne-strategy/
7© 2014 Cloudera, Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• サポートエンジニアはまずCSIからクラスタの全体像を把握する
8© 2014 Cloudera, Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• 過去事例は調査における貴重な資源参考: http://blog.cloudera.com/blog/2013/09/secrets-of-cloudera-support-impala-and-search-make-the-customer-experience-even-better/
9© 2014 Cloudera, Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• 類似のスタックトレースを検索できる仕組みもある参考: http://blog.cloudera.com/blog/2014/02/secrets-of-cloudera-support-inside-our-own-enterprise-data-hub/
10© 2014 Cloudera and/or its affiliates. All rights reserved.クラスタ構築時の注意点
11© 2014 Cloudera, Inc. All rights reserved.クラスタ構築時の注意点• THP(Transparent Huge Page)は無効にする• 有効になっていると深刻なパフォーマンス劣化を招きます [1]• リージョン数の見積もり、モニタリングは慎重に• リージョンが多すぎるとMTTR (Mean Time to Recovery: 平均修復時間)の増加、パフォーマンス劣化につながります• HBase徹底入門を読みましょう• 2015/01時点で最新の情報が網羅されている• 実際の構築経験をベースに執筆されている[1] http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_admin_performance.html を確認
12© 2014 Cloudera, Inc. All rights reserved.適切なリージョン数の見積もりリージョンサーバヒープサイズ 10GBフラッシュサイズ (hbase.hregion.memstore.flush.size) 128MBMemstoreサイズ (hbase.regionserver.global.memstore.upperLimit) 0.4  4GBMemstoreサイズ (4GB) / フラッシュサイズ (128MB)• Memstoreサイズと書き込み量から見積もる
13© 2014 Cloudera, Inc. All rights reserved.適切なリージョン数の見積もりリージョンサーバヒープサイズ 10GBフラッシュサイズ (hbase.hregion.memstore.flush.size) 128MBMemstoreサイズ (hbase.regionserver.global.memstore.upperLimit) 0.4  4GBMemstoreサイズ (4GB) / フラッシュサイズ (128MB)= サーバあたりのリージョン数 (32)• Memstoreサイズと書き込み量から見積もる
14© 2014 Cloudera, Inc. All rights reserved.適切なリージョン数の見積もり((全データ量 * 1024) / リージョンサイズ (10GB)) / リージョンサーバ数 (100台)全データ量 50TBリージョンサイズ (hbase.hregion.max.filesize) 10GBリージョンサーバ数 100• 全データ量とリージョンサーバ数から見積もる
15© 2014 Cloudera, Inc. All rights reserved.適切なリージョン数の見積もり((全データ量 * 1024) / リージョンサイズ (10GB)) / リージョンサーバ数 (100台)= サーバあたりのリージョン数 (102)全データ量 50TBリージョンサイズ (hbase.hregion.max.filesize) 10GBリージョンサーバ数 100• 全データ量とリージョンサーバ数から見積もる
16© 2014 Cloudera, Inc. All rights reserved.リージョンスプリットポリシー• ConstantSizeRegionSplitPolicy• CDH4.1 (0.92) までのスプリットポリシー• 一定のサイズに達したリージョンを分割• IncreasingToUpperBoundRegionSplitPolicy• CDH4.2 (0.94) 以降でデフォルトのスプリットポリシー• 以下の条件を比較し、小さい方を上限として採用1. リージョン数 (同一サーバ上、同一テーブル内) ^ 3 ([2]) * フラッシュサイズ * 22. hbase.hregion.max.filesizeの設定値• リージョンをクラスタ全体へ分散し、パフォーマンスの向上を図ることが目的• ローリング再起動 (デコミッション) 時にリージョン数が増加する場合あり [3][2] CDH5.0以前、5.1以降で算出式が変更されているので注意。詳しくはHBASE-10501[3] 一時的にリージョン数が減ることが原因。詳しくはHBASE-12451
17© 2014 Cloudera, Inc. All rights reserved.リージョンスプリットポリシー• ConstantSizeRegionSplitPolicy• CDH4.1 (0.92) までのスプリットポリシー• 一定のサイズに達したリージョンを分割• IncreasingToUpperBoundRegionSplitPolicy• CDH4.2 (0.94) 以降でデフォルトのスプリットポリシー• 以下の条件を比較し、小さい方を上限として採用1. リージョン数 (同一サーバ上、同一テーブル内) ^ 3 ([2]) * フラッシュサイズ * 22. hbase.hregion.max.filesizeの設定値• リージョンをクラスタ全体へ分散し、パフォーマンスの向上を図ることが目的• ローリング再起動 (デコミッション) 時にリージョン数が増加する場合あり [3][2] CDH5.0以前、5.1以降で算出式が変更されているので注意。詳しくはHBASE-10501[3] 一時的にリージョン数が減ることが原因。詳しくはHBASE-12451
18© 2014 Cloudera, Inc. All rights reserved.リージョンスプリットポリシー• ConstantSizeRegionSplitPolicy• CDH4.1 (0.92) までのスプリットポリシー• 一定のサイズに達したリージョンを分割• IncreasingToUpperBoundRegionSplitPolicy• CDH4.2 (0.94) 以降でデフォルトのスプリットポリシー• 以下の条件を比較し、小さい方を上限として採用1. リージョン数 (同一サーバ上、同一テーブル内) ^ 3 ([2]) * フラッシュサイズ * 22. hbase.hregion.max.filesizeの設定値• リージョンをクラスタ全体へ分散し、パフォーマンスの向上を図ることが目的• ローリング再起動 (デコミッション) 時にリージョン数が増加する場合あり [3][2] CDH5.0以前、5.1以降で算出式が変更されているので注意。詳しくはHBASE-10501[3] 一時的にリージョン数が減ることが原因。詳しくはHBASE-12451
19© 2014 Cloudera and/or its affiliates. All rights reserved.HBaseクラスタのトラブルシューティング
20© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング• HBaseクラスタにおけるトラブルの種類1. リージョン不整合処理中に突然サーバの電源が落ち、メタ情報に食い違いが生じたなど2. 高負荷時のGC特に書き込み過多の場合はGCチューニングが必要となる3. ホットスポット
21© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング• HBaseクラスタにおけるトラブルの種類1. リージョン不整合処理中に突然サーバの電源が落ち、メタ情報に食い違いが生じたなど2. 高負荷時のGC特に書き込み過多の場合はGCチューニングが必要となる3. ホットスポット
22© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング(1)• リージョン不整合の検知• hbckユーティリティ [1]• hbck -details > /tmp/hbase-`date`.txt• 主に以下の検査を行う1. Region Consistency (一貫性)• META、HDFS内の.regioninfo、実際のリージョンアサイン状況がすべて合致しているか2. Integrity (整合性)• 複数のリージョンでキーの範囲が重複していないか• キーの順序が後退していないか• リージョン間に穴が空いていないか• 最後に表示される不整合件数が0であればOK0 inconsistencies detected[1] 詳細は http://hbase.apache.org/book.html#hbck.in.depth
23© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング(1)• まずはRegion Consistencyの確認、修復を行う• 不整合の例1. Region X, key=Y, not on HDFS or in hbase:meta but deployed on ZキーYで始まるリージョンXがHDFS/META上に存在しないにも関わらずリージョンサーバZにアサインされている2. Region X on HDFS, but not listed in hbase:meta or deployed on anyregion serverリージョンXはHDFSに存在するが、METAになくどのリージョンサーバにもアサインされていない3. Region X should not be deployed according to META, but is deployedon ZMETAの情報によるとリージョンXはアサインされるべきではないが、リージョンサーバZにデプロイされている
24© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング(1)• 修復コマンド• hbck –fixAssignments -fixMeta• 実行前に直前の状況をファイルに出力しておくこと• 実行後は再度 hbck -details を実行してアサインの不整合が修復されているか確認する注意: 0.90時代の -fix オプションは -fixAssignments に置き換えられました。後方互換性のためオプションとしては残っていますが、後者を利用すること。
25© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング(1)• Integrityの確認、修復• 不整合の例ERROR ... Multiple regions have the same startkey複数のリージョンが同じ開始キーを持っている• 修復コマンド• hbase hbck -repairHoles注意: hbckには他にもオプションがありますが、HDFSの内容を操作するオプションも含まれます。動作を把握しない状況で使用するのは危険です
26© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング(2)• Garbage Collection• リージョンサーバは高負荷時にGCの影響を受けやすい• GCによる影響を疑うときのキーワード: slept• 詳細発生時刻付近に以下のメッセージが出力されていないか確認する1. We slept 67160ms instead of 3000ms, this is likely due to a long garbage collecting pauseand it's usually bad2. Detected pause in JVM or host machine (eg GC): pause of approximately 62182msGC pool 'ParNew' had collection(s): count=3 time=69msGC pool 'ConcurrentMarkSweep' had collection(s): count=2 time=62425ms• old世代のGCに60秒以上かかっている• GCログから詳細を確認する
27© 2014 Cloudera, Inc. All rights reserved.トラブルシューティング(2)• 下記オプションを追加することでより詳細なログを出力-XX:+PrintPromotionFailure (promotion failedの詳細出力)-XX:PrintFLSStatistics=1 (連続領域の最大サイズなど詳細を出力)-XX:+PrintTenuringDistribution (new領域のオブジェクトの遷移を出力)• 典型的なFull GC発生のシナリオ• promotion failedold領域に十分な連続領域が確保できず、new領域からのオブジェクトの移動に失敗した(断片化が原因)• concurrent mode failureold世代の回収が間に合わず、空き領域が不足していると判断された参考資料:http://shop.oreilly.com/product/0636920028499.dohttp://blog.cloudera.com/blog/2011/02/avoiding-full-gcs-in-hbase-with-memstore-local-allocation-buffers-part-1/
28© 2014 Cloudera, Inc. All rights reserved.promotion failednewgenerationoldgeneration
29© 2014 Cloudera, Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC (Stop-the-World)
30© 2014 Cloudera, Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC後
31© 2014 Cloudera, Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC (Stop-the-World)、old世代のGC (アプリケーションと並行)を繰り返す
32© 2014 Cloudera, Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC (Stop-the-World)、old世代のGC (アプリケーションと並行)を繰り返す
33© 2014 Cloudera, Inc. All rights reserved.promotion failed書き込み負荷が高まり、Memstoreのフラッシュが多発
34© 2014 Cloudera, Inc. All rights reserved.promotion failedオブジェクトの移動 (promotion) に失敗 (failed)
35© 2014 Cloudera, Inc. All rights reserved.promotion failed• CMSはオブジェクトのマージ(コンパクション)を行わないため、断片化が発生する• new世代からのオブジェクトを配置できる連続領域がなくなる• 全アプリケーションスレッドを止めFull GCが発生する
36© 2014 Cloudera, Inc. All rights reserved.promotion failed対策• グラフ化• x軸: 時刻• y軸: GB• 赤: 空き領域(free space)• 青: 最大連続領域(max chunk)• old世代の空き領域は6GB程度確保• 連続領域(max chunk)は1GB強で推移
37© 2014 Cloudera, Inc. All rights reserved.promotion failed対策• グラフ化• x軸: 時刻• y軸: GB• 赤: 空き領域(free space)• 青: 最大連続領域(max chunk)• max chunkが急減したタイミングでpromotionfailedが発生し、リージョンサーバが停止
38© 2014 Cloudera, Inc. All rights reserved.promotion failed対策1. GCログからmax chunkサイズの推移状況を確認2. 障害発生時に残っていたchunk分では足りなかった• 今回のケースでは1GBほど3. ヒープサイズを1GB-2GB増やし、再度経過観察を行う
39© 2014 Cloudera, Inc. All rights reserved.Cloudera Managerのチャート機能
40© 2014 Cloudera, Inc. All rights reserved.まとめ
41© 2014 Cloudera, Inc. All rights reserved.まとめ 祝!
42© 2014 Cloudera, Inc. All rights reserved.Thank you

Recommended

PPTX
HDFS Supportaiblity Improvements
PDF
CDH5最新情報 #cwt2013
PPTX
Impala 2.0 Update 日本語版 #impalajp
PDF
Cloudera Manager 5 (hadoop運用) #cwt2013
PDF
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
PDF
Apache Impalaパフォーマンスチューニング #dbts2018
PDF
Apache Hadoop YARNとマルチテナントにおけるリソース管理
PDF
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
PDF
HBase Across the World #LINE_DM
PDF
HDFS HA セミナー #hadoop
PDF
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
PDF
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
PDF
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
PDF
#cwt2016 Apache Kudu 構成とテーブル設計
PDF
Impalaチューニングポイントベストプラクティス
PPTX
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
PDF
Evolution of Impala #hcj2014
PDF
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
PDF
CDHの歴史とCDH5新機能概要 #at_tokuben
PDF
[db tech showcase Tokyo 2016] A32: Oracle脳で考えるSQL Server運用 by 株式会社インサイトテクノロジー...
PDF
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
PDF
HBase Meetup Tokyo Summer 2015 #hbasejp
PDF
Troubleshooting Using Cloudera Manager #cwt2015
PDF
Hadoop Operations #cwt2013
PDF
Cloudera Impalaをサービスに組み込むときに苦労した話
PDF
Kuduを調べてみた #dogenzakalt
PDF
20190314 PGStrom Arrow_Fdw
PDF
Cloud Native Hadoop #cwt2016
PDF
HBase活用事例 #hbase_ca
PDF
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ

More Related Content

PPTX
HDFS Supportaiblity Improvements
PDF
CDH5最新情報 #cwt2013
PPTX
Impala 2.0 Update 日本語版 #impalajp
PDF
Cloudera Manager 5 (hadoop運用) #cwt2013
PDF
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
PDF
Apache Impalaパフォーマンスチューニング #dbts2018
PDF
Apache Hadoop YARNとマルチテナントにおけるリソース管理
PDF
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
HDFS Supportaiblity Improvements
CDH5最新情報 #cwt2013
Impala 2.0 Update 日本語版 #impalajp
Cloudera Manager 5 (hadoop運用) #cwt2013
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017

What's hot

PDF
HBase Across the World #LINE_DM
PDF
HDFS HA セミナー #hadoop
PDF
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
PDF
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
PDF
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
PDF
#cwt2016 Apache Kudu 構成とテーブル設計
PDF
Impalaチューニングポイントベストプラクティス
PPTX
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
PDF
Evolution of Impala #hcj2014
PDF
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
PDF
CDHの歴史とCDH5新機能概要 #at_tokuben
PDF
[db tech showcase Tokyo 2016] A32: Oracle脳で考えるSQL Server運用 by 株式会社インサイトテクノロジー...
PDF
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
PDF
HBase Meetup Tokyo Summer 2015 #hbasejp
PDF
Troubleshooting Using Cloudera Manager #cwt2015
PDF
Hadoop Operations #cwt2013
PDF
Cloudera Impalaをサービスに組み込むときに苦労した話
PDF
Kuduを調べてみた #dogenzakalt
PDF
20190314 PGStrom Arrow_Fdw
PDF
Cloud Native Hadoop #cwt2016
HBase Across the World #LINE_DM
HDFS HA セミナー #hadoop
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
#cwt2016 Apache Kudu 構成とテーブル設計
Impalaチューニングポイントベストプラクティス
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Evolution of Impala #hcj2014
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
CDHの歴史とCDH5新機能概要 #at_tokuben
[db tech showcase Tokyo 2016] A32: Oracle脳で考えるSQL Server運用 by 株式会社インサイトテクノロジー...
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
HBase Meetup Tokyo Summer 2015 #hbasejp
Troubleshooting Using Cloudera Manager #cwt2015
Hadoop Operations #cwt2013
Cloudera Impalaをサービスに組み込むときに苦労した話
Kuduを調べてみた #dogenzakalt
20190314 PGStrom Arrow_Fdw
Cloud Native Hadoop #cwt2016

Viewers also liked

PDF
HBase活用事例 #hbase_ca
PDF
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
PDF
Cassandraとh baseの比較して入門するno sql
PDF
20150625 cloudera
PDF
Lars George HBase Seminar with O'REILLY Oct.12 2012
PPTX
HBase スキーマ設計のポイント
PDF
スケーラブルなシステムのためのHBaseスキーマ設計 #hcj13w
PDF
5分でわかる Apache HBase 最新版 #hcj2014
PDF
Upgrading from HDP 2.1 to HDP 2.2
PDF
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
PPSX
HBaseとSparkでセンサーデータを有効活用 #hbasejp
PDF
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
PPT
Hbase勉強会(第一回)メモ
PDF
Upgrading from-hdp-21-to-hdp-24
PPTX
100億超メッセージ/日のサービスを 支えるHBase運用におけるチャレンジ
PDF
刊行記念セミナー「HBase徹底入門」
PDF
Apache HBase 入門 (第2回)
PDF
なぜApache HBaseを選ぶのか? #cwt2013
PDF
Akka ActorとAMQPでLINEのメッセージングパイプラインをリプレースした話
PDF
SparkとCassandraの美味しい関係
HBase活用事例 #hbase_ca
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
Cassandraとh baseの比較して入門するno sql
20150625 cloudera
Lars George HBase Seminar with O'REILLY Oct.12 2012
HBase スキーマ設計のポイント
スケーラブルなシステムのためのHBaseスキーマ設計 #hcj13w
5分でわかる Apache HBase 最新版 #hcj2014
Upgrading from HDP 2.1 to HDP 2.2
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
HBaseとSparkでセンサーデータを有効活用 #hbasejp
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hbase勉強会(第一回)メモ
Upgrading from-hdp-21-to-hdp-24
100億超メッセージ/日のサービスを 支えるHBase運用におけるチャレンジ
刊行記念セミナー「HBase徹底入門」
Apache HBase 入門 (第2回)
なぜApache HBaseを選ぶのか? #cwt2013
Akka ActorとAMQPでLINEのメッセージングパイプラインをリプレースした話
SparkとCassandraの美味しい関係

Similar to HBaseサポート最前線 #hbase_ca

PPTX
Hadoop Troubleshooting 101 - Japanese Version
PDF
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
PPTX
Cloudera大阪セミナー 20130219
PDF
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
PPTX
Hadoop summit 2012 report
PDF
ヤフーにおけるHadoop Operations #tdtech
PDF
最新版Hadoopクラスタを運用して得られたもの
PDF
HBaseCon 2012 参加レポート
PDF
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
PDF
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...
PPTX
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
PDF
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
PDF
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
PDF
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
PDF
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
PDF
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
PDF
Hadoopのシステム設計・運用のポイント
PDF
HBase on EC2
PDF
Strata + Hadoop World 2014 レポート #cwt2014
Hadoop Troubleshooting 101 - Japanese Version
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
Cloudera大阪セミナー 20130219
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoop summit 2012 report
ヤフーにおけるHadoop Operations #tdtech
最新版Hadoopクラスタを運用して得られたもの
HBaseCon 2012 参加レポート
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoopのシステム設計・運用のポイント
HBase on EC2
Strata + Hadoop World 2014 レポート #cwt2014

More from Cloudera Japan

PPTX
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
PPTX
機械学習の定番プラットフォームSparkの紹介
PDF
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
PDF
Cloudera のサポートエンジニアリング #supennight
PDF
Train, predict, serve: How to go into production your machine learning model
PDF
Apache Kuduを使った分析システムの裏側
PDF
Cloudera in the Cloud #CWT2017
PDF
先行事例から学ぶ IoT / ビッグデータの始め方
PPTX
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
PDF
How to go into production your machine learning models? #CWT2017
PDF
Apache Kudu - Updatable Analytical Storage #rakutentech
PPTX
Hue 4.0 / Hue Meetup Tokyo #huejp
PDF
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
PDF
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
PDF
大規模データに対するデータサイエンスの進め方 #CWT2016
PDF
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
PDF
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
PDF
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
PDF
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PPTX
基調講演: 「データエコシステムへの挑戦」 #cwt2015
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
機械学習の定番プラットフォームSparkの紹介
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
Cloudera のサポートエンジニアリング #supennight
Train, predict, serve: How to go into production your machine learning model
Apache Kuduを使った分析システムの裏側
Cloudera in the Cloud #CWT2017
先行事例から学ぶ IoT / ビッグデータの始め方
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
How to go into production your machine learning models? #CWT2017
Apache Kudu - Updatable Analytical Storage #rakutentech
Hue 4.0 / Hue Meetup Tokyo #huejp
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015

HBaseサポート最前線 #hbase_ca

  • 1.
  • 2.
    2© 2014 Cloudera,Inc. All rights reserved.自己紹介• 小林大輔• 2012年入社• カスタマーオペレーションズエンジニア• いわゆるカスタマーサポート• 日本国内のすべてのお客様、海外のお客様(24x7)のトラブルシューティングのお手伝い• 担当製品: HDFS, HBase, Cloudera Manager, Security, Solr etc.• email: daisuke@cloudera.com• twitter: d1ce_
  • 3.
    3© 2014 Cloudera,Inc. All rights reserved.今日話すこと• ClouderaサポートとHBase• クラスタ構築時の注意点• HBaseトラブルシューティング例(特に断りがない限り、CDH5.2.1をベースに話します)
  • 4.
    4© 2014 Clouderaand/or its affiliates. All rights reserved.ClouderaサポートとHBase
  • 5.
    5© 2014 Cloudera,Inc. All rights reserved.2010年からHBaseの製品サポートを開始。トラブルシューティングから機能改善まで多くの対応を行ってきたHBaseはスケールアウトする。お客様のビジネスの発展により、総サポートノード数も増加中サポートを購入したお客様の半数以上が利用。国内でも金融、製造業、ゲーム業界のお客様をサポートHBaseサポートは5年目 総サポートノード数 HBaseの使用率5年 20000ノード60%ClouderaサポートとHBase
  • 6.
    6© 2014 Cloudera,Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• Clouderaでは社内サポートシステムにHBaseを採用参考: https://blog.cloudera.com/blog/2012/12/secrets-of-cloudera-support-the-champagne-strategy/
  • 7.
    7© 2014 Cloudera,Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• サポートエンジニアはまずCSIからクラスタの全体像を把握する
  • 8.
    8© 2014 Cloudera,Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• 過去事例は調査における貴重な資源参考: http://blog.cloudera.com/blog/2013/09/secrets-of-cloudera-support-impala-and-search-make-the-customer-experience-even-better/
  • 9.
    9© 2014 Cloudera,Inc. All rights reserved.CSI全文検索システムスタックトレース検索システムClouderaサポートとHBase• 類似のスタックトレースを検索できる仕組みもある参考: http://blog.cloudera.com/blog/2014/02/secrets-of-cloudera-support-inside-our-own-enterprise-data-hub/
  • 10.
    10© 2014 Clouderaand/or its affiliates. All rights reserved.クラスタ構築時の注意点
  • 11.
    11© 2014 Cloudera,Inc. All rights reserved.クラスタ構築時の注意点• THP(Transparent Huge Page)は無効にする• 有効になっていると深刻なパフォーマンス劣化を招きます [1]• リージョン数の見積もり、モニタリングは慎重に• リージョンが多すぎるとMTTR (Mean Time to Recovery: 平均修復時間)の増加、パフォーマンス劣化につながります• HBase徹底入門を読みましょう• 2015/01時点で最新の情報が網羅されている• 実際の構築経験をベースに執筆されている[1] http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_admin_performance.html を確認
  • 12.
    12© 2014 Cloudera,Inc. All rights reserved.適切なリージョン数の見積もりリージョンサーバヒープサイズ 10GBフラッシュサイズ (hbase.hregion.memstore.flush.size) 128MBMemstoreサイズ (hbase.regionserver.global.memstore.upperLimit) 0.4  4GBMemstoreサイズ (4GB) / フラッシュサイズ (128MB)• Memstoreサイズと書き込み量から見積もる
  • 13.
    13© 2014 Cloudera,Inc. All rights reserved.適切なリージョン数の見積もりリージョンサーバヒープサイズ 10GBフラッシュサイズ (hbase.hregion.memstore.flush.size) 128MBMemstoreサイズ (hbase.regionserver.global.memstore.upperLimit) 0.4  4GBMemstoreサイズ (4GB) / フラッシュサイズ (128MB)= サーバあたりのリージョン数 (32)• Memstoreサイズと書き込み量から見積もる
  • 14.
    14© 2014 Cloudera,Inc. All rights reserved.適切なリージョン数の見積もり((全データ量 * 1024) / リージョンサイズ (10GB)) / リージョンサーバ数 (100台)全データ量 50TBリージョンサイズ (hbase.hregion.max.filesize) 10GBリージョンサーバ数 100• 全データ量とリージョンサーバ数から見積もる
  • 15.
    15© 2014 Cloudera,Inc. All rights reserved.適切なリージョン数の見積もり((全データ量 * 1024) / リージョンサイズ (10GB)) / リージョンサーバ数 (100台)= サーバあたりのリージョン数 (102)全データ量 50TBリージョンサイズ (hbase.hregion.max.filesize) 10GBリージョンサーバ数 100• 全データ量とリージョンサーバ数から見積もる
  • 16.
    16© 2014 Cloudera,Inc. All rights reserved.リージョンスプリットポリシー• ConstantSizeRegionSplitPolicy• CDH4.1 (0.92) までのスプリットポリシー• 一定のサイズに達したリージョンを分割• IncreasingToUpperBoundRegionSplitPolicy• CDH4.2 (0.94) 以降でデフォルトのスプリットポリシー• 以下の条件を比較し、小さい方を上限として採用1. リージョン数 (同一サーバ上、同一テーブル内) ^ 3 ([2]) * フラッシュサイズ * 22. hbase.hregion.max.filesizeの設定値• リージョンをクラスタ全体へ分散し、パフォーマンスの向上を図ることが目的• ローリング再起動 (デコミッション) 時にリージョン数が増加する場合あり [3][2] CDH5.0以前、5.1以降で算出式が変更されているので注意。詳しくはHBASE-10501[3] 一時的にリージョン数が減ることが原因。詳しくはHBASE-12451
  • 17.
    17© 2014 Cloudera,Inc. All rights reserved.リージョンスプリットポリシー• ConstantSizeRegionSplitPolicy• CDH4.1 (0.92) までのスプリットポリシー• 一定のサイズに達したリージョンを分割• IncreasingToUpperBoundRegionSplitPolicy• CDH4.2 (0.94) 以降でデフォルトのスプリットポリシー• 以下の条件を比較し、小さい方を上限として採用1. リージョン数 (同一サーバ上、同一テーブル内) ^ 3 ([2]) * フラッシュサイズ * 22. hbase.hregion.max.filesizeの設定値• リージョンをクラスタ全体へ分散し、パフォーマンスの向上を図ることが目的• ローリング再起動 (デコミッション) 時にリージョン数が増加する場合あり [3][2] CDH5.0以前、5.1以降で算出式が変更されているので注意。詳しくはHBASE-10501[3] 一時的にリージョン数が減ることが原因。詳しくはHBASE-12451
  • 18.
    18© 2014 Cloudera,Inc. All rights reserved.リージョンスプリットポリシー• ConstantSizeRegionSplitPolicy• CDH4.1 (0.92) までのスプリットポリシー• 一定のサイズに達したリージョンを分割• IncreasingToUpperBoundRegionSplitPolicy• CDH4.2 (0.94) 以降でデフォルトのスプリットポリシー• 以下の条件を比較し、小さい方を上限として採用1. リージョン数 (同一サーバ上、同一テーブル内) ^ 3 ([2]) * フラッシュサイズ * 22. hbase.hregion.max.filesizeの設定値• リージョンをクラスタ全体へ分散し、パフォーマンスの向上を図ることが目的• ローリング再起動 (デコミッション) 時にリージョン数が増加する場合あり [3][2] CDH5.0以前、5.1以降で算出式が変更されているので注意。詳しくはHBASE-10501[3] 一時的にリージョン数が減ることが原因。詳しくはHBASE-12451
  • 19.
    19© 2014 Clouderaand/or its affiliates. All rights reserved.HBaseクラスタのトラブルシューティング
  • 20.
    20© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング• HBaseクラスタにおけるトラブルの種類1. リージョン不整合処理中に突然サーバの電源が落ち、メタ情報に食い違いが生じたなど2. 高負荷時のGC特に書き込み過多の場合はGCチューニングが必要となる3. ホットスポット
  • 21.
    21© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング• HBaseクラスタにおけるトラブルの種類1. リージョン不整合処理中に突然サーバの電源が落ち、メタ情報に食い違いが生じたなど2. 高負荷時のGC特に書き込み過多の場合はGCチューニングが必要となる3. ホットスポット
  • 22.
    22© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング(1)• リージョン不整合の検知• hbckユーティリティ [1]• hbck -details > /tmp/hbase-`date`.txt• 主に以下の検査を行う1. Region Consistency (一貫性)• META、HDFS内の.regioninfo、実際のリージョンアサイン状況がすべて合致しているか2. Integrity (整合性)• 複数のリージョンでキーの範囲が重複していないか• キーの順序が後退していないか• リージョン間に穴が空いていないか• 最後に表示される不整合件数が0であればOK0 inconsistencies detected[1] 詳細は http://hbase.apache.org/book.html#hbck.in.depth
  • 23.
    23© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング(1)• まずはRegion Consistencyの確認、修復を行う• 不整合の例1. Region X, key=Y, not on HDFS or in hbase:meta but deployed on ZキーYで始まるリージョンXがHDFS/META上に存在しないにも関わらずリージョンサーバZにアサインされている2. Region X on HDFS, but not listed in hbase:meta or deployed on anyregion serverリージョンXはHDFSに存在するが、METAになくどのリージョンサーバにもアサインされていない3. Region X should not be deployed according to META, but is deployedon ZMETAの情報によるとリージョンXはアサインされるべきではないが、リージョンサーバZにデプロイされている
  • 24.
    24© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング(1)• 修復コマンド• hbck –fixAssignments -fixMeta• 実行前に直前の状況をファイルに出力しておくこと• 実行後は再度 hbck -details を実行してアサインの不整合が修復されているか確認する注意: 0.90時代の -fix オプションは -fixAssignments に置き換えられました。後方互換性のためオプションとしては残っていますが、後者を利用すること。
  • 25.
    25© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング(1)• Integrityの確認、修復• 不整合の例ERROR ... Multiple regions have the same startkey複数のリージョンが同じ開始キーを持っている• 修復コマンド• hbase hbck -repairHoles注意: hbckには他にもオプションがありますが、HDFSの内容を操作するオプションも含まれます。動作を把握しない状況で使用するのは危険です
  • 26.
    26© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング(2)• Garbage Collection• リージョンサーバは高負荷時にGCの影響を受けやすい• GCによる影響を疑うときのキーワード: slept• 詳細発生時刻付近に以下のメッセージが出力されていないか確認する1. We slept 67160ms instead of 3000ms, this is likely due to a long garbage collecting pauseand it's usually bad2. Detected pause in JVM or host machine (eg GC): pause of approximately 62182msGC pool 'ParNew' had collection(s): count=3 time=69msGC pool 'ConcurrentMarkSweep' had collection(s): count=2 time=62425ms• old世代のGCに60秒以上かかっている• GCログから詳細を確認する
  • 27.
    27© 2014 Cloudera,Inc. All rights reserved.トラブルシューティング(2)• 下記オプションを追加することでより詳細なログを出力-XX:+PrintPromotionFailure (promotion failedの詳細出力)-XX:PrintFLSStatistics=1 (連続領域の最大サイズなど詳細を出力)-XX:+PrintTenuringDistribution (new領域のオブジェクトの遷移を出力)• 典型的なFull GC発生のシナリオ• promotion failedold領域に十分な連続領域が確保できず、new領域からのオブジェクトの移動に失敗した(断片化が原因)• concurrent mode failureold世代の回収が間に合わず、空き領域が不足していると判断された参考資料:http://shop.oreilly.com/product/0636920028499.dohttp://blog.cloudera.com/blog/2011/02/avoiding-full-gcs-in-hbase-with-memstore-local-allocation-buffers-part-1/
  • 28.
    28© 2014 Cloudera,Inc. All rights reserved.promotion failednewgenerationoldgeneration
  • 29.
    29© 2014 Cloudera,Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC (Stop-the-World)
  • 30.
    30© 2014 Cloudera,Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC後
  • 31.
    31© 2014 Cloudera,Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC (Stop-the-World)、old世代のGC (アプリケーションと並行)を繰り返す
  • 32.
    32© 2014 Cloudera,Inc. All rights reserved.promotion failednewgenerationoldgenerationnew世代のGC (Stop-the-World)、old世代のGC (アプリケーションと並行)を繰り返す
  • 33.
    33© 2014 Cloudera,Inc. All rights reserved.promotion failed書き込み負荷が高まり、Memstoreのフラッシュが多発
  • 34.
    34© 2014 Cloudera,Inc. All rights reserved.promotion failedオブジェクトの移動 (promotion) に失敗 (failed)
  • 35.
    35© 2014 Cloudera,Inc. All rights reserved.promotion failed• CMSはオブジェクトのマージ(コンパクション)を行わないため、断片化が発生する• new世代からのオブジェクトを配置できる連続領域がなくなる• 全アプリケーションスレッドを止めFull GCが発生する
  • 36.
    36© 2014 Cloudera,Inc. All rights reserved.promotion failed対策• グラフ化• x軸: 時刻• y軸: GB• 赤: 空き領域(free space)• 青: 最大連続領域(max chunk)• old世代の空き領域は6GB程度確保• 連続領域(max chunk)は1GB強で推移
  • 37.
    37© 2014 Cloudera,Inc. All rights reserved.promotion failed対策• グラフ化• x軸: 時刻• y軸: GB• 赤: 空き領域(free space)• 青: 最大連続領域(max chunk)• max chunkが急減したタイミングでpromotionfailedが発生し、リージョンサーバが停止
  • 38.
    38© 2014 Cloudera,Inc. All rights reserved.promotion failed対策1. GCログからmax chunkサイズの推移状況を確認2. 障害発生時に残っていたchunk分では足りなかった• 今回のケースでは1GBほど3. ヒープサイズを1GB-2GB増やし、再度経過観察を行う
  • 39.
    39© 2014 Cloudera,Inc. All rights reserved.Cloudera Managerのチャート機能
  • 40.
    40© 2014 Cloudera,Inc. All rights reserved.まとめ
  • 41.
    41© 2014 Cloudera,Inc. All rights reserved.まとめ 祝!
  • 42.
    42© 2014 Cloudera,Inc. All rights reserved.Thank you

Editor's Notes

  • #6 http://blog.cloudera.com/blog/2010/07/whats-new-in-cdh3-b2-hbase/CDH3b2からサポート開始
  • #7 サポート購入顧客は、Cloudera Managerからシステムの診断データを任意で送ることができる。ログや設定情報、ホストの情報を取得する。社内のHBaseクラスタに格納され、整理された情報がCloudera Support Interfaceという形でこのように表示される。ホストは24台、CM/CDHの詳細なバージョンが確認できるようになっている
  • #8 Clouderaサポートでは診断データをもとに、設定情報やログの解析を行い、可能な限りクラスタの診断を行う。これは診断結果のうち、セキュリティに関するアラートを表示している
  • #12 THP:デフォルトのページサイズは4KBだが、JVMなどはメモリを大量に確保したいので効率が悪い。そこでHuge Page。THPはアプリから透過的に利用できるもの。つまりTHPをオフにするということはHPを使わないということ
  • #13 フラッシュとリージョンサイズ。フラッシュサイズを小さくするとコンパクションが多発する。コンパクションが多発すると書き込みが停止される。書き込みが停止されると、アプリケーションに影響がでる
  • #14 フラッシュとリージョンサイズ。フラッシュサイズを小さくするとコンパクションが多発する。コンパクションが多発すると書き込みが停止される。書き込みが停止されると、アプリケーションに影響がでる
  • #15 フラッシュとリージョンサイズ。フラッシュサイズを小さくするとコンパクションが多発する。コンパクションが多発すると書き込みが停止される。書き込みが停止されると、アプリケーションに影響がでる
  • #16 フラッシュとリージョンサイズ。フラッシュサイズを小さくするとコンパクションが多発する。コンパクションが多発すると書き込みが停止される。書き込みが停止されると、アプリケーションに影響がでる
  • #40 経過観察をする際にはCMがメトリクスをグラフ化してくれているので、時間帯、範囲を自由に変更しながら傾向を確認することができる
  • #41 THP:デフォルトのページサイズは4KBだが、JVMなどはメモリを大量に確保したいので効率が悪い。そこでHuge Page。THPはアプリから透過的に利用できるもの。つまりTHPをオフにするということはHPを使わないということ

[8]ページ先頭

©2009-2025 Movatter.jp