码迷,mamicode.com
首页 > 系统相关 > 详细

Solr 在Linux系统中的产品化安装

时间:2015-08-27 15:14:41      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:solr   安装   产品化   配置   

不同于测试和研究,如果要把Solr产品化部署的话,需要把它安装成一个服务。在Solr压缩包中的bin目录下有一个脚本install_solr_service.sh,它负责solr的安装、并且注册为自启动的service。

目录规划:
动态文件:建议把动态文件(log、索引文件)单独放到另外的目录中(比如/var 里面),跟Solr安装目录不同,以方便管理和以后的升级。缺省是/var/solr,如果需要更改,安装时可以用“-d”参数指定另外一个目录。
安装路径:使用脚本安装,缺省的安装目录是/opt 里面。如果需要换另外一个目录,可以使用“-i”参数,比如“-i /opt/app”。另外,安装脚本会自动创建一个软连接:/opt/solr -> /opt/solr-5.2.1。使用软连接可以方便以后升级后的访问。

Linux用户:
缺省地,安装脚本会自动创建一个用户名为“solr”的用户。也可以使用“-u”参数自己指定一个用户名。安装脚本会把安装相关目录(/opt/solr和var/solr)的owner设为这个用户。

下载压缩包:
解压安装脚本:
# tar xzf solr-5.2.1.tgz solr-5.2.1/bin/install_solr_service.sh --strip-components=2

运行安装脚本(需要使用root账号):
缺省安装:
# ./install_solr_service.sh solr-5.2.1.tgz

自定义(带参数)安装:
# ./install_solr_service.sh solr-5.2.1.tgz -i /opt -d /var/solr -u solr -s solr -p 8983 
安装参数:
  • -d 动态文件目录,缺省为“/var/solr”
  • -i solr加压安装目录,缺省为“/opt”
  • -p 工作/监听端口,缺省为“8983”
  • -s 安装成Linus服务的名字,缺省为“solr”
  • -u 运行solr的用户名,如果用户不存在,会自动创建,缺省为“solr”

查看所有的安装参数:
# ./install_solr_service.sh -help

假设需要安装到“/opt/app”目录下:
# ./install_solr_service.sh solr-5.2.1.tgz -i /opt/app

结果如下:
id: solr: no such user
Creating new user: solr
Extracting solr-5.2.1.tgz to /opt/app
Creating /etc/init.d/solr script ...

Started Solr server on port 8983 (pid=18066). Happy searching!


Found 1 Solr nodes:

Solr process 18066 running on port 8983
{
  "solr_home":"/var/solr/data/",
  "version":"5.2.1 1684708 - shalin - 2015-06-10 23:20:13",
  "startTime":"2015-08-27T04:02:34.071Z",
  "uptime":"0 days, 0 hours, 0 minutes, 5 seconds",
  "memory":"38.5 MB (%7.8) of 490.7 MB"}

Service solr installed.

查看生成的目录:
# ls -l /opt/app
可以看到两个新东东:
 solr -> /opt/app/solr-5.2.1
 solr-5.2.1

# ls -l /var
可以看到一个新东东
 solr

查看solr服务状态:
# service solr status

Found 1 Solr nodes:

Solr process 18066 running on port 8983
{
  "solr_home":"/var/solr/data/",
  "version":"5.2.1 1684708 - shalin - 2015-06-10 23:20:13",
  "startTime":"2015-08-27T04:02:34.071Z",
  "uptime":"0 days, 0 hours, 2 minutes, 53 seconds",
  "memory":"46 MB (%9.4) of 490.7 MB"}

说明已经安装成功并启动了!

相关概念和配置:
  • Solr Home:Solr找到solr.xml、管理索引文件的路径,该目录下至少包含一个solr.xml文件。缺省为/var/solr/data
  • Include File:统一定义环境变量的文件,缺省位置:/var/solr/solr.in.sh。至少包括下面前两个配置:
    • SOLR_PID_DIR=/var/solr
    • SOLR_HOME=/var/solr/data
    • SOLR_JAVA_MEM="-Xms512m -Xmx512m" (配置JVM的MemSize)
    • ZK_HOST=zk1,zk2,zk3(SolrCloud的情况下,配置ZooKeeper的信息。如果配置了这个,就表示启动模式是SolrCloud了。)
  • Log配置:solr使用Log4J,配置文件位置:/var/solr/log4j.properties。log文件缺省位置:/var/solr/logs/solr.log
  • init.d脚本:/etc/init.d目录下存放的是跟服务相关的脚本。其中的solr文件定义了solr服务(start|stop|restart|status),还定义一些环境变量和用户(RUNAS变量):
    • SOLR_INSTALL_DIR=/opt/solr
    • SOLR_ENV=/var/solr/solr.in.sh
    • RUNAS=solr
    • Out-Of-Memory处理配置:solr缺省使用bin/oom_solr.sh脚本来处理JVM内存不足的情况,缺省是杀死进程。如果在SolrCloud模式下,进程被杀死的时候zookeeper会知道并作出相应的处理。

当需要在一个服务器上启动两个solr服务/node的时候:
再一次执行安装脚本,并指定一个不同的服务名称和端口号,比如:
# ./install_solr_service.sh solr-5.2.1.tgz -s solr2 -p 8984
查看服务状态:
# service solr2 status




版权声明:本文为原创文章,转载请注明转自Clement-Xu的csdn博客。

Solr 在Linux系统中的产品化安装

标签:solr   安装   产品化   配置   

原文地址:http://blog.csdn.net/clementad/article/details/48027983

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!