solr5安装实践

自带安装脚本
./install_solr_service.sh
    -i /opt        # 安装路径(需已存在)
    -d /var/solr   # solr数据文件目录
    -u solr        # 以此系统用户身份运行
    -s solr        # 服务名
    -p 8983        # 运行端口

安装命令
$ tar xzf solr-5.5.0.tgz solr-5.5.0/bin/install_solr_service.sh --strip-components=2
$ sudo bash ./install_solr_service.sh solr-5.5.0.tgz
$ sudo bash ./install_solr_service.sh solr-5.5.0.tgz -f    # 强制安装 (solr5.3不支持)

安装结果与配置
1. 安装目录: /opt/solr
2. Linux系统启动脚本: /etc/init.d/solr
3. 环境变量设置文件(覆盖启动参数): /etc/default/solr.in.sh (solr5.3: /var/solr/solr.in.sh)
SOLR_PID_DIR=/var/solr
SOLR_HOME=/var/solr/data
LOG4J_PROPS=/var/solr/log4j.properties
SOLR_LOGS_DIR=/var/solr/logs
SOLR_PORT="8983"
...
SOLR_OPTS="$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=10000"    # bin/solr start -Dsolr.autoSoftCommit.maxTime=10000
...


创建collection:
切换到solr进程运行用户(solr)下;
$ bin/solr create -c mycollection


*快捷安装脚本 install.sh 
-------------------
#!/bin/bash

solrver=solr-5.3.2
installDir=/opt
solrfileDir=/data/solr
sysuser=solr
port=8983

echo "- Start Installing ..."
tar xzf ${solrver}.tgz ${solrver}/bin/install_solr_service.sh --strip-components=2
./install_solr_service.sh ${solrver}.tgz -i ${installDir} -d ${solrfileDir} -p ${port}
-------------------

*Solr5.3强制安装脚本(solr5.5中使用-f参数) install-f.sh 
-------------------
#!/bin/bash

solrver=solr-5.3.2
installDir=/opt
solrfileDir=/data/solr
sysuser=solr
port=8983

echo "- Stopping Solr instance if exists ..."
service solr stop

if [ -e "/opt/solr" ]; then
  echo "- Removing old symlink /opt/solr ..."
  rm -r /opt/solr
fi

if [ -e "/etc/init.d/solr" ]; then 
  echo "- Removing old /etc/init.d/solr script ..."
  rm -f /etc/init.d/solr
fi

dt=`date "+%Y%m%d-%H%M%S"`
backupDir=backup-${dt}

if [ -e "${solrfileDir}" ]; then
  echo "- Backing up old solr configurations:"
  mkdir -p ${solrfileDir}/$backupDir/data
  echo "${solrfileDir}/solr.in.sh -> ${solrfileDir}/$backupDir/"
  cp -a ${solrfileDir}/solr.in.sh ${solrfileDir}/$backupDir/
  echo "${solrfileDir}/log4j.properties -> ${solrfileDir}/$backupDir/"
  cp -a ${solrfileDir}/log4j.properties ${solrfileDir}/$backupDir/
  echo "${solrfileDir}/data/solr.xml -> ${solrfileDir}/$backupDir/data/"
  cp -a ${solrfileDir}/data/solr.xml ${solrfileDir}/$backupDir/data/
fi

echo "- Start Installing ..."
tar xzf ${solrver}.tgz ${solrver}/bin/install_solr_service.sh --strip-components=2
./install_solr_service.sh ${solrver}.tgz -i ${installDir} -d ${solrfileDir} -p ${port}

-------------------


*NOTE: 
1. 当使用安装脚本安装solr用于生产环境时,SOLR_HOME等设置通常已覆盖默认值(solr.in.sh),此时应通过service solr start/stop/restart来停止/运行solr(因为/etc/init.d/solr会引用环境变量设置文件).
若直接在安装目录/opt/solr执行bin/solr stop/start/restart, 且不设置启动参数和不引用配置文件,那么solr将使用默认的参数启动(如SOLR_HOME=server/solr).

2. 若服务默认以solr用户运行,创建core或collection时,应当以solr用户身份运行: bin/solr create -c mycoll, 否则可能会出现权限错误而创建失败。
如果使用root身份运行:bin/solr create -c mycoll,bin/solr脚本首先会创建一个有root用户权限的mycoll目录并拷贝配置,然后向solr服务进程发送一个http命令创建core, 而solr服务进程只拥有solr用户权限,将无法在有root权属的mycoll目录下写文件和创建data目录。

3. 在Solr Admin UI使用Core Admin/Add Core创建new_core, 需要先手动创建core目录并拷贝配置(切换到solr系统用户下操作):
$ mkdir new_core
$ cp -a ${solrInstallDir}/server/solr/configsets/basic_configs/conf new_core/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值