Solr 是什么?
Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的 Java 来实现。服务 器通信使用标准的 HTTP 和 XML ,所以如果使用Solr 了解 Java 技术会有用却不是必须的要求。
Solr主要特性有:强大的全文检索功能,高亮显示检索结果,动态集群,数据库接口和 电子文档(Word ,PDF 等)的处理。而且 Solr具有高度的可扩展,支持分布搜索和索引的复制。
用MapReduce构建Solr索引
本文在markrmiller的repo上做了一些改动,成功地在Hadoop上利用MapReduce创建了Solr的索引。
实验环境
- Ubuntu 16.04的虚拟机一台(2GB 内存,1核)
- 安装JDK 7+
实验步骤
首先要能够免密登录localhost:
sudo apt-get install openssh-server
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
现在ssh localhost
就不再需要输入密码了。
接下来先安装一个在运行过程中要用到的软件unzip:
sudo apt-get install unzip
然后从github下载源码到根目录,然后运行run-example.sh
:
git clone https://github.com/scuxiayiqian/solr-map-reduce-example.git
cd solr-map-reduce-example
bash run-example.sh
运行成功后程序就会启动一个MapReduce的任务对下载下来的Twitter数据建立索引,并上传到Solr Cloud上去。运行完成后我们可以通过http://127.0.0.1:8983/solr
来查看结果。也可以通过http://127.0.0.1:50075
和http://127.0.0.1:8042
分别访问NameNode和Yarn。