目录
安装环境
JDK8、centos 7
solr安装包目录说明
solr_home
solr_home\bin 目录
solr_home\server 目录
一、单机模式
1.下载:https://lucene.apache.org/solr/downloads.html
2.解压: tar -zxvf solr-7.7.2.tgz,并进入solr根目录
3.进入bin 目录修改solr.in.sh 脚本。于文件底部修改SOLR_ULIMIT_CHECKS属性,设置为false
4.启动在bin 目录启动solr。执行: ./solr start
若是以root 用户登录,则需要加上-force , 如: ./solr start -force
二、solrCloud(测试用)
注意:此处非生产模式,非生产模式,生产模式需要单独部署zookeeper的集群,而非使用solr内嵌的zookeeper。刺激群模式可用于简单测试。生产用的集群部署方式请直接看下文。
与单机模式一样,先下载解压。
1.准备两个空文件夹作为主次节点,solrnode1 是主节点,solrnode2 是次节点,如:
2.复制 /solr-7.7.2/server/solr 目录下的solr.xml 与zoo.cfg到主节点,次节点只需要复制solr.xml。即:
solrnode1:solr.xml,zoo.cfg
solrnode2:solr.xml
3.在 /solr-7.7.2/bin 目录执行以下两个命令:
./solr start -c -s /usr/local/chiyf/solrcloud/solrnode1
./solr start -c -s /usr/local/chiyf/solrcloud/solrnode2 -p 8984 -z localhost:9983
4.浏览器访问随便一个节点
部署成功。
三、solrCloud(生产用)
1.zookeeeper部署
请直接参考官方的指南进行部署:http://zookeeper.apache.org/doc/current/zookeeperStarted.html
2.solr部署
solr在生产中安装的原则是软件与索引数据分离,当需要升级或其他处理solr时会方便很多。
(1)从安装包中解压出安装脚本(安装脚本只可用于:CentOS, Debian, Red Hat, SUSE and Ubuntu Linux distributions)
tar xzf solr-7.7.2.tgz solr-7.7.2/bin/install_solr_service.sh --strip-components=2
(2) 安装脚本说明
执行 ./install_solr_service.sh -help 命令进行查看
-i 指定软件安装目录。默认 /opt
-d 指定数据目录(solr主目录):内核存储目录 。默认 /var/solr
- u 指定要创建的拥有solr的用户名,出于安全考虑,不应以root来运行。默认 solr
-s 指定系统服务名。默认 solr
-p 指定端口。默认 8983
下面我们用root 执行安装脚本进行安装。
./install_solr_service.sh solr-7.3.0.tgz
等价于
./install_solr_service.sh solr-7.3.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
当执行完安装脚本后,脚本会自动启动solr。若需要改里面的配置需要先关闭调solr
(3)关闭solr kill - 9 pid
(4) 修改程序配置,/etc/default/solr.in.sh 中solr 启动参数,此处只列举几个配置不一一说明。
{1}solr默认使用内存为:SOLR_JAVA_MEM="-Xms10g -Xmx10g"
此处内存可根据服务器内存情况自行分配。
{2}配置ZK_HOST,让solr实例以solrCloud模式运行,格式为:ZK_HOST=zk1:2181,zk2:2181,zk3:2183
多个节点以逗号进行分割。如:ZK_HOST=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
注意:Solr默认使用zookeeper的/为其根目录,在多应用共用zookeeper的情况下,为避免冲突,应该在单独的子节点(如/solr)下来存储solr的配置信息,zookeeper节点需要事先创建好。创建好了直接在ZK_HOST上配置就可以
ZK_HOST=127.0.0.1:2181/solr,127.0.0.1:2182/solr,127.0.0.1:2183/solr
(5)启动solr, 执行 systemctl start solr 。 可通过 systemctl status solr 进行查看solr状态,此时solr的一个实例就已经部署完成,其他实例根据同样的方法进行部署即可。