当前环境
服务器:CentOS 7 x64 阿里云小水管
先来准备道具
以下,建议将各个道具放置于 /opt 目录
-
Java 8(推荐)
去这个地方摸地址:Java SE 8,找到 Linux x64,旁边rpm
那儿右键复制链接地址
复制下来的地址替换掉下方命令中的地址cd /opt wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm"
-
Solr 7
点击进入:Solr 清华镜像,进入后选择需要下载的版本,src.tgz
是源代码压缩包,我比较懒,就直接用已经编译的二进制压缩包吧,对着名字像solr-7.6.0.tgz
的位置右键复制链接地址cd /opt wget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.6.0/solr-7.6.0.tgz
一步一步操作
所有操作假定现在位于 /opt
下,且当前登录用户为 root
安装 Java
rpm -ivh /opt/jdk*.rpm
完毕后输入 javac
试下,能出现一堆参数说明证明安装成功
安装 Solr
我们先摸出服务安装脚本(自行更替版本号)
tar xzf solr-7.6.0.tgz solr-7.6.0/bin/install_solr_service.sh --strip-components=2
此时 install_solr_service.sh
文件出现在了 /opt
目录下
我们瞧瞧这玩意儿的参数说明:
脚本的第一个参数必须为 Solr 发行版压缩包路径,例如 solr-5.0.0.tgz(仅支持 .tgz 或 .zip 格式)
支持的选项包括:
-d 可用/可写 Solr 文件数据的目录,例如日志,pid 文件和索引数据;默认目录为 /var/solr
-i Solr 解压目录;默认为 /opt/,在使用本脚本前该目录必须存在
-p Solr 绑定端口;默认为 8983
-s 服务名称;默认为 solr(即 service solr start / systemctl status solr 所使用的名称)
-u Solr 文件和运行 Solr 进程的所属用户;默认为 solr。如果指定的用户不存在,此脚本将创建该用户
-f 升级 Solr,覆盖之前安装的符号链接和 init 脚本
-n 安装后不启动 Solr 服务,也不要在找不到 Java 时中止
假设我们使用这段命令:
./install_solr_service.sh solr-7.6.0.tgz
实际上是等同于下方命令的:
./install_solr_service.sh solr-7.6.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
如果没有什么自定义需求,我们就直接使用这段命令进行下一步操作:
./install_solr_service.sh solr-7.6.0.tgz
过程中大致会输出这样的内容:
We recommend installing the 'lsof' command for more stable start/stop of Solr
id: solr: no such user
Creating new user: solr
Extracting solr-7.6.0.tgz to /opt
Installing symlink /opt/solr -> /opt/solr-7.6.0 ...
Installing /etc/init.d/solr script ...
Installing /etc/default/solr.in.sh ...
Service solr installed.
Customize Solr startup configuration in /etc/default/solr.in.sh
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=6336). Happy searching!
Found 1 Solr nodes:
Solr process 6336 running on port 8983
INFO - 2018-12-29 16:41:59.968; org.apache.solr.util.configuration.SSLCredentialProviderFactory; Processing SSL Credential Provider chain: env;sysprop
{
"solr_home":"/var/solr/data",
"version":"7.6.0 719cde97f84640faa1e3525690d262946571245f - nknize - 2018-12-07 14:47:52",
"startTime":"2018-12-29T08:41:43.844Z",
"uptime":"0 days, 0 hours, 0 minutes, 17 seconds",
"memory":"28.5 MB (%5.8) of 490.7 MB"}
OK,他在第一行就建议了我们安装 lsof
命令以更稳定的启动和停止 Solr,装一下就行 yum install lsof -y
收尾
至此,Solr 服务已自动启动,我们可以通过浏览器访问到 Solr 的 Web 管理页面,即 http://服务器IP:8983
如果无法访问请检查 firewalld/iptables 防火墙配置及阿里云安全组放行端口等
在打开的仪表盘页面中,我们可以看到一些 Solr 的一些基本信息,包括版本号、启动参数,旁边的内存占用,服务器内存情况等。
对于 Core,也可以看做 Solr 中的数据库的创建,在下一篇说明,这儿不建议通过 Web 页面去添加,-。- 会出问题的!
另外
在 /etc/default/solr.in.sh
文件中,我们可以设置一些参数
SOLR_HEAP # 默认 512m,我们根据需求可以增加或减少,建议不低于 512m
SOLR_JAVA_MEM # 默认两个 512m,我们根据需求可以增加或减少,建议不低于 512m
SOLR_TIMEZONE # 指定时区,国内可以修改为 Asia/Shanghai,默认 UTC
SOLR_LOG_LEVEL # 日志等级,个人喜欢用 WARN,INFO 太多啦
SOLR_ULIMIT_CHECKS # 根据 Solr 建议把他设置为 false,否则根据系统资源限制可能会出现一些警告
SOLR_PORT # 默认端口,一般不用修改,否则在安装服务的时候就已经设置了不是