Solr 7 - CentOS 部署篇

当前环境

服务器:CentOS 7 x64 阿里云小水管

先来准备道具

以下,建议将各个道具放置于 /opt 目录
  1. 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"	
    
  2. 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

如果没有什么自定义需求,我们就直接使用这段命令进行下一步操作:

扫描二维码关注公众号,回复: 9056579 查看本文章
./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 # 默认端口,一般不用修改,否则在安装服务的时候就已经设置了不是
发布了188 篇原创文章 · 获赞 198 · 访问量 211万+

猜你喜欢

转载自blog.csdn.net/maxsky/article/details/85340328