1.先搭建单机版
1.1前提是安装好jdk并配置环境变量
1.2tomcat路径是/usr/local/solr/tomcat,tomcat环境配置在tomcat/bin/startup.sh中进行配置,在最上面添加:
export CATALINA_HOME=/usr/local/solr/tomcat
export CATALINA_BASE=/usr/local/solr/tomcat
1.3解压上传的solr
tar zxvf solr-4.10.3.tgz.tgz
1.4将解压后solr-4.10.3/dist文件夹下的solr-4.10.3.war复制到tomcat/webapps,并修改名称为solr.war.
cp -r solr-4.10.3.war usr/local/solr/tomcat/webapps/solr.war
1.5运行tomcat,然后关闭,删除solr.war
1.6把/tmp/solr-4.10.4/example/lib/ext 目录下所有的jar包复制到solr工程中。
# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
1.7把solr-4.10.3/example/solr复制到/usr/local/solr/solrhome中
# cp -r solr /usr/local/solr/solrhome
1.8 告诉solr,solrhome的位置,去tomcat中solr项目的web.xml修改
# vi /usr/local/solr/solrhome/tomcat/webapps/solr/WEB-INF/web.xml
注意:要去掉这段标签的注释
如果不去掉注释,会报如下错误
1.9放行8080端口,启动tomcat,访问solr项目。
2.SolrCloud配置
1.前提是安装好zookeeper,使用zookeeper可以管理solr集群
1.1上传压缩包到/usr/local/tmp下,并解压.
1.2 在/usr/local下新建文件夹zookeeper
# mkdir /usr/local/zookeeper
1.3把解压的所文件夹复制到zookeeper下,并命名为zk1
# cp -r /usr/local/temp/zookeeper-3.4.8 /usr/local/zookeeper/zk1
1.4在zk1下新建文件夹data
1.5在data下新建文件myid,里面写上1
# vim myid
1.6进入到zk1/conf下把zoo_sample.cfg复制一份叫做zoo.cfg
1.7编辑zoo.cfg内容,设置dataDIR为data文件夹,并在文件最下面添加下面内容
server.1=192.168.213.130:2688:3888
server.2=192.168.213.130:2689:3889
server.3=192.168.213.130:2690:3890
1.7.1 server.1 中的1 是myid的内容
1.7.2 2688,2689,2690 是zookeeper内部端口
1.7.3 3888,3889,3890 是leader端口
1.8把zk1复制两份,分别叫做zk2,zk3,并修改myid的值为2,3 修改zoo.cfg中dataDIR和clientPort
1.9启动三个zookeeper
# ./zkServer.sh start
1.10查看状态
# ./zkServer.sh status
2.SolrCloud配置
2.1复制/usr/local/solr/tomcat,在复制3份,分别叫做tomcat2,tomcat3,tomcat4
2.2修改tomcat/conf/server.xml的端口号,每个文件都需要修改3处.
2.3复制/usr/local/solr/solrhome再复制3份,分别叫做solrhome2,solrhome3,solrhome4
2.4修改tomcat中solr项目的web.xml中<env-entity-value>为对应的solrhome路径
2.5修改4个tomcat的tomcat/bin/startup.sh,在最上面加上,否则启动时都启动一个
export CATALINA_HOME=/usr/local/solr/tomcat3
export CATALINA_BASE=/usr/local/solr/tomcat3
2.6在第一个tomcat的tomcat/bin/catalina.sh的最上面添加
JAVA_OPTS="$JAVA_OPTS -DzkHost=192.168.213.130:2181,192.168.213.130:2182,192.168.213.130:2183 -Dbootstrap_confdir=/usr/local/solr/solrhome/collection1/conf -Dcollection.configName=collection1 -DnumShards=2 -DreplicationFactory=2" |
-DzkHost表示zookeeper地址
-Dbootstrap_confdir表示对某个solr实例下的配置统一管理
-Dcollection.configName表示配置文件别名,一般与实例名称相同。
-DnumShards表示分片数量
-DreplicationFactor表示每个分片中服务数量(2表示一主一备)
2.7在另外3个tomcat/bin/catalina.sh最上面添加
JAVA_OPTS="$JAVA_OPTS -DzkHost=192.168.213.130:2181,192.168.213.130:2182,192.168.213.130:2183 -DnumShards=2 -DreplicationFactory=2" |
2.8修改4个solrhome的solrhome下的solr.xml
2.9关闭防火墙,启动tomcat
2.10页面出现cloud项表示成功。