X

Автозагрузка Apache Tika в CentOS 7

Потребовалось мне в одном из проектов использовать Apache Tika. Использовать решили в режиме сервера, т.к. задач перед приложением стояло достаточно много. После всех тестов и настроек, все что осталось, это добавить сервер Tika в автозапуск, чтобы он запускался при перезагрузке сервера...

В качестве базовой системы стоит CentOS 7, эта ОС для управления сервисами использует Systemd (полезная шпаргалка с хабра на русском). Ну, что же приступаем к конфигурации.

  • создаем файл /etc/systemd/system/tika.service
  • в него добавляем следующее:
    [Unit]
    Description=Apache Tika Server
    Requires=network.target
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/java -jar /path-to-tika/tika-server-1.13.jar
    SuccessExitStatus=143
    Type=simple
    
    [Install]
    WantedBy=multi-user.target
  • теперь уведомляем systemd о внесенных в конфигурацию изменениях
    systemctl daemon-reload
  • теперь добавляем в автозапуск такой командой
    systemctl enable tika.service
  • перезагружаемся и проверяем
    service status tika
  • должны получить, что-то типа:
    Redirecting to /bin/systemctl status  tika.service
      tika.service - Apache Tika Server
       Loaded: loaded (/etc/systemd/system/tika.service; enabled; vendor preset: disabled)
       Active: active (running) since Fri 2016-10-14 16:25:43 EEST; 1h 34min ago
     Main PID: 1626 (java)
       CGroup: /system.slice/tika.service
               └─1626 /usr/bin/java -jar /path-to-tika/tika-server-1.13.jar

Обратите внимание:

Во время настройки, я столкнулся с тем, что изначально создал файл tika.service в другом месте и в /etc/systemd/system/ создал символическую ссылку на этот файл. В ручном режиме (start/stop/status) сервис работал отлично. Однако, при попытке добавить в автозагрузку (systemctl enable tika.service) systemd показывал ошибку "Failed to execute operation: No such file or directory", с чем это связано, я так и не понял (рядом с моей ссылкой, были ссылки sphinx-а которые работали прекрасно), поэтому отказался от симлинка и создал файл прямо в этой директории. После этого все заработало как и ожидалось.

Категории: Java Linux
Тэги: Apachetika