目次
ざっとインストールガイドとか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 powered by Disqus
See Also by Hugo
- MorphlinesのloadSolrをちょっとだけ調べてみた
- Cloudera Searchのモジュールたち
- Cloudera Searchってのが出たらしい(とりあえず、雑感?)
- Morphlines入門?
- Domain-Specific Pretraining for Vertical Search: Case Study on Biomedical Literatureという論文を読んだ