进入hadoop目录,拷贝apache-solr-4.8.1.tgz,解压缩
tar-zxvf apache-solr-4.8.1.tgz
mv apache-solr-4.8.1 solr
cp -rf /home/hadoop/solr/dist/solr-4.8.1.war /usr/local/tomcat/webapps
mv solr-4.8.1.war solr.war
#启动tomcat自动解压
mkdir /home/hadoop/solr/solrhome
mkdir /home/hadoop/solr/solrindex
cp -rf /home/hadoop/solr/example/solr/* /home/hadoop/solr/solrhome
vim /home/hadoop/solr/solrhome/collection1/conf/solrconfig.xml
把这几个配置注释掉,暂时用过不到。
<!--
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
-->
同样是这个文件指定你的索引文件存在什么地方的
<dataDir>${solr.data.dir:}</dataDir>
/home/hadoop/solr/solrindex #我的索引目录
<dataDir>${solr.data.dir:/home/hadoop/solr/solrindex}</dataDir>
vim /usr/local/tomcat/conf/Catalina/localhost/solr.xml
没有手工创建创建solr.xml文件,文件内容如下:
<Context docBase="/usr/local/tomcat/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/home/hadoop/solr/solrhome" override="true" />
</Context>
vim /usr/local/tomcat/conf/server.xml
添加编码方式,修改后如下<Connector port="8080" URIEncoding="UTF-8" #其它不变
启动tomcat解压solr.war 生成solr文件
vim /usr/local/tomcat/webapps/solr/WEB-INF/web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/home/hadoop/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
这时候我们启动会报错,说找不到一些类,这些类是log4j相关的,记日志用的。
需要的jar包如下:
从/solr-4.7.0/example/lib/ext复制所有的jar到tomcat/lib下,并复制solr-4.7.0\example\resources\log4j.properties到tomcat/lib下
重新启动tomcat,浏览器进入:http://localhost:8080/solr,便进入了solr的管理界面了