Skip to content

Instantly share code, notes, and snippets.

@satoshihirose
Last active August 29, 2015 14:14
Show Gist options
  • Save satoshihirose/42df68f95e527b5b5881 to your computer and use it in GitHub Desktop.
Save satoshihirose/42df68f95e527b5b5881 to your computer and use it in GitHub Desktop.

##HBase徹底入門刊行記念セミナー開催概要

  • 開催日:2015年2月2日(月)
  • 開場:18:30
  • 時間:19:00から21:00
  • 場所:サイバーエージェント東京オフィス セミナールーム(渋谷マークシティ13階)
  • 定員:100名
  • 参加費:無料
  • 主催:Cloudera株式会社
  • 協賛:株式会社サイバーエージェント、株式会社翔泳社

##19:00 ご挨拶

##19:05 HBase徹底入門 著者 株式会社サイバーエージェント 鈴木俊裕様、梅田永介様、柿島大貴様 ###本の紹介とHBaseの概要

  • 鈴木俊裕さん自己紹介。Ameba。Hadoopでのログ解析やHBaseで基盤システムの担当。
  • 書籍の紹介。この本の売りは「この本を読めばHBaseを知らないエンジニアでもアプリケーション開発やクラスタ構築がひと通り出来るようになる」
  • HBaseの構成説明。書き込みが早い。(読み込みは遅いけど頑張っている?)
  • HDFSはデフォルトで3つのレプリカ。HBaseの信頼性はHDFSに依存している。
  • 企業での使用例。LINE、Facebook。AmebaではグラフDBとしてつかってる。Hornet。
  • HBaseのAPI。CRUD。Read-Modify-Writeも出来る。CAS(CheckAndPut, CheckAndDelete)もできる。
  • ストレージフォーマット。値がNULLならKeyValueが保存されない。Versionはtimestampが違うKeyValueになる。
  • データの分割。Region単位。大きくなりすぎると分割される。
  • データファイル。ColumnFamily毎にデータファイルが別れる。列指向。それ毎に圧縮、エンコーディング、ブルームフィルタリング出来る。
  • スキーマ設計。物理設計がRDBの場合と大きく異なる。
  • スキーマ設計のポイント。ソートさせた状態での取得はRowKeyとColumn。RowKeyのプレフィックスが同じデータは近いのでスキャンが効率的。
  • 非正規化。セカンダリインデックスやJoinがないので非正規化をする。複数PUTする、Joinされた状態でデータを格納。整合性確保が難しい、容量が大きくなる。トレードオフ。
  • テクニックはChapter6参照!
  • アプリケーション例一部説明。メッセージングサービス。シナリオからクエリを考える。RowKeyに最新順で欲しい場合はリバースドタイムスタンプを使う、ホットスポット対策でHash値を頭に付ける。等々。(Oxab-1-200-msgId2。msgIdって文字列をkeyに入れる必要あった?)
  • まとめ。

###クラスタ構築について

  • 柿島大貴さん自己紹介。2011年新卒インフラエンジニアで秋葉原ラボ。エンジニアブログの運営。Chapter8-12を担当。
  • 質問。完全分散モードでの運用経験ある人は?会場の1/3
  • HBaseクラスタ構築は難しい?HDFSが事前に動いている全体が辛いという意見がある。プロセスが多い。弊社だと多いものだと50台とか。
  • 本書は汎用的な構成管理についてはClouderaManagerに説明を絞った。一運用者の視点から採用た。
  • デモ。Ansibleでユーザー作成とか。ClouderaManagerのインストール。HBaseの導入。ライセンスの選択。NameNodeの冗長化もGUIで。
  • まとめ。ClouderaManagerで挫折なし入門!

###パフォーマンス・チューニング

  • 梅田永介さん自己紹介。グラフDBを開発運用。
  • MemStoreについて。メモリ上のMemStoreからFlushでHFileに書き出しされる。一定データ量、一定期間、一定更新回数でバックグラウンド実行。
  • Flush中はMemStoreが大きくなり続けるのでOOM発生のおそれが。書き込みブロックされる設定も。multiplier。低すぎると性能が出ない。
  • サイズ総量による強制Flush。MemStoreのサイズ総量が設定を下回るまでFlushし続ける。ブロックすることも出来る。

###質問

  • 執筆期間は?半年くらい。
  • 柿島さんHBase一言も出なかったのでは?本にはClouderManager以外も書いてます。
  • 梅田さん。本にはBlockCacheについても書いてあります。

##19:50  HBaseサポート最前線 Cloudera株式会社 小林大輔

  • カスタマーオペレーションズエンジニア。日本国内のお客様を把握している。海外の仕事もお手伝い。担当製品は細かく分かれていない。
  • CDH5.2.1ベース。ClouderaサポートとHBaseの関係。HBaseサポートは5年目。総サポートノード数は20000。HBaseの使用率は60%(国内でも金融、製造業、ゲーム豪快のお客様をサポート)
  • Cloudera社の社内サポートシステムもHBaseで構築。CSI(CustomerSupportInterface)。ライセンスをCDHに入力したお客様のクラスタイベントを収集して全体像を把握。過去事例の全文検索システム。Solorサーチ。スタックトレース検索システム。
  • クラスタ構築時の注意点。
    • THP(Transparent Huge Page)は無効にするのを推奨パフォーマンス劣化を招く。
    • リージョン数の見積もり、モニタリングは慎重に。リージョンサーバー辺りのリージョン数は多くても100以下。MTTRの増加パフォーマンス劣化に繋がる。
  • どうリージョン数を見積もるか。Memstoreサイズと書き込み量から見積もる。heap size 10GB。flush size 128MB。Memstore sizeが0.4→4GB。つまり4/0.128->32。
  • 全データ量とリージョンサーバー数から見積もる。全data*1024/ region size / region server数=サーバー辺りのregion数
  • リージョンスプリットポリシー。
    • ConstantSizeRegionSplitPolocy。一定サイズに達したリージョンを分割。CDH4.1, 0.92までのデフォルト。
    • IncreasingToUppserBoundRegionSplitPolicy。CDH4.2, 0.94以降のデフォ。運用し始めはRegion Sizeを小さく分割。再起動時にRegin数が増加する場合あり。現状修正されていなくて一時系にPolicyを変更するのが良いかと。
  • よくある問題
    • リージョン不整合。突然のShutdownとかオペミスとか。メタ情報の食い違いが発生。
    • 高負荷時のGC。書き込み多いときのGCチューニングは必要。
    • ホットスポット
  • 不整合のトラブルシューティング。hbckユーティリティ。「何かあったら実行してください」。
    • Region Consistencyの検査。MEA、regioninfoで全てのリージョンアサイン状況が合致するか。hbck -fixAssignments -fixMeta。比較的修復は容易。
    • Integrityの検査。キーの重複とか順序の後退とか。hbase hbck -repairHoles。比較的修復は容易。
    • ※hbckは動作を把握しない状況で使用するのは危険。
  • GC
    • sleptがキーワード。大体GC。オプション追加で詳細なログを出力。
    • よくあるシナリオ。promotion failed。concurrent mode failure。
  • まとめ。祝出版。

##20:20  HBase活用事例 Cloudera株式会社 嶋内 翔

  • サポートからSalesへ移った。HBaseはSKVS(SuperKeyValueStore)!!!!!!
  • データはエンティティかイベントのどちらか。
  • 事例1医療系ITソリューション企業。
    • 医療データの蓄積と活用。動機はディシジョンのための情報改善、医療に関するリコメンド。課題は断片化。
    • データ収集システム->Kafka->Storm->HBase,HDFS
    • データ処理にはStormとMapReduceを併用。インクリメンタル処理は複雑でエラーも多い。後追いでMapReduce(信頼性高めるためにみんなやってるって話)。HBaseのデータを元にSolrのシャードを作成。
    • 行キーに人。列に属性情報。
  • まとめ。Clouderaトレーンングしてます。認定試験も。ディスカウントコードでHBaseトレーニングを10%オフ!4日間。先着10名で書籍無料!

##20:45 書籍販売と著者の皆様のサイン会

##21:00 閉会

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment