By Shay Anderson on October 2013
Knowledge Base  /  Linux  /  How to Install Apache Solr 4.5 on CentOS 6.4

In this tutorial I explain how to install Apache Solr 4.5 on CentOS 6.4. In all the examples below I am using the root user, if you are not you will need to prepend some of the examples with sudo.

Install Java

To start things off first check if you have Java installed:# which javaIf you do not have Java installed check for latest version:# yum list available | grep javaAnd install Java, in my case it was:# yum install java-1.7.0-openjdk.x86_64Install Java - MySQL DB connector:# yum install mysql-connector-java
Finally, check Java version:# java -version 
java version "1.7.0_25" 
OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64) 
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Install Solr

Install the latest Solr release by downloading from http://www.apache.org/dyn/closer.cgi/lucene/solr/. For example, I downloaded using:# wget http://apache.mirrors.tds.net/lucene/solr/4.5.0/solr-4.5.0.tgz /optExtract download:# tar -xvf /opt/solr-4.5.0.tgzMove main directory for install:# mv -v /opt/solr-4.5.0 /opt/solrAnd move example directory to project name or simply core:# mv -v /opt/solr/example /opt/solr/core
Create a symlink to the mysql-connector-java we installed earlier:# ln -s /usr/share/java/mysql-connector-java.jar /opt/solr/dist/mysql-connector-java.jarThen edit the /opt/solr/core/solr/collection1/conf/solrconfig.xml file and add these lines by the <lib dir="..."> lines for using MySQL database connection and Data Import Handler (DIH):<!-- data import handler --> 
<lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" /> 
<lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" /> 
<lib dir="../../../dist/" regex="mysql-connector-java.*\.jar" />

Firewall Exception

If you use iptables add a rule to allow access to Solr's admin section and query Solr data (replace 0.0.0.0 with the correct IP address):# iptables -A INPUT -s 0.0.0.0 -p tcp -m tcp --dport 8983 -j ACCEPT 
# service iptables save
Or, if you want to allow port 8983 for all requests use:# iptables -A INPUT -p tcp -m tcp --dport 8983 -j ACCEPT 
# service iptables save
Also, if you're using a MySQL database connection for data importer you'll want to open a firewall exception for the localhost MySQL port:# iptables -A INPUT -s 127.0.0.1 -p tcp -m tcp --dport 3306 -j ACCEPT 
# service iptables save 
# iptables -L 
... 
ACCEPT tcp -- localhost anywhere tcp dpt:mysql 
...

Running Solr

You should now be able to test running the Solr server:# java -jar /opt/solr/core/start.jarIf everything works correctly you should be able to view the Solr server admin by going to: 
http://[server hostname or IP]:8983/solr/#/

If this does not work try viewing the log /opt/solr/solr/logs/solr.log

You can view if Solr is running with command:# lsof -i :8983

Auto Start Apache Solr

Now we may want to configure Apache Solr to auto start on server boot. First, create script for handling the Solr server service:# nano /etc/init.d/solrAnd add the following script (or one like it):#!/bin/sh 
# chkconfig: 2345 95 20 
# description: Solr Server 
# Solr Server service start, stop, restart 
# @author Shay Anderson 10.13

SOLR_DIR="/opt/solr/core" 
JAVA="/usr/bin/java -DSTOP.PORT=8079 -DSTOP.KEY=a09df7a0d -jar start.jar" 
LOG_FILE="/opt/solr/core/logs/solr-server.log"

case $1 in 
      start) 
            echo "Starting Solr..." 
            cd $SOLR_DIR 
            $JAVA 2> $LOG_FILE & 
            sleep 3 
            ;; 
      stop) 
            echo "Stopping Solr..." 
            pkill -f start.jar >/dev/null 
            RETVAL=$? 
            if [ $RETVAL -eq 0 ]; then 
                  echo "Stopped" 
            else 
                  echo "Failed to stop" 
            fi 
            ;; 
      restart) 
            $0 stop 
            sleep 2 
            $0 start 
            ;; 
      *) 
            echo "Usage: $0 [start|stop|restart]" 
            exit 1 
            ;; 
esac

exit 0Save the file and make it executable:# chmod +x /etc/init.d/solrNow register Solr to run when server boots:# chkconfig --add solr 
# chkconfig --list | grep solr

How to Install Apache Solr 4.5 on CentOS 6.4的更多相关文章

  1. How to Install Apache Tomcat 8.5 on CentOS 7.3

    How to Install Apache Tomcat 8.5 on CentOS 7.3 From: https://www.howtoforge.com/tutorial/how-to-inst ...

  2. Install Apache, PHP And MySQL On CentOS 7 (LAMP)

    This tutorial shows how you can install an Apache2 webserver on a CentOS 7.0 server with PHP5 suppor ...

  3. Apache solr 6.6.0安装

    Apache solr 6.6.0安装 最近使用了Apache solr搜索引擎框架,solr是基于lucene的一个搜索服务器,lucene也是Apache的一个开源项目:对于学习搜索引擎来说,这个 ...

  4. MAGENTO - APACHE SOLR INTEGRATION - PART II (SETUP)

    MAGENTO - APACHE SOLR INTEGRATION - PART II (SETUP) Tue, 03/01/2011 - 18:30 Tweet Development E-Comm ...

  5. 05 Apache Solr: 管理员界面(Admin UI)

         为了方便管理员和工程师调整Solr的配置和访问在线文档和其他的帮助,Solr提供了一个Web界面去查看Solr的配置详情,运行查询语句和分析文档字段.这个界面在第三篇里面提到过就是管理员界面 ...

  6. 03 Apache Solr: 安装和运行

         前面介绍了Solr在项目中的使用和构建高度可用.高度可扩展的Solr服务器的一些想法.但是光说不练假把式,现在开始,把Solr运行起来继续深入了解吧! 安装 安装JAVA Apache So ...

  7. 02 Apache Solr: 概览 Solr在信息系统架构中的位置

    概述:      Apache Solr是一个用JAVA语言构建在Apache Lucene项目上的开源的企业级搜索平台.主要特性包含:全文搜索.命中高亮.片段式搜索.实时索引.动态集群.数据库集成. ...

  8. 01 Apache Solr:提升检索体验 为什么是Solr

    背景:      最近开发一个大型的仓储管理平台项目,项目的前身是无数个版本的历史悠久的基于CS模式的Windows桌面程序.然后对于每一个客户,我们可能需要为之定制比较个性化的特殊功能.于是,有一个 ...

  9. Apache Solr查询语法(转)

    查询参数 常用: q - 查询字符串,必须的. fl - 指定返回那些字段内容,用逗号或空格分隔多个. start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用. rows - 指 ...

随机推荐

  1. 11_adb指令练习

    通过adb指令咱们装相关的项目.把项目推到设备上.也可以进行文件相关的操作.adb的一些相关的指令. 开启连接IDE和设备的服务. adb可以安装应用也可以卸载应用.项目怎么去区分?一个包名一个是签名 ...

  2. 使用JFileChooser保存文件

    --------------------siwuxie095                                 工程名:TestFileChooser 包名:com.siwuxie095 ...

  3. pip 在windows下如何升级

    建议:由于是pip的国外的,在更新之前先开启vpn,这样更新会顺畅些. 官方网页要求在 cmd中输入以下命令进行 pip的 更新: python -m pip install -U pip 更新成功后 ...

  4. Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境

    Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境 下载PCL For windows 软件包 到这个网站下载PCL-All-In-One Installer: ...

  5. 记录一次坎坷的linux内网渗透过程瞎折腾的坑

    版权声明:本文为博主的原创文章,未经博主同意不得转载. 写在前面 每个人都有自己的思路和技巧,以前遇到一些linux的环境.这次找来一个站点来进行内网,写下自己的想法 目标环境 1.linux  2. ...

  6. 项目:IT资源共享资源(登录前端)<1>

    公众号技术标签 小程序 PHP 源码 项目 IT资源共享项目 这是前年自己收集了一些网络开发资源,上传到百度网盘,提供积分兑换.上线后用户在两个月内达到3427人,其中用java,PHP,前端,Pyt ...

  7. 【并发编程】Future模式添加Callback及Promise 模式

    Future Future是Java5增加的类,它用来描述一个异步计算的结果.你可以使用 isDone 方法检查计算是否完成,或者使用 get 方法阻塞住调用线程,直到计算完成返回结果.你也可以使用  ...

  8. Educational Codeforces Round 52F(树形DP,VECTOR)

    #include<bits/stdc++.h>using namespace std;int n,k;vector<int>son[1000007];int dp[100000 ...

  9. hdu1695(莫比乌斯反演模板)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意: 对于 a, b, c, d, k . 有 x 属于 [a, b],  y 属于 [c, ...

  10. dorado 常用

    如果要设置模糊查询, 一般要在QueryCommand中这样写: var name = dsQuery.getValue("NAME"); var parameters = com ...