Solr产品化部署
1.下载solr-6.4.1.tgz到任意目录
2.执行tar xzf solr-6.4.1.tgz solr-6.4.1/bin/install_solr_service.sh --strip-components=2 解压install_solr_service.sh安装脚本到当前目录
3.可以运行sh install_solr_service.sh solr-6.4.1.tgz -help 查看帮助,一些常用的选项:
使用-i 指定安装路径(默认/opt/solr-XXXX,通过软连接/opt/solr指向这个位置)
使用-d 指定变量路径(默认/var/solr,运行时只修改/var/solr中的东西,/opt/solr中的东西不变,但是如果要安装插件jar包会安装到/opt/solr,这点需要注意,后续如果要升级,直接替换后可能需要手工复制插件jar包)
使用-u 指定solr启动用户,运行solr不建议用root用户,因此solr默认会使用名为 solr 的用户(没有则创建),可以用-u 自定义用户,这个用户会是/opt/solr和/var/solr目录的owner,也是启动的solr服务进程的owner
示例指令:
创建一个名为solr-8001的实例,使用8001端口,
sh install_solr_service.sh solr-6.4.1.tgz -p 8001 -s solr-8001 -u solr -n
4.执行了上面的命令之后,solr会生成下面的目录结构(假设生成一个名为solr-8001的实例):
/opt/solr-6.4.1 //solr原始安装文件,多实例共用一个,运行期间不会修改
/opt/solr-8001 -> /opt/solr-6.4.1 //每个实例对应一个,指向原始安装文件的软连接,升级用
/var/solr-8001 //每个实例对应一个,存放运行时文件
--data
--log4j.properties
--logs
/etc/default/solr-8001.in.sh //每个实例对应一个,存放配置文件
/etc/init.d/solr-8001 //每个实例对应一个,solr服务文件,把solr作为Linux的服务,可以将solr作为服务来管理,如service solr-8001 start (solr-xxx为示例名),启动服务时默认使用solr.in.sh中配置的RUNAS作为进程的owner,如果没设置就作为root启动(不推荐),service 除了start 还支持stop、restart、status命令。默认将solr服务设为自动启动,因此重启服务器后不需要启动solr。
5.solr.in.sh配置
生成示例后需要手动修改/etc/default/solr-8001.in.sh来做一些设置,主要有下面设置:
- 内存大小:建议不大于32G,如果到达32G,则建议分单机多实例。SOLR_JAVA_MEM="-Xms31744m -Xmx31744m"
- GC配置:solr有预配置的gc设置,起手用默认的gc配置,发现问题再手动修改。
- ZK配置:如果使用外部zk,只需要在solr.in.sh里配置ZK_HOST="zk1:2181,zk2:2181,zk3:2181/solr",/solr考虑到solr可能和其他应用共享zk,因此做znode隔离,通过配置/solr将solr作为znode根目录。需要注意的是需要在zk根目录下手动建立/solr目录(zkCli下执行create /solr "solr"),否则启动solr会报错。
- 时区配置:solr默认使用UTC时区,比中国时间早8小时。需要设置SOLR_TIMEZONE="Asia/Shanghai"
- HOST配置:如果每个节点都配置了域名,可以在solr.in.sh中标明当前节点的域名,这样zk在管理集群状态时使用域名管理:SOLR_HOST="dandelion1"。
- 日志路径配置:如果执行安装脚本时设置了-d 参数手动指定了动态文件的路径,可能需要设置SOLR_LOGS_DIR="path"指定日志的路径到生成的logs文件夹,否则日志会生成到solr的安装路径。这个怀疑是solr安装脚本的一个bug。
6.日志配置
solr默认记录日志是按大小滚动分割文件的,而我们一般习惯按日期分割,可以通过配置/var/solr-8001/log4j.properties修改solr的日志配置
7.如何添加另一个实例
重复操作3、4、5步即可。
8.如果后面的索引配置文件里使用到插件,需要复制插件jar包到/opt/solr-6.4.1/server/solr-webapp/webapp/WEB-INF/lib(如果索引的配置文件中使用了插件)
9.使用/opt/solr-6.4.1/server/scripts/cloud-scripts/zkcli.sh将需要的配置文件传到zk,主要有solr.xml、schema.xml、solrconfig.xml
10.创建collection(下面的命令只创建shard不创建replica,创建后手动通过界面或命令给shard创建replica。因为在单机多实例的情况下,如果让solr自动分配,可能会把一个shard的多个replica分配到一台机器上的多个实例造成单点问题):
http://dandelion1:8001/solr/admin/collections?action=CREATE&name=meixin_group&router.name=compositeId&numShards=4&replicationFactor=1&maxShardsPerNode=1&collection.configName=meixin_group&createNodeSet=&autoAddReplicas=false
Solr产品化部署的更多相关文章
- Solr 7 部署与使用踩坑全记录
前言 Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇文章中,我将介绍 Solr 的部署和使用的基本操作,希望能让初次使用的朋友们少 ...
- Solr单机部署和集群部署
用到的相关jar包:http://pan.baidu.com/disk/home#list/path=%2Fsolr Solr目录结构 Solr 目录 Contrib :solr 为了增强自身的功能, ...
- 七、Solr服务部署和安全
概念: 我们知道,Solr是以webapp的形式运行的,那么我们只需要把Solr.war文件部署到web容器中,便可以运行了,但是因为需要连接数据库做索引并且提供线上的服务调用query接口,那么So ...
- Solr 12 - 部署SolrCloud中遇到的问题 + 解决方法
目录 1 ZooKeeper管理配置文件的另一种方法 2 Solr服务不能访问 3 部分节点处于"Recovering"或"Gone"状态 4 Solr集群不稳 ...
- solr单机部署tomcat
所需软件:solr4.8.1.Tomcat7 下载完相应软件后开始单机部署(windows下) 在F盘根目录创建solr文件夹,并解压solr4.8和tomcat7到该文件夹 在F盘根目录创建solr ...
- solr安装部署、solr测试创建core、用solrj 访问solr(索引和搜索)
一.安装solr4.8: 1.把apache-solr-4.8.1\example\webapps下的solr.war文件拷贝到Tomcat下的Tomcat7.0\webapps目录下,tomcat启 ...
- Solr简单部署
因为公司最近涉及这个项目,想了解一下,以便提供更好的支持.. 参考URL: http://www.centoscn.com/CentosServer/test/2014/1127/4193.html ...
- Django haystack+solr搜索引擎部署的坑.
跟着<<Django by Example>> 一路做下来,到了搭建搜索引擎的步骤 默认的思路是用 obj.objects.filter(body__icontains='fr ...
- 【Solr】Solr的安装部署
目录 Solr安装部署 Solr Web界面分析 回到顶部 solr安装和部署 solr下载 http://lucene.apache.org/ 安装solr,就是去部署它的war包,war包所在的位 ...
随机推荐
- BZOJ3771:Triple——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3771 大意:给n把不同价值的斧子,从中选一把/两把/三把,所构成的每种价值和的可能情况有多少. 生 ...
- BZOJ1053:[HAOI2007]反素数——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1053 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满 ...
- 洛谷 P1966 火柴排队 解题报告
P1966 火柴排队 题目描述 涵涵有两盒火柴,每盒装有 \(n\) 根火柴,每根火柴都有一个高度. 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为: \(\s ...
- 去掉vue 中的代码规范检测(Eslint验证)
去掉vue 中的代码规范检测(Eslint验证): 1.在搭建vue脚手架时提示是否启用eslint检测的. Use ESLint to lint your code? 写 no; 2.如果项目已经生 ...
- 使用canvas画一个雷达效果图的特效代码
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Git版本管理1-安装配置和同步
原文载于youdaonote,有图片: http://note.youdao.com/share/?id=79a2d4cae937a97785bda7b93cbfc489&type=note ...
- 轻量级HTTP服务器Nginx(配置与调试Nginx)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ixdba.blog.51cto.com/2895551/790611 Nginx ...
- Win7 64位系统下 Retional rose 2003 安装及破解
网上关于Retional rose 2003安装和破解的文章比较多,这里,我结合自己的亲身体验,和大家分享一下win7 旗舰版 64位系统下Retional rose 2003(下面简称rose200 ...
- IE8动态创建CSS
IE8动态创建CSS 最近在项目中用到在页面中动态创建CSS方法,记录一下方便以后查看 一. 在IE下动态创建(网上收集3种方法,最后一个方法未测试成功,具体不知道什么原因) 第一种(此方法很麻烦,需 ...
- jenkins slave agent 当作服务运行
1. 接上边编辑好文件 2. 双击以上的jnlp文件 3. 点击弹出的窗口File->save as service, 此时如果报错的话很可能是由于没有安装.net(.net2 以上) 4. 保 ...