SlideShare a Scribd company logo
1 of 45
Download to read offline
1© Cloudera, Inc. All rights reserved. 1© Cloudera, Inc. All rights reserved.
HBase Across the World
⼩林⼤輔 (d1ce_)
2© Cloudera, Inc. All rights reserved.
• ⼩林⼤輔 (d1ce_)
• Cloudera ⼊社 6 年⽬
• Hadoop エコシステムの顧客サポート
• 社内の技術トレーニング、技術⽀援
Who am I?
3© Cloudera, Inc. All rights reserved.
• ⼩林⼤輔 (d1ce_)
• Cloudera ⼊社 6 年⽬
• Hadoop エコシステムの顧客サポート
• 社内の技術トレーニング、技術⽀援
Who am I?
4© Cloudera, Inc. All rights reserved.
• ⼩林⼤輔 (d1ce_)
• Cloudera ⼊社 6 年⽬
• Hadoop エコシステムの顧客サポート
• 社内の技術トレーニング、技術⽀援
Who am I?
We are hiring!
5© Cloudera, Inc. All rights reserved.
• ⼩林⼤輔 (d1ce_)
• Cloudera ⼊社 6 年⽬
• Hadoop エコシステムの顧客サポート
• 社内の技術トレーニング、技術⽀援
Who am I?
We are hiring!
6© Cloudera, Inc. All rights reserved.
• Cloudera と HBase
• HBase のサポート体制
• ⾟かった話
Agenda
7© Cloudera, Inc. All rights reserved.
クラウドにも最適化された
機械学習と分析のための
最先端の基盤を提供する企業
Cloudera とは
8© Cloudera, Inc. All rights reserved.
クラウドにも最適化された
機械学習と分析のための
最先端の基盤を提供する企業
HBase is a part of
the infrustructure!
Cloudera とは
9© Cloudera, Inc. All rights reserved.
データエコノミー
• データは最も価値のある資源である
• より価値あるデータを持つ企業が
強い時代がこれからも続く
出典: The Economist
https://www.economist.com/news/briefing/21721634-how-it-
shaping-up-data-giving-rise-new-economy
https://www.economist.com/news/leaders/21721656-data-
economy-demands-new-approach-antitrust-rules-worlds-most-
valuable-resource
なぜ分析基盤が必要なのか?
10© Cloudera, Inc. All rights reserved.
• 2008 年、以下 4 社出⾝の社員により設⽴
• 2017 年 5 ⽉、ニューヨーク証券取引所に上場
• 従業員数 世界全体で 1,600 ⼈以上
• 世界 28 カ国 に事業展開
• 世界中のミッションクリティカルシステムに導⼊
• ⾦融、⼩売、通信、メディア、ヘルスケア、エネルギー、政府
• 最⼤のエコシステム 3,000 社以上のパートナー
• Cloudera University 45,000 ⼈ 以上がトレーニングを受講
About Cloudera - 会社概要
11© Cloudera, Inc. All rights reserved.
Cloudera と HBase
8 5 10~2000+
12© Cloudera, Inc. All rights reserved.
Cloudera と HBase
2010年のサポート
開始から 8 年
8 5 10~2000+
13© Cloudera, Inc. All rights reserved.
Cloudera と HBase
2010年のサポート
開始から 8 年
8 5 10~2000+
問い合わせ数 Top 5
コンポーネント
14© Cloudera, Inc. All rights reserved.
Cloudera と HBase
2010年のサポート
開始から 8 年
8 5 10~2000+
問い合わせ数 Top 5
コンポーネント
サポートするクラスタは
⼗数から千ノード単位
までさまざま
15© Cloudera, Inc. All rights reserved.
HBase のサポートは⼤変か?
16© Cloudera, Inc. All rights reserved.
はい
17© Cloudera, Inc. All rights reserved.
• ログの収集が⼤変
• お客様ごとにアプリケーションやスキーマの設計が違う
• お客様ごとにノード数もハードウェアも設定も違う
• 併⽤しているコンポーネントが様々
• MapReduce
• Impala
• Spark
• Solr
• Phoenix
• Custom Application
HBase のサポートは⼤変
18© Cloudera, Inc. All rights reserved.
• 多機能化する HBase
• MOB: 中規模サイズ (~10MiB) のデータの読み書き
• リードレプリカ: 読み込み HA
• Multi WAL
• 複数クラスタ間レプリケーション
• セルレベルのアクセスコントロール
• 透過的暗号化
• マイナーバージョン毎に変わる製品挙動
• ユーザビリティは後⽅互換性があるので変わらない
• 変わるのはコア部分の挙動 à 障害対応する際には厄介
HBase のサポートは⼤変
19© Cloudera, Inc. All rights reserved.
かつて HBase を⽕⼭と呼んだ⼈がいた
2012 年頃
20© Cloudera, Inc. All rights reserved.
もう HBase は⽕⼭じゃないと主張した⼈がいた
2014 年頃
21© Cloudera, Inc. All rights reserved.
あれから 4 年
22© Cloudera, Inc. All rights reserved.
HBase は⽕⼭か?
23© Cloudera, Inc. All rights reserved.
いいえ
24© Cloudera, Inc. All rights reserved.
(たぶん)
25© Cloudera, Inc. All rights reserved.
• ⽕⼭ではないが、、、
• アプリケーション/スキーマ/クラスタ設計を怠るとトラブル多発
• 新機能を使い込めばバグは⾒つかる
• データが増えればコーナーケースにハマる
à どのソフトウェアにもあること
• お客様環境を把握し、早急な解決に導く必要がある
• 新規サポートメンバーへの効率的な技術⽀援
HBase サポートのチャレンジ
2018 年
26© Cloudera, Inc. All rights reserved.
Cloudera の取り組み
27© Cloudera, Inc. All rights reserved.
• 診断データ
• クラスタ運⽤ツールから設定、ログを⼀括で取得
• ノード数、ハードウェア/ソフトウェア構成など環境固有の情報も取得
Cloudera の取り組み
お客様 Cloudera
Cloudera Manager
(Enterprise)
Cluster 1
master worker worker worker
Cloudera Manager が、クラスタの構成、
各種設定値、ログ、メトリクスなどを
収集し、サポートシステムに送信
サポートシステム
サポート担当お客様
サポート問い合わせ/対応 クラスタの各種
情報を確認
診断データの分析
28© Cloudera, Inc. All rights reserved.
• ドッグフーディング
• 診断データを HBase クラスタに投⼊し、分析環境の基盤として運⽤
• マイナーバージョンのリリース前に必ずアップグレードし、しばらく運⽤
してからリリース
Cloudera の取り組み
29© Cloudera, Inc. All rights reserved.
• Cluster Validation
• ドッグフーディングクラスタで診断データを分析し、既知のバグや
パフォーマンス劣化を及ぼす兆候を⾃動的に検知
• 緊急性の⾼いものについてはお客様に通知する
Cloudera の取り組み
30© Cloudera, Inc. All rights reserved.
• トラブルシューティングを神業にしない
• 経験のあるメンバーのナレッジを定期的に共有
• ツール化することで再現性を⾼める
• hbck の結果を⾃動で分析するツール
• ログから傾向を⾃動で分析するツール
Cloudera の取り組み
31© Cloudera, Inc. All rights reserved.
• Close Loop Reason
• クローズしたケースを分析し、問い合わせの傾向を把握
• プロダクトロードマップへ反映
• サポータビリティの向上
• 原因特定がしやすいログメッセージの出⼒
• 混乱を招く製品挙動の変更
• 障害対応に必要なコマンドの⾃動実⾏と取得
• ドキュメントの改善
Cloudera の取り組み
32© Cloudera, Inc. All rights reserved.
それでも⾟いことはある
33© Cloudera, Inc. All rights reserved.
• hbck で不整合が直らない
• 理屈では直るはずが、hbck 実⾏後新たな不整合ができている
• 無限ループ
⾟かったこと①
34© Cloudera, Inc. All rights reserved.
160 箇所の不整合が検出 😥
⾟かったこと①
35© Cloudera, Inc. All rights reserved.
重複しているリージョンが 160 個 😰
⾟かったこと①
36© Cloudera, Inc. All rights reserved.
-fixHdfsOverlaps -fixMeta -fixAssignments
Region A と B が重複しているとする
1. と のクローズ
2. の作成
3. と のhfile を に移動
4. と のディレクトリを削除
5. hbase:meta から と のエントリを削除
6. と のリージョンディレクトリが復活(中⾝は空)
7. がオンラインにならない
8. が重複した状態となる
Region A
Region C
Region B
Region A Region B Region C
Region A Region B
Region A Region B
Region A Region B
Region C
Region A Region B Region C
37© Cloudera, Inc. All rights reserved.
• と に実データがない ( .regioninfo のみ)
• に実 hfile が存在
1. と を HDFS ディレクトリごと強制退避
2. をベースにリージョン情報を強制更新することで修正
-fixEmptyMetaCells -fixMeta -fixAssignments <table name>
3. ログを⾒て問題が再発していないことを確認
対処
Region A Region B
Region C
Region A Region B
Region C
38© Cloudera, Inc. All rights reserved.
• 材料
• Read Replica を使⽤している
• リージョン merge が発⽣している
• HBASE-18025
• Read Replica 使⽤時に、split/merge した古いリージョンの
情報がマスターに残り続け、実データを持たないリージョン
ディレクトリを再作成してしまう
原因
39© Cloudera, Inc. All rights reserved.
• HBase レプリケーションが進まない
• ターゲットクラスタでレプリケーションが滞留
• ソース ‒ ターゲット間のラグが埋まらない
⾟かったこと②
40© Cloudera, Inc. All rights reserved.
• ダイレクトバッファのメモリリーク
• RegionServer のログ、ヒープダンプ、メトリクスよりリークを確認
• 参考
• http://www.evanjones.ca/java-bytebuffer-leak.html
• https://bugs.openjdk.java.net/browse/JDK-8147468
• アプリケーションのバッドデザイン
• 1 GiB 近くの WAL を⽣成するような書き込みの設計
原因
java.io.IOException: com.google.protobuf.ServiceException: java.lang.OutOfMemoryError:
Direct buffer memory on XXX,60020,1518078103721
41© Cloudera, Inc. All rights reserved.
• リークの対処
• -Djdk.nio.maxCachedBufferSize=262144
• レプリケーションラグ
1. ターゲットクラスタのテーブルを削除
2. ソースクラスタで HBase スナップショットを取得
3. ターゲットクラスタにクローン
• アプリケーション設計
• WAL の中⾝から問題となっているキーを指摘
• アプリケーション、スキーマの再設計を依頼
or
• お客様⾃⾝でできない場合はコンサルティングサービスの提案(有償)
対処
42© Cloudera, Inc. All rights reserved.
Thank you
daisuke@cloudera.com
43© Cloudera, Inc. All rights reserved.
Appendix
44© Cloudera, Inc. All rights reserved.
• -repair オプションは使わないこと
• 計 10 個のオプションが⾃動実⾏される
à それぞれが何をするものか理解しているか?
à 全てのオプションが必要なケースを⾒たことがない
• 重複しているリージョンを /hbase/data の外側に退避してしまう
à ⼀時的にデータロストの状態になる
à 再ロードするのは⼤変
hbck 実⾏時の注意
45© Cloudera, Inc. All rights reserved.
• -fixHdfsHoles/-fixHdfsOverlaps 実⾏時のリージョンサイズ
• リージョン merge が⾛る
• merge 後のリージョンが hbase.hregion.filesize を越えると
リージョン split が⾃動的に⾛る
à hbck による修正と衝突すると新たな不整合を招く
hbck 実⾏時の注意

More Related Content

What's hot

基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015Cloudera Japan
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016Cloudera Japan
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera Japan
 
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloudera Japan
 
HBase活用事例 #hbase_ca
HBase活用事例 #hbase_caHBase活用事例 #hbase_ca
HBase活用事例 #hbase_caCloudera Japan
 
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015Cloudera Japan
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Cloudera Japan
 
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Japan
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltToshihiro Suzuki
 
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014Cloudera Japan
 
Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Yukinori Suda
 
Impala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajpImpala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajpCloudera Japan
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsCloudera Japan
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング Cloudera Japan
 
Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015Cloudera Japan
 
エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27Cloudera Japan
 
HBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caHBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caCloudera Japan
 
HBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejpHBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejpCloudera Japan
 
CDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokubenCDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokubenCloudera Japan
 

What's hot (20)

基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017
 
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016
 
Impalaチューニングポイントベストプラクティス
ImpalaチューニングポイントベストプラクティスImpalaチューニングポイントベストプラクティス
Impalaチューニングポイントベストプラクティス
 
HBase活用事例 #hbase_ca
HBase活用事例 #hbase_caHBase活用事例 #hbase_ca
HBase活用事例 #hbase_ca
 
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側
 
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
 
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
 
Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話
 
Impala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajpImpala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajp
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity Improvements
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
 
Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015
 
エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27
 
HBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caHBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_ca
 
HBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejpHBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejp
 
CDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokubenCDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokuben
 

Similar to HBase Across the World #LINE_DM

Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Makoto Sato
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用Toshihiro Suzuki
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門じゅん なかざ
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo!デベロッパーネットワーク
 
Datadog monitoring with HashiCorp
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorpMasatomo Ito
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Cloudera Japan
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションオラクルエンジニア通信
 
Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2Yifeng Jiang
 
Datadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stackDatadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stackMasatomo Ito
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera Japan
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかChihiro Ito
 
IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介
IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介
IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介株式会社クライム
 

Similar to HBase Across the World #LINE_DM (20)

Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
HBaseCon 2012 参加レポート
HBaseCon 2012 参加レポートHBaseCon 2012 参加レポート
HBaseCon 2012 参加レポート
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
Datadog monitoring with HashiCorp
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorp
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2
 
Datadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stackDatadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stack
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219
 
Tech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_shareTech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_share
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法
 
IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介
IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介
IBM Db2もっと活用しませんか?高性能な接続ドライバと異種DBレプリケーションのご紹介
 

More from Cloudera Japan

分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とはCloudera Japan
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera Japan
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelCloudera Japan
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方Cloudera Japan
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Cloudera Japan
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017Cloudera Japan
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechCloudera Japan
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpCloudera Japan
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera Japan
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSCloudera Japan
 
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltクラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltCloudera Japan
 
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015Cloudera Japan
 
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015Cloudera Japan
 
基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015Cloudera Japan
 
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015Cloudera Japan
 
基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015Cloudera Japan
 

More from Cloudera Japan (16)

分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennight
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning model
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentech
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejp
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
 
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltクラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
 
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
 
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
 
基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015
 
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
 
基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015
 

HBase Across the World #LINE_DM

  • 1. 1© Cloudera, Inc. All rights reserved. 1© Cloudera, Inc. All rights reserved. HBase Across the World ⼩林⼤輔 (d1ce_)
  • 2. 2© Cloudera, Inc. All rights reserved. • ⼩林⼤輔 (d1ce_) • Cloudera ⼊社 6 年⽬ • Hadoop エコシステムの顧客サポート • 社内の技術トレーニング、技術⽀援 Who am I?
  • 3. 3© Cloudera, Inc. All rights reserved. • ⼩林⼤輔 (d1ce_) • Cloudera ⼊社 6 年⽬ • Hadoop エコシステムの顧客サポート • 社内の技術トレーニング、技術⽀援 Who am I?
  • 4. 4© Cloudera, Inc. All rights reserved. • ⼩林⼤輔 (d1ce_) • Cloudera ⼊社 6 年⽬ • Hadoop エコシステムの顧客サポート • 社内の技術トレーニング、技術⽀援 Who am I? We are hiring!
  • 5. 5© Cloudera, Inc. All rights reserved. • ⼩林⼤輔 (d1ce_) • Cloudera ⼊社 6 年⽬ • Hadoop エコシステムの顧客サポート • 社内の技術トレーニング、技術⽀援 Who am I? We are hiring!
  • 6. 6© Cloudera, Inc. All rights reserved. • Cloudera と HBase • HBase のサポート体制 • ⾟かった話 Agenda
  • 7. 7© Cloudera, Inc. All rights reserved. クラウドにも最適化された 機械学習と分析のための 最先端の基盤を提供する企業 Cloudera とは
  • 8. 8© Cloudera, Inc. All rights reserved. クラウドにも最適化された 機械学習と分析のための 最先端の基盤を提供する企業 HBase is a part of the infrustructure! Cloudera とは
  • 9. 9© Cloudera, Inc. All rights reserved. データエコノミー • データは最も価値のある資源である • より価値あるデータを持つ企業が 強い時代がこれからも続く 出典: The Economist https://www.economist.com/news/briefing/21721634-how-it- shaping-up-data-giving-rise-new-economy https://www.economist.com/news/leaders/21721656-data- economy-demands-new-approach-antitrust-rules-worlds-most- valuable-resource なぜ分析基盤が必要なのか?
  • 10. 10© Cloudera, Inc. All rights reserved. • 2008 年、以下 4 社出⾝の社員により設⽴ • 2017 年 5 ⽉、ニューヨーク証券取引所に上場 • 従業員数 世界全体で 1,600 ⼈以上 • 世界 28 カ国 に事業展開 • 世界中のミッションクリティカルシステムに導⼊ • ⾦融、⼩売、通信、メディア、ヘルスケア、エネルギー、政府 • 最⼤のエコシステム 3,000 社以上のパートナー • Cloudera University 45,000 ⼈ 以上がトレーニングを受講 About Cloudera - 会社概要
  • 11. 11© Cloudera, Inc. All rights reserved. Cloudera と HBase 8 5 10~2000+
  • 12. 12© Cloudera, Inc. All rights reserved. Cloudera と HBase 2010年のサポート 開始から 8 年 8 5 10~2000+
  • 13. 13© Cloudera, Inc. All rights reserved. Cloudera と HBase 2010年のサポート 開始から 8 年 8 5 10~2000+ 問い合わせ数 Top 5 コンポーネント
  • 14. 14© Cloudera, Inc. All rights reserved. Cloudera と HBase 2010年のサポート 開始から 8 年 8 5 10~2000+ 問い合わせ数 Top 5 コンポーネント サポートするクラスタは ⼗数から千ノード単位 までさまざま
  • 15. 15© Cloudera, Inc. All rights reserved. HBase のサポートは⼤変か?
  • 16. 16© Cloudera, Inc. All rights reserved. はい
  • 17. 17© Cloudera, Inc. All rights reserved. • ログの収集が⼤変 • お客様ごとにアプリケーションやスキーマの設計が違う • お客様ごとにノード数もハードウェアも設定も違う • 併⽤しているコンポーネントが様々 • MapReduce • Impala • Spark • Solr • Phoenix • Custom Application HBase のサポートは⼤変
  • 18. 18© Cloudera, Inc. All rights reserved. • 多機能化する HBase • MOB: 中規模サイズ (~10MiB) のデータの読み書き • リードレプリカ: 読み込み HA • Multi WAL • 複数クラスタ間レプリケーション • セルレベルのアクセスコントロール • 透過的暗号化 • マイナーバージョン毎に変わる製品挙動 • ユーザビリティは後⽅互換性があるので変わらない • 変わるのはコア部分の挙動 à 障害対応する際には厄介 HBase のサポートは⼤変
  • 19. 19© Cloudera, Inc. All rights reserved. かつて HBase を⽕⼭と呼んだ⼈がいた 2012 年頃
  • 20. 20© Cloudera, Inc. All rights reserved. もう HBase は⽕⼭じゃないと主張した⼈がいた 2014 年頃
  • 21. 21© Cloudera, Inc. All rights reserved. あれから 4 年
  • 22. 22© Cloudera, Inc. All rights reserved. HBase は⽕⼭か?
  • 23. 23© Cloudera, Inc. All rights reserved. いいえ
  • 24. 24© Cloudera, Inc. All rights reserved. (たぶん)
  • 25. 25© Cloudera, Inc. All rights reserved. • ⽕⼭ではないが、、、 • アプリケーション/スキーマ/クラスタ設計を怠るとトラブル多発 • 新機能を使い込めばバグは⾒つかる • データが増えればコーナーケースにハマる à どのソフトウェアにもあること • お客様環境を把握し、早急な解決に導く必要がある • 新規サポートメンバーへの効率的な技術⽀援 HBase サポートのチャレンジ 2018 年
  • 26. 26© Cloudera, Inc. All rights reserved. Cloudera の取り組み
  • 27. 27© Cloudera, Inc. All rights reserved. • 診断データ • クラスタ運⽤ツールから設定、ログを⼀括で取得 • ノード数、ハードウェア/ソフトウェア構成など環境固有の情報も取得 Cloudera の取り組み お客様 Cloudera Cloudera Manager (Enterprise) Cluster 1 master worker worker worker Cloudera Manager が、クラスタの構成、 各種設定値、ログ、メトリクスなどを 収集し、サポートシステムに送信 サポートシステム サポート担当お客様 サポート問い合わせ/対応 クラスタの各種 情報を確認 診断データの分析
  • 28. 28© Cloudera, Inc. All rights reserved. • ドッグフーディング • 診断データを HBase クラスタに投⼊し、分析環境の基盤として運⽤ • マイナーバージョンのリリース前に必ずアップグレードし、しばらく運⽤ してからリリース Cloudera の取り組み
  • 29. 29© Cloudera, Inc. All rights reserved. • Cluster Validation • ドッグフーディングクラスタで診断データを分析し、既知のバグや パフォーマンス劣化を及ぼす兆候を⾃動的に検知 • 緊急性の⾼いものについてはお客様に通知する Cloudera の取り組み
  • 30. 30© Cloudera, Inc. All rights reserved. • トラブルシューティングを神業にしない • 経験のあるメンバーのナレッジを定期的に共有 • ツール化することで再現性を⾼める • hbck の結果を⾃動で分析するツール • ログから傾向を⾃動で分析するツール Cloudera の取り組み
  • 31. 31© Cloudera, Inc. All rights reserved. • Close Loop Reason • クローズしたケースを分析し、問い合わせの傾向を把握 • プロダクトロードマップへ反映 • サポータビリティの向上 • 原因特定がしやすいログメッセージの出⼒ • 混乱を招く製品挙動の変更 • 障害対応に必要なコマンドの⾃動実⾏と取得 • ドキュメントの改善 Cloudera の取り組み
  • 32. 32© Cloudera, Inc. All rights reserved. それでも⾟いことはある
  • 33. 33© Cloudera, Inc. All rights reserved. • hbck で不整合が直らない • 理屈では直るはずが、hbck 実⾏後新たな不整合ができている • 無限ループ ⾟かったこと①
  • 34. 34© Cloudera, Inc. All rights reserved. 160 箇所の不整合が検出 😥 ⾟かったこと①
  • 35. 35© Cloudera, Inc. All rights reserved. 重複しているリージョンが 160 個 😰 ⾟かったこと①
  • 36. 36© Cloudera, Inc. All rights reserved. -fixHdfsOverlaps -fixMeta -fixAssignments Region A と B が重複しているとする 1. と のクローズ 2. の作成 3. と のhfile を に移動 4. と のディレクトリを削除 5. hbase:meta から と のエントリを削除 6. と のリージョンディレクトリが復活(中⾝は空) 7. がオンラインにならない 8. が重複した状態となる Region A Region C Region B Region A Region B Region C Region A Region B Region A Region B Region A Region B Region C Region A Region B Region C
  • 37. 37© Cloudera, Inc. All rights reserved. • と に実データがない ( .regioninfo のみ) • に実 hfile が存在 1. と を HDFS ディレクトリごと強制退避 2. をベースにリージョン情報を強制更新することで修正 -fixEmptyMetaCells -fixMeta -fixAssignments <table name> 3. ログを⾒て問題が再発していないことを確認 対処 Region A Region B Region C Region A Region B Region C
  • 38. 38© Cloudera, Inc. All rights reserved. • 材料 • Read Replica を使⽤している • リージョン merge が発⽣している • HBASE-18025 • Read Replica 使⽤時に、split/merge した古いリージョンの 情報がマスターに残り続け、実データを持たないリージョン ディレクトリを再作成してしまう 原因
  • 39. 39© Cloudera, Inc. All rights reserved. • HBase レプリケーションが進まない • ターゲットクラスタでレプリケーションが滞留 • ソース ‒ ターゲット間のラグが埋まらない ⾟かったこと②
  • 40. 40© Cloudera, Inc. All rights reserved. • ダイレクトバッファのメモリリーク • RegionServer のログ、ヒープダンプ、メトリクスよりリークを確認 • 参考 • http://www.evanjones.ca/java-bytebuffer-leak.html • https://bugs.openjdk.java.net/browse/JDK-8147468 • アプリケーションのバッドデザイン • 1 GiB 近くの WAL を⽣成するような書き込みの設計 原因 java.io.IOException: com.google.protobuf.ServiceException: java.lang.OutOfMemoryError: Direct buffer memory on XXX,60020,1518078103721
  • 41. 41© Cloudera, Inc. All rights reserved. • リークの対処 • -Djdk.nio.maxCachedBufferSize=262144 • レプリケーションラグ 1. ターゲットクラスタのテーブルを削除 2. ソースクラスタで HBase スナップショットを取得 3. ターゲットクラスタにクローン • アプリケーション設計 • WAL の中⾝から問題となっているキーを指摘 • アプリケーション、スキーマの再設計を依頼 or • お客様⾃⾝でできない場合はコンサルティングサービスの提案(有償) 対処
  • 42. 42© Cloudera, Inc. All rights reserved. Thank you daisuke@cloudera.com
  • 43. 43© Cloudera, Inc. All rights reserved. Appendix
  • 44. 44© Cloudera, Inc. All rights reserved. • -repair オプションは使わないこと • 計 10 個のオプションが⾃動実⾏される à それぞれが何をするものか理解しているか? à 全てのオプションが必要なケースを⾒たことがない • 重複しているリージョンを /hbase/data の外側に退避してしまう à ⼀時的にデータロストの状態になる à 再ロードするのは⼤変 hbck 実⾏時の注意
  • 45. 45© Cloudera, Inc. All rights reserved. • -fixHdfsHoles/-fixHdfsOverlaps 実⾏時のリージョンサイズ • リージョン merge が⾛る • merge 後のリージョンが hbase.hregion.filesize を越えると リージョン split が⾃動的に⾛る à hbck による修正と衝突すると新たな不整合を招く hbck 実⾏時の注意