[超级连接:Linux+Solr+Zookeeper系列-序章]
本文主要讲解如何在Linux服务器上搭建Solr服务并将其做成Service服务。
本文搭建的Solr服务是非集群(非SolrCloud模式)的,只是用于Solr的单服务使用。
1.环境
- Ubuntu 16.04 LTS
- jdk1.8.0_161
- solr-6.6.0
2.安装JDK并配置环境变量
安装JDK:
//解压缩包
tar -zxvf jdk-8u161-linux-x64.tar.gz
//将jdk目录拷贝至/user/local/目录下
sudo cp -r jdk1.8.0_161 /usr/local/
修改环境变量:
//安装vim命令
sudo apt install vim
//编辑系统配置
sudo vim /etc/profile
在/etc/profile
末尾添加如下配置:
JAVA_HOME=/usr/local/jdk1.8.0_161
JRE_HOME=/usr/local/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
使得配置生效:
//查看当前配置
hanchao@hanchao-virtual-machine:/etc$ echo $PATH
/home/hanchao/bin:/home/hanchao/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
//生效
hanchao@hanchao-virtual-machine:/etc$ source /etc/profile
//再次查看当前配置
hanchao@hanchao-virtual-machine:/etc$ echo $PATH
/home/hanchao/bin:/home/hanchao/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/usr/local/jdk1.8.0_161/bin:/usr/local/jdk1.8.0_161/jre/bin
查看JDK版本
hanchao@hanchao-virtual-machine:/etc$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
3.下载安装启动Solr
solr老版本下载地址:
下载**solr-6.6.0.tgz
**
安装Solr:
//解压
tar -zxvf solr-6.6.0.tgz
//将解压后的目录存放至指定目录
mv /home/hanchao/solr-6.6.0/ /usr/local/
启动服务:
hanchao@hanchao-virtual-machine:~$ /usr/local/solr-6.6.0/bin/solr start
Waiting up to 180 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=2404). Happy searching!
测试服务:
在浏览器中录入:http://localhost:8983/solr/,如果能够成功进入Solr Admin
后台,则表示服务启动成功。
关闭服务:
hanchao@hanchao-virtual-machine:~$ /usr/local/solr-6.6.0/bin/solr stop
4.Solr注册成Service服务
拷贝安装包至bin目录:
//拷贝solr-6.6.0.tgz至solr/bin目录下
hanchao@hanchao-virtual-machine:~/下载$ cp solr-6.6.0.tgz /usr/local/solr-6.6.0/bin/
hanchao@hanchao-virtual-machine:~/下载$ cd /usr/local/solr-6.6.0/bin/
hanchao@hanchao-virtual-machine:/usr/local/solr-6.6.0/bin$ ls
init.d install_solr_service.sh oom_solr.sh post solr solr-6.6.0.tgz solr.cmd solr.in.cmd solr.in.sh
注册服务:
//通过install_solr_service.sh脚本注册服务
hanchao@hanchao-virtual-machine:/usr/local/solr-6.6.0/bin$ ./install_solr_service.sh solr-6.6.0.tgz
ERROR: This script must be run as root
//此脚本只能在root用户下执行,切换用户
hanchao@hanchao-virtual-machine:/usr/local/solr-6.6.0/bin$ su
密码:
//重新通过install_solr_service.sh脚本注册服务
root@hanchao-virtual-machine:/usr/local/solr-6.6.0/bin# ./install_solr_service.sh solr-6.6.0.tgz
id: "solr": no such user
Creating new user: solr
正在添加系统用户"solr" (UID 121)...
正在添加新组"solr" (GID 129)...
正在将新用户"solr" (UID 121)添加到组"solr"...
创建主目录"/var/solr"...
Extracting solr-6.6.0.tgz to /opt
Installing symlink /opt/solr -> /opt/solr-6.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
● solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since 日 2018-04-08 11:09:57 CST; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 6210 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
4月 08 11:09:45 hanchao-virtual-machine systemd[1]: Starting LSB: Controls Apache Solr as a Service...
4月 08 11:09:45 hanchao-virtual-machine su[6212]: Successful su for solr by root
4月 08 11:09:45 hanchao-virtual-machine su[6212]: + ??? root:solr
4月 08 11:09:45 hanchao-virtual-machine su[6212]: pam_unix(su:session): session opened for user solr by (uid=0)
4月 08 11:09:57 hanchao-virtual-machine solr[6210]: [190B blob data]
4月 08 11:09:57 hanchao-virtual-machine solr[6210]: Started Solr server on port 8983 (pid=6290). Happy searching!
4月 08 11:09:57 hanchao-virtual-machine solr[6210]: [8B blob data]
4月 08 11:09:57 hanchao-virtual-machine systemd[1]: Started LSB: Controls Apache Solr as a Service.
通过service操作Solr服务:
//启动服务
sudo service solr start
//停止服务
sudo service solr stop
//重启服务
sudo service solr restart
//查看运行状态
sudo service solr status