**この記事の内容は若干古くなっています。まとめページもご覧下さい**
それでは、Clouderaのブログに従い、Solrを使ってみましょう。
MapReduceによるバッチインデックス
まずは、ターミナルから疑似ツイートをセットアップします。この仮想マシンにはサンプルツイートを生成するスクリプトが用意されています。以下のコマンドを実行しましょう。
$ ~/datasets/batch-tweets.sh
[cloudera@localhost ~]$ ~/datasets/batch-tweets.sh
Uploading configs from /home/cloudera/batch_tweets_configs/conf to localhost:2181/solr. This may take up to a minute.
rm: `/user/cloudera/batch_tweets_indir': No such file or directory
rm: `/user/cloudera/batch_tweets_outdir': No such file or directory
0 [main] INFO org.apache.solr.common.cloud.ConnectionManager - Waiting for client to connect to ZooKeeper
33 [main-EventThread] INFO org.apache.solr.common.cloud.ConnectionManager - Watcher org.apache.solr.common.cloud.ConnectionManager@494eaec9 name:ZooKeeperConnection Watcher:localhost:2181/solr got event WatchedEvent state:SyncConnected type:None path:null path:null type:None
(略)
er state from ZooKeeper...
105958 [main] INFO org.apache.solr.hadoop.GoLive - Done committing live merge
105959 [main] INFO org.apache.solr.hadoop.GoLive - Live merging of index shards into Solr cluster took 2.708 secs
105959 [main] INFO org.apache.solr.hadoop.GoLive - Live merging completed successfully
105959 [main] INFO org.apache.solr.hadoop.MapReduceIndexerTool - Succeeded with job: jobName: org.apache.solr.hadoop.MapReduceIndexerTool/TreeMergeMapper, jobId: job_201306202111_0002
105959 [main] INFO org.apache.solr.hadoop.MapReduceIndexerTool - Success. Done. Program took 106.081 secs. Goodbye.
SolrのAdmin UIは下記のようになりました。
HueからSolrを使う
Hueから虫眼鏡のアイコンをクリックすると、以下のダイアログが表示されます。
batch_tweetsにチェックし、Import Selectedをクリックします。
無事にインポートされました。
batch_tweetsをクリックし、左側のメニューからSearch itをクリックします。
結果が表示されました。Clouderaのブログとは少々異なる見栄えです。。
Flumeによる、ツイートをリアルタイムに近い速度でインデキシング
Apache Flumeは、高信頼性で分散可能なログ種集サービスです。(http://flume.apache.org)。
ブログの手順によると、ツイッターへのアクセスが必要です。http://dev.twitter.comにログインし、下記のスクリーンショットを参考にして必要情報(アクセストークンなど)を取得して下さい。
無事に作成できました。作成できたら仮想マシンのコマンドラインから、それらの情報をコマンドの引数で指定します。
フォーマット:$ ~/datasets/nrt-tweets.sh start [CONSUMER_KEY] [CONSUMER_SECRET] \
[ACCESS_TOKEN] [ACCESS_TOKEN_SECRET]
例:(アクセストークンなどはダミーです)
[cloudera@localhost ~]$ ~/datasets/nrt-tweets.sh start bHv9qOppsOFrEF2SFMFVQ asf0324nkasfsdarEF2SFMFVQ 164074432-KZ3N3jQop8x034afAK0IvNYpGWg5a4YCmIsQ4huhVP YbUElRN1gUKDVDlLysR3eaDXs820Y0r3aELUgs
Starting Flume NG agent daemon (flume-ng-agent): [ OK ]
Stopping Flume NG agent daemon (flume-ng-agent): [ OK ]
Starting Flume NG agent daemon (flume-ng-agent): [ OK ]
[cloudera@localhost ~]$
しばらく放置してから停止します。
[cloudera@localhost ~]$ ~/datasets/nrt-tweets.sh stop
Stopping Flume NG agent daemon (flume-ng-agent): [ OK ]
[cloudera@localhost ~]$
取り込んだツイートデータをインポートします。
Collection Managerからnrt_tweetsをクリックし、左側のメニューからSearch itをクリックします。
検索してみました。データは無事に取り込まれているようです!
少々見た目が寂しいですが、このブログのように表示レイアウトはカスタマイズできるようなので、後ほど試してみましょう。アイコンなんかも表示されると良いですよね。
さて、次回に続きます。
(追記 2013/06/22 17:00)
検索結果の画面をカスタマイズしてみました。アイコンがうまく表示できないですが、こんな感じです。結構簡単にカスタマイズできる!
(追記:2013/6/25)
このアイコンの問題、Firefoxのバージョンを最新(手元ではver17)にアップデートすることにより解決しました。開発チームと@daisukebe_さんの迅速な対応に感謝!!