@johtaniの日記 2nd

@johtani ‘s blog 2nd edition

Cloudera Searchメモ(妄想版)

ざっとインストールガイドとかCloudera Searchのソース眺めて、テキトーにメモを書いてみました。 (ユーザガイドはまだ読んでないです。)

ざっくりメモ

  • ストリーム処理でインデックス作るときはFlume経由でSolrに
    • SinkとEventの両方が用意されてる?(Flumeを良く知らないので、違いがわからない)
    • FluemeからはリモートのSolrに対してインデックス登録するクラスがある。SolrServerDocumentLoaderがソレだと思う。
  • バッチ処理でインデックス作るときはMapReduceIndexerToolsってのを使ってSolrに
    • SOLR-1301がベースになっている。色々と改良されてるようだけど、コアとなってる処理はSOLR-1301。
    • GoLiveってクラスの処理の中で、現在動作してるSolrに配布したバッチで作成されたIndexをマージする処理が書いてある。
    • HDFSへ出力されたインデックスはリモートのSolrからアクセスするとオーバヘッドとかどーなるのかなぁ?
  • 検索処理自体はHueでもできるけど、基本的にSolrCloud任せ
  • インデキシングの処理のフローについてはCloudera Mrophlinesで定義

ということで、 2つの流れがありそう。

  • HDFS→Flume→Solr
  • HDFS→MapReduce→Solr

で、まだ、わかってないですが、構成要素として

  • Hadoop(HDFS):データソース
  • Hadoop(MapReduce):データ変換処理、バッチインデキシング
  • Zookeeper:SolrCloudのクラスタ管理
  • Solr:インデキシング、検索エンジン
  • Flume:データをストリーミングでSolrへ
  • Coudera Morphlines:HDFSからSolrまでのETLデータ処理を定義実行する環境

って感じでしょうか。 SolrCloudのクラスタとHadoopのクラスタが同一マシン上なのか、別なのかとか。組み合わせがどんなものができるのかがまだわかってないです。 ユーザガイド読んでみたらなにか出てくるかなぁ。

ちなみに、Cloudera SearchのgithubリポジトリにあるソースはCloudera Morphlinesのコードがメインで、SolrのHDFS対応版のソースがあるわけでは無かったです。

  • SolrのHdfsDirectoryってのがClouderaのリポジトリにあるSolrには追加されていて、これが、HDFSのインデックスを読み込んだりする処理が出来る仕組みっぽい。
  • 一応、SolrCloud以外(分散検索)も考慮された形になってるっぽい。

ってとこでしょうか。

感想

読んでて思ったんですが、Cloudera Searchの肝はじつは、検索じゃなくて、Morphlinesにあるんじゃないかなぁと。今はSolrが出力先ですが、 その他のデータ変換処理とかが増えてくると、処理の流れがMorphlinesで定義できてデータ変換処理が簡便になりそうな気が。

その他に気になる観点

  • CDH経由でSolrCloudのクラスタの管理するのかな?
  • SolrCloud用のクラスタとCDHのクラスタって同一マシンに載るの?別マシンにもできるの?
    • 併存したらIOがキツそうだけど
  • Hueで検索アプリとか組めるの?(そもそもHueがわかってないんだけど。。。)

ま、とりあえず、こんなとこで。 つぎは余力があれば、ユーザガイドかなぁ。 英語力。。。

Comments