1. solr单机版
第一步:将solr安装包解压到/usr/local下
第二步:在/usr/local新建一个solr文件夹,并将将纯净的tomcat复制到该文件夹下。
mkdir /usr/local/solr
cp -r apache-tomcat-8.5.24 solr/tomcat
第三步:将解压的solr下的dist文件夹中的war包部署到tomcat中,并改名为solr.war
cd solr-4.10.3/dist
cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war
第四步:解压缩war包。启动Tomcat解压。
第五步:把/root/solr-4.10.3/example/lib/ext目录下的所有的jar包,添加到solr工程中。
[root@localhost ext]# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
第六步:创建一个solrhome。/example/solr目录就是一个solrhome。复制此目录到/usr/local/solr/solrhome
[root@localhost example]# cp -r solr /usr/local/solr/solrhome
[root@localhost example]#
第七步:关联solr及solrhome。需要修改solr工程的web.xml文件。
vim /usr/local/solr/tomcat/webapps/solr/WEB-INF/web.xml
第八步:启动Tomcat。访问:http://192.168.1.123:8080/solr
2. solr集群版
第一步:创建solr-cloud文件夹,并在solr-cloud下复制4个纯净的tomcat。每个tomcat运行在不同的端口。
mkdir /usr/local/solr-cloud
cp /usr/local/ apache-tomcat-8.5.24 /usr/local/solr-cloud/tomcat01
cp /usr/local/ apache-tomcat-8.5.24 /usr/local/solr-cloud/tomcat02
cp /usr/local/ apache-tomcat-8.5.24 /usr/local/solr-cloud/tomcat03
cp /usr/local/ apache-tomcat-8.5.24 /usr/local/solr-cloud/tomcat04
vim /usr/local/solr-cloud/tomcat01/conf/server.xml
另外三个tomcat的端口也要改82… 83… 84…
第二步:部署solr的war包。把单机版的solr工程复制到集群中的tomcat中。
第三步:为每个solr实例创建一个对应的solrhome。使用单机版的solrhome复制四份。
第四步:需要修改solr的web.xml文件。把solrhome关联起来。
vim solr-cloud/tomcat01/webapps/solr/WEB-INF/web.xml
其余三个也要修改
第五步:配置solrCloud相关的配置。每个solrhome下都有一个solr.xml,把其中的ip及端口号配置好。
其余三个也要配置
第六步:让zookeeper统一管理配置文件。需要把solrhome/collection1/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可。使用工具上传配置文件:/usr/local/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh
./zkcli.sh -zkhost 192.168.1.123:2181,192.168.1.123:2182,192.168.1.123:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf
查看zookeeper上的配置文件:
使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:
[root@localhost bin]# ./zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[configs, zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /configs
[myconf]
[zk: localhost:2181(CONNECTED) 2] ls /configs/myconf
[admin-extra.menu-top.html, currency.xml, protwords.txt, mapping-FoldToASCII.txt, _schema_analysis_synonyms_english.json, _rest_managed.json, solrconfig.xml, _schema_analysis_stopwords_english.json, stopwords.txt, lang, spellings.txt, mapping-ISOLatin1Accent.txt, admin-extra.html, xslt, synonyms.txt, scripts.conf, update-script.js, velocity, elevate.xml, admin-extra.menu-bottom.html, clustering, schema.xml]
[zk: localhost:2181(CONNECTED) 3]
退出:
[zk: localhost:2181(CONNECTED) 3] quit
使用以下命令连接指定的zookeeper服务:
./zkCli.sh -server 192.168.1.123:2183
第七步:修改每个tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper。
把此配置添加到配置文件中:
JAVA_OPTS="-DzkHost=192.168.1.123:2181,192.168.1.123:2182,192.168.1.123:2183"
第八步:启动每个tomcat实例。要包装zookeeper集群是启动状态。
第九步:访问集群 http://192.168.1.123:8180/solr/ 或http://192.168.1.123:8280/solr/ 或http://192.168.1.123:8380/solr/ 或 http://192.168.1.123:8480/solr/
第十步:创建新的Collection进行分片处理。
第十一步:删除不用的Collection。
http://192.168.1.123:8180/solr/admin/collections?action=DELETE&name=collection1