EnterpriseApps/ApacheSolr: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 7: | Строка 7: | ||
3. распаковываем его в /opt | 3. распаковываем его в /opt | ||
tar | tar zxf /home/petr/Загрузки/solr-9.4.0.tgz -C /opt | ||
4. Создаем системного пользователя solr | 4. Создаем системного пользователя solr | ||
Строка 15: | Строка 15: | ||
5. Назначаем права на каталоги Solr | 5. Назначаем права на каталоги Solr | ||
chown -R root: /opt/solr-9.4.0 | |||
chmod -R 0755 /opt/solr-9.4.0/bin | |||
6. Создаем каталог с настройками и копируем в него файл с параметрами программы | |||
mkdir /etc/default | |||
chown root: /etc/default | |||
chmod 0755 /etc/default | |||
cp "/opt/solr-9.4.0/bin/solr.in.sh" "/etc/default/solr.in.sh" | |||
/etc/default/solr.in.sh | |||
SOLR_PID_DIR="/home/solr" | |||
SOLR_HOME="/home/solr/data" | |||
LOG4J_PROPS="/home/solr/log4j2.xml" | |||
SOLR_LOGS_DIR="/home/solr/logs" | |||
SOLR_PORT="8983" | |||
Создаем каталоги и назначаем права | |||
mkdir -p "/home/solr/data" | |||
mkdir -p "/home/solr/logs" | |||
chown -R solr: /opt/solr-9.4.0/ | chown -R solr: /opt/solr-9.4.0/ | ||
chmod - | Копируем файл с настройками, назначаем права и создаем символьную ссылку | ||
cp /opt/solr-9.4.0/server/resources/log4j2.xml /home/solr/log4j2.xml | |||
chown -R solr: /home/solr | |||
ln -s '/opt/solr-9.4.0' /opt/solr | |||
Создаем файл | |||
/etc/init.d/solr | |||
----- | |||
#!/bin/sh | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
### BEGIN INIT INFO | |||
# Provides: solr | |||
# Required-Start: $remote_fs $syslog | |||
# Required-Stop: $remote_fs $syslog | |||
# Default-Start: 2 3 4 5 | |||
# Default-Stop: 0 1 6 | |||
# Description: Controls Apache Solr as a Service | |||
### END INIT INFO | |||
# Example of a very simple *nix init script that delegates commands to the bin/solr script | |||
# Typical usage is to do: | |||
# | |||
# cp bin/init.d/solr /etc/init.d/solr | |||
# chmod 755 /etc/init.d/solr | |||
# chown root:root /etc/init.d/solr | |||
# update-rc.d solr defaults | |||
# update-rc.d solr enable | |||
# Where you extracted the Solr distribution bundle | |||
SOLR_INSTALL_DIR="/opt/solr" | |||
if [ ! -d "$SOLR_INSTALL_DIR" ]; then | |||
echo "$SOLR_INSTALL_DIR not found! Please check the SOLR_INSTALL_DIR setting in your $0 script." | |||
exit 1 | |||
fi | |||
# Path to an include file that defines environment specific settings to override default | |||
# variables used by the bin/solr script. It's highly recommended to define this script so | |||
# that you can keep the Solr binary files separated from live files (pid, logs, index data, etc) | |||
# see bin/solr.in.sh for an example | |||
SOLR_ENV="/etc/default/solr.in.sh" | |||
if [ ! -f "$SOLR_ENV" ]; then | |||
echo "$SOLR_ENV not found! Please check the SOLR_ENV setting in your $0 script." | |||
exit 1 | |||
fi | |||
# Specify the user to run Solr as; if not set, then Solr will run as root. | |||
# Running Solr as root is not recommended for production environments | |||
RUNAS="solr" | |||
# verify the specified run as user exists | |||
runas_uid="`id -u "$RUNAS"`" | |||
if [ $? -ne 0 ]; then | |||
echo "User $RUNAS not found! Please create the $RUNAS user before running this script." | |||
exit 1 | |||
fi | |||
case "$1" in | |||
start|stop|restart|status) | |||
SOLR_CMD="$1" | |||
;; | |||
*) | |||
echo "Usage: $0 {start|stop|restart|status}" | |||
exit | |||
esac | |||
if [ -n "$RUNAS" ]; then | |||
su -c "SOLR_INCLUDE=\"$SOLR_ENV\" \"$SOLR_INSTALL_DIR/bin/solr\" $SOLR_CMD" - "$RUNAS" | |||
else | |||
SOLR_INCLUDE="$SOLR_ENV" "$SOLR_INSTALL_DIR/bin/solr" "$SOLR_CMD" | |||
fi | |||
----- | |||
Создаем файлы служб | |||
chmod +x /etc/init.d/solr | |||
----- | |||
/etc/systemd/system/solr.service | |||
----- | |||
[Unit] | |||
SourcePath=/etc/init.d/solr | |||
Description=Apache Solr as a Service | |||
Before=multi-user.target | |||
Before=graphical.target | |||
After=remote-fs.target | |||
[Service] | |||
Type=forking | |||
Restart=no | |||
TimeoutSec=5min | |||
IgnoreSIGPIPE=no | |||
KillMode=process | |||
GuessMainPID=no | |||
RemainAfterExit=yes | |||
SuccessExitStatus=5 6 | |||
ExecStart=/etc/init.d/solr start | |||
ExecStop=/etc/init.d/solr stop | |||
----- | |||
systemctl enable --now solr | |||
systemctl status solr | |||
---------------------- | |||
<!-- | |||
cp /opt/solr-9.4.0/bin/init.d/solr /etc/init.d/solr | |||
chmod 0744 /etc/init.d/solr | |||
chown root: /etc/init.d/solr | |||
6.Управление | 6.Управление | ||
Строка 23: | Строка 170: | ||
'/opt/solr/bin/solr' status | '/opt/solr/bin/solr' status | ||
'/opt/solr/bin/solr' start | '/opt/solr/bin/solr' start | ||
'/opt/solr/bin/solr' stop | '/opt/solr/bin/solr' stop --> | ||
Веб-интерфейс: | Веб-интерфейс: | ||
Строка 29: | Строка 176: | ||
http://127.0.0.1:8983/solr/ | http://127.0.0.1:8983/solr/ | ||
7.Создаем сервис | <!-- 7.Создаем сервис | ||
/etc/systemd/system/solr.service | /etc/systemd/system/solr.service | ||
Строка 96: | Строка 243: | ||
/opt/solr-9.4.0 | /opt/solr-9.4.0 | ||
--> |
Версия от 16:48, 7 декабря 2023
1. Ставим java-1.8.0-openjdk
2.Качаем бинарный релиз
https://solr.apache.org/downloads.html
3. распаковываем его в /opt
tar zxf /home/petr/Загрузки/solr-9.4.0.tgz -C /opt
4. Создаем системного пользователя solr
adduser --system -U -m --home-dir /home/solr solr
5. Назначаем права на каталоги Solr
chown -R root: /opt/solr-9.4.0 chmod -R 0755 /opt/solr-9.4.0/bin
6. Создаем каталог с настройками и копируем в него файл с параметрами программы
mkdir /etc/default chown root: /etc/default chmod 0755 /etc/default cp "/opt/solr-9.4.0/bin/solr.in.sh" "/etc/default/solr.in.sh"
/etc/default/solr.in.sh
SOLR_PID_DIR="/home/solr"
SOLR_HOME="/home/solr/data"
LOG4J_PROPS="/home/solr/log4j2.xml"
SOLR_LOGS_DIR="/home/solr/logs"
SOLR_PORT="8983"
Создаем каталоги и назначаем права
mkdir -p "/home/solr/data" mkdir -p "/home/solr/logs" chown -R solr: /opt/solr-9.4.0/
Копируем файл с настройками, назначаем права и создаем символьную ссылку
cp /opt/solr-9.4.0/server/resources/log4j2.xml /home/solr/log4j2.xml chown -R solr: /home/solr ln -s '/opt/solr-9.4.0' /opt/solr
Создаем файл
/etc/init.d/solr
- !/bin/sh
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- BEGIN INIT INFO
- Provides: solr
- Required-Start: $remote_fs $syslog
- Required-Stop: $remote_fs $syslog
- Default-Start: 2 3 4 5
- Default-Stop: 0 1 6
- Description: Controls Apache Solr as a Service
- END INIT INFO
- Example of a very simple *nix init script that delegates commands to the bin/solr script
- Typical usage is to do:
- cp bin/init.d/solr /etc/init.d/solr
- chmod 755 /etc/init.d/solr
- chown root:root /etc/init.d/solr
- update-rc.d solr defaults
- update-rc.d solr enable
- Where you extracted the Solr distribution bundle
SOLR_INSTALL_DIR="/opt/solr"
if [ ! -d "$SOLR_INSTALL_DIR" ]; then
echo "$SOLR_INSTALL_DIR not found! Please check the SOLR_INSTALL_DIR setting in your $0 script." exit 1
fi
- Path to an include file that defines environment specific settings to override default
- variables used by the bin/solr script. It's highly recommended to define this script so
- that you can keep the Solr binary files separated from live files (pid, logs, index data, etc)
- see bin/solr.in.sh for an example
SOLR_ENV="/etc/default/solr.in.sh"
if [ ! -f "$SOLR_ENV" ]; then
echo "$SOLR_ENV not found! Please check the SOLR_ENV setting in your $0 script." exit 1
fi
- Specify the user to run Solr as; if not set, then Solr will run as root.
- Running Solr as root is not recommended for production environments
RUNAS="solr"
- verify the specified run as user exists
runas_uid="`id -u "$RUNAS"`" if [ $? -ne 0 ]; then
echo "User $RUNAS not found! Please create the $RUNAS user before running this script." exit 1
fi
case "$1" in
start|stop|restart|status) SOLR_CMD="$1" ;; *) echo "Usage: $0 {start|stop|restart|status}" exit
esac
if [ -n "$RUNAS" ]; then
su -c "SOLR_INCLUDE=\"$SOLR_ENV\" \"$SOLR_INSTALL_DIR/bin/solr\" $SOLR_CMD" - "$RUNAS"
else
SOLR_INCLUDE="$SOLR_ENV" "$SOLR_INSTALL_DIR/bin/solr" "$SOLR_CMD"
fi
Создаем файлы служб
chmod +x /etc/init.d/solr
/etc/systemd/system/solr.service
[Unit] SourcePath=/etc/init.d/solr Description=Apache Solr as a Service Before=multi-user.target Before=graphical.target After=remote-fs.target
[Service] Type=forking Restart=no TimeoutSec=5min IgnoreSIGPIPE=no KillMode=process GuessMainPID=no RemainAfterExit=yes SuccessExitStatus=5 6 ExecStart=/etc/init.d/solr start ExecStop=/etc/init.d/solr stop
systemctl enable --now solr systemctl status solr
Веб-интерфейс: