一、solr简介
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。文档通过Http利用XML 加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。博文实验环境:
- 操作系统:centos7.6
- solr版本:8.11.1
- jdk版本:1.8.0_291
二、安装步骤
0、安装jdk8
solr需要java环境,JDK安装步骤见博文:Linux之JDK安装与升级
1、下载软件包
#访问solr官网复制下载链接,链接地址
[wuhs@s142 ~]$ wget --no-check-certificate https://www.apache.org/dyn/closer.lua/lucene/solr/8.11.1/solr-8.11.1.tgz?action=download
2、校验完整性
[wuhs@s142 ~]$ mv solr-8.11.1.tgz?action=download solr-8.11.1.tgz
[wuhs@s142 ~]$ sha512sum solr-8.11.1.tgz
4893f836aec84b03d7bfe574e59e305c03b5ede4a48020034fbe81440b8feee79e55fd9ead230e5b89b3f25124e9b56c1ddc4bb5c7f631cf4e846b9cab5f9a45 solr-8.11.1.tgz
3、解压软件包
[wuhs@s142 ~]$ tar -zxvf solr-8.11.1.tgz
4、创建软链接
[wuhs@s142 ~]$ ln -s solr-8.11.1 solr
5、启动solr
[wuhs@s142 solr]$ ./bin/solr start
NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.
Started Solr server on port 8983 (pid=11063). Happy searching!
6、检查服务端口
7、查看solr控制面板
8、创建一个core
[wuhs@s142 solr]$ mkdir -p /home/wuhs/solrhome/data
[wuhs@s142 solr]$ cp -r ./server/solr/configsets/_default/conf ~/solrhome/
#备注:需要创建instanceDir,dataDir相关目录,需要存在config和schema配置文件,否则会报错。
9、查看core
三、QA
1、启动的时候有告警Your open file limit is currently 1024.
- 告警信息:Your open file limit is currently 1024. It should be set to 65000 to avoid operational disruption.
- 告警原因:用户limit参数默认值不满足solr要求
- 解决方案:用root账户修改/etc/security/limits.conf参数大于65000,,普通账户重新连接生效。
[root@s142 ~]# vim /etc/security/limits.conf
#插入如下内容:
#solr服务系统参数要求
wuhs soft noproc 65535
wuhs hard noproc 65535
wuhs soft nofile 65535
wuhs hard nofile 65535
2、启动的时候有告警Your Max Processes Limit is currently 4096
- 告警信息:
- 告警原因:
- 解决方案:用root账户修改/etc/security/limits.d/20-nproc.conf参数,普通账户重新连接生效。
[root@s142 ~]# vim /etc/security/limits.d/20-nproc.conf
#插入如下内容:
#solr服务系统参数要求
wuhs soft nproc 65535
wuhs hard nproc 65535
3、创建core的时候报错
- 报错信息:Path /home/wuhs/solrhome must be relative to SOLR_HOME, SOLR_DATA_HOME coreRootDirectory. Set system property ‘solr.allowPaths’ to add other allowed paths.
- 报错原因:Dsolr.allowPaths参数没有此路径
- 解决方案:修改solr.in.sh文件solr.allowPaths参数,添加datadir路径到参数中
[wuhs@s142 solr]$ vim +242 bin/solr.in.sh
#添加你的datadir路径到参数中
SOLR_OPTS="$SOLR_OPTS -Dsolr.allowPaths=/mnt/bigdisk,/other/path,/home/wuhs/solrhome"
4、创建core时报错solrconfig.xml找不到
- 报错信息:Error CREATEing SolrCore ‘test_core’: Unable to create core [test_core] Caused by: Can’t find resource ‘solrconfig.xml’ in classpath or ‘/home/wuhs/solrhome’
- 报错原因:新创建的文件夹下没有solrconfig.xml文件
- 解决方案:拷贝一份conf目录到instanceDir目录下
[wuhs@s142 solr]$ cp -r ./server/solr/configsets/_default/conf ~/solrhome/