Solr安装部署文档
目录
2.2.2 修改Solr的启动脚本,添加zookeeper配置... 5
1 单机Solr部署
注意事项:本文的安装路径是根据14机器的环境定的,如果有需要,可以更改相关的安装路径。
1.1 安装前提
正确安装了JDK1.6或者JDK1.6以上版本
1.2 安装Tomcat
Solr的安装包是一个war包,可以直接在Tomcat下面运行。
将tomcat包安装到
/data/zbase/solr/tomcat目录中
1.3 安装Solr发布包
从官方网站下载最新的solr发布包,并解压到
/data/zbase/solr/solrdistrib目录
将/data/zbase/solr/solrdistrib/ dist目录下面的solr-xxx.war拷贝并解压成
/data/zbase/solr/solrdistrib/solr目录,这就是我们要运行的solr工程包。
1.4 安装Solr配置
每个solr都需要有一个目录,用来放置相关配置文件,以及索引产生的目录data。
将 /data/zbase/solr/solrdistrib/example 目录下面的solr目录拷贝并命名为
/data/zbase/solr/solrdistrib/solrhome,该目录就是用来存放我们的运行配置以及索引的目录。
该目录有如下几个文件需要编辑:
n /data/zbase/solr/solrdistrib/solrhome/solr.xml
用来配置tomcat的端口以及solr的core(一个core相当于一个索引库)
我们tomcat的端口默认是8080,因此,将solr.xml修改成如下:
<cores adminPath="/admin/cores"defaultCoreName="collection1" host="${host:}"hostPort="8080"hostContext="${hostContext:solr}"zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1"instanceDir="collection1" />
</cores>
n /data/zbase/solr/solrdistrib/solrhome/collection1/conf/schema.xml
该配置文件用来存放索引的字段,以及是否存放原始内容等。
我们的索引要对以下的字段进行索引或者存放:
A. uid 只存放,不建立索引
B. nick 不存放,进行索引
C. signature 不存放,进行索引
D. personalNote 不存放,进行索引
E. sid 存放,不建立索引
F. online 存放,不建立索引
G. lastLoginTime 存放,不建立索引
修改schema.xml,添加以上字段,并删除多余的字段
<fieldname="id" type="string" indexed="true"stored="true" required="true" multiValued="false"/>
<fieldname="nick" type="text_general" indexed="true"stored="true" omitNorms="true"/>
<fieldname="signature" type="text_general"indexed="true" stored="true"omitNorms="true"/>
<fieldname="personalNote" type="text_general"indexed="true" stored="true"omitNorms="true"/>
<fieldname="sid" type="string" indexed="true"stored="true" />
<fieldname="online" type="string" indexed="true"stored="true" />
<fieldname="lastLoginTime" type="string" indexed="true"stored="true" />
<fieldname="_version_" type="long" indexed="true"stored="true"/>
n /data/zbase/solr/solrdistrib/solrhome/collection1/conf/solrconfig.xml
该文件存放solr的核心配置,包括建立索引、更新索引处理器,以及索引目录等等。
索引目录默认放在/data/zbase/solr/solrdistrib/solrhome/collection1/data目录,不用修
改即可。
1.5 将solr工程包部署到tomcat中
进去/data/zbase/solr/tomcat/conf/Catalina/localhost目录。(如果第一次没有该目录,则新建)。在localhost目录下面新建solr.xml,内容如下:
<?xml version='1.0'encoding='utf-8'?>
<!-- The contents of this file will beloaded for each web application -->
<Context docBase="/data/zbase/solr/solrdistrib/solr"debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String"value="/data/zbase/solr/solrdistrib /solrhome" override="true" />
</Context>
1.6 修改Tomcat启动脚本,增加内存
-Xms2048M -Xmx2048m -XX:PermSize=512m-XX:MaxPermSize=512m
1.7 安装完毕,测试
到此,安装完毕。启动tomcat进行测试。
启动后访问http://ip:8080/solr
2 集群Solr部署
集群部署多了一些zookeeper的配置。
2.1 安装zookeeper
下载最新的zookeeper安装包
并解压到 /data/zbase/solr/zookeeper 目录
修改配置文件 /data/zbase/solr/zookeeper/conf/zoo.cfg
将data目录指向本地目录
dataDir=/data/zbase/solr/zookeeper/data
zookeper默认端口是2181
2.2 在某台安装Solr
2.2.1 安装单机Solr
安装步骤参考上面的单机部署。
2.2.2 修改Solr的启动脚本,添加zookeeper配置
修改tomcat/bin/startup.sh脚本,添加配置如下:
export JAVA_OPTS="$JAVA_OPTS -Xms2048M-Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Dbootstrap_confdir=/data/zbase/solr/solrsrc/solrhome0/collection1/conf-Dcollection.configName=myconf -DzkHost=10.20.81.14:2181-Dhost=10.20.81.14 -Djetty.port=8080 -DhostPort=8080 -DhostContext=solr-DnumShards=2"
其中bootstrap_confdir是我们单机solr的solrhome下面的配置文件
zkHost是我们zookeeper的主机和端口
host和port是我们单机solr的host和tomcat端口。
numShards是我们集群的台数
2.2.3 修改Solrhome的配置
在路径下面/data/zbase/solr/solrsrc/solrhome0/collection1/solr.xml
修改里面的ip和端口号为本机的ip和端口
2.3 将安装好的Solr复制到其它机器
为方便管理、保持路径一致,最好是在其它机器路径一样。
将tomcat、solrdistrib包等相关拷贝过去。
修改启动脚本。
集群中的从机启动脚本有些不同。如下
export JAVA_OPTS="$JAVA_OPTS -Xms2048M-Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -DzkHost=10.20.81.14:2181 -Dhost=10.20.80.14-Djetty.port=8080 -DhostPort=8080 -DhostContext=solr -DnumShards=2"
不用指定-Dbootstrap_confdir和-Dcollection.configName=myconf
2.4 启动
2.4.1 启动zookeeper
/data/zbase/solr/zookeeper/bin/zkServerstart
2.4.2 启动每台Tomcat
2.5 安装成功
登录每台tomcat,看到的都是一样
2.6 停止
停止zookeeper
/data/zbase/solr/zookeeper/bin/zkServerstop
停止每台服务器