Как заставить Solr и CKAN работать на Ubuntu 18.04 после недавних обновлений solr-jetty? - PullRequest
1 голос
/ 01 мая 2019

Проблема

После выполнения некоторых обновлений Jetty больше не может найти Solr при попытке запустить CKAN в Ubuntu 18.04.Новая установка CKAN не работает в разработке или производстве.

Используется пакет 3.6.2+dfsg-18~18.04.

Я могу сказать, что Jetty9 работает, но не может найти solr.

Любая помощь или указатели были бы хорошими.

Сообщение об ошибке

<code>WARNI [pysolr] Unable to extract error message from invalid XML: mismatched tag: line 10, column 2
ERROR [pysolr] Solr responded with an error (HTTP 404): [Reason: None]
<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/><title>Error 404 Not Found</title></head><body><h2>HTTP ERROR 404</h2><p>Problem accessing /solr/select/. Reason:<pre>    Not Found

Powered by Jetty: // 9.4.15.v20190215 ОШИБКА [ckan.controllers.package] Ошибка поиска в наборе данных: ('SOLR возвратил ошибку при выполнении запроса: {\' sort \ ': \' Score desc, metadata_modified desc \ ', \' fq \ ':[u \ '\', u \ '+ site_id: "default" \', \ '+ state: active \', u \ '+missions_labels :( "public" OR "creator-aedc3c62-8492-48b7-9640-0c362bb2b537 ") \ '], \' facet.mincount \ ': 1, \' lines \ ': 21, \' facet.field \ ': [u \' organization \ ', u \' groups \ ', u \'tags \', u \ 'res_format \', u \ 'license_id \'], \ 'facet.limit \': \ '50 \ ', \' facet \ ': \' true \ ', \' q \': \' *: * \ ', \' start \ ': 0, \' wt \ ': \' json \ ', \' fl \ ': \' id validated_data_dict \ '} Ошибка: SolrError (u \'Solr ответил с ошибкой (HTTP 404): [Причина: нет] \\ n Ошибка 404 не найдена

ОШИБКА HTTP 404

Ошибка доступа / solr / select /.Причина:

Not Found

Работает на причале: // 9.4.15.v20190215 \ ',)',) INFO [ckan.lib.base] / время рендеринга набора данных 0,079 секунд

Шаги для воспроизведения

  1. Созданиеустановка нового Ubuntu Server 18.04 LTS
  2. Следуйте документации по установке исходного кода по умолчанию
  3. Запустите сервер paster serve /etc/ckan/default/development.ini
  4. Перейдите на страницу /dataset

Фон

В феврале это работало без проблем, следуя документам (включая комментарий здесь ).

Я заметил, что в новейшем пакете solr-jetty он добавляет символическую ссылку по умолчанию, что будет означать, что шаг добавления этого в документы CKAN завершится неудачей, так как символическая ссылка уже существует.Я безуспешно пытался удалить и добавить его обратно, чтобы получить различные разрешения для файла.

Кроме того, первый шаг в настройке Solr дает указание обновить строки в файле /etc/default/jetty, которые больше не существуют.Я считаю, что их следует перенести в /etc/jetty9/start.ini, но я тоже сделал оба безуспешно.

ОБНОВЛЕНИЯ

  • Попытка понижения версии пакета solr-jetty, но тот же результат (однако символическая ссылкашаг работал так как не был включен в предыдущий пакет).
    • sudo apt install libsolr-java=3.6.2+dfsg-11 solr-common=3.6.2+dfsg-11 solr-jetty=3.6.2+dfsg-11
    • sudo apt-get install python-dev postgresql libpq-dev python-pip python-virtualenv git-core redis-server
  • Попытка понижения версии как solr-jetty, так и openjdk-8-jdk по сравнению с openjdk-11-jdk с тем жеошибка:
    • sudo apt install libsolr-java=3.6.2+dfsg-11 solr-common=3.6.2+dfsg-11 solr-jetty=3.6.2+dfsg-11
    • sudo apt install openjdk-8-jdk
  • Возможно, проблема с разрешением похожа на https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919638

CURRENTРЕШЕНИЕ

Я не добавляю это как ответ, так как он просто отказывается от использования пакета solr-jetty, который не отвечает на вопрос или как заставить solr-jetty работать.Однако после того, как solr-jetty заработал (см. Ответ ниже), я решил переключиться на использование этого решения, которое напрямую использует solr.

  • Выполните шаги 1-4
  • solr> = 6.6.0 содержит ошибки в схеме CKAN.Изменение схемы возможно, но это еще более важно для поддержки / устранения неисправностей.
  • Извлеките ckan wiki и Solr для некоторых инструкций
  • скопируйтеСхема Solr для новой установки Solr
Продолжите с шага 6

1 Ответ

1 голос
/ 06 мая 2019

В настоящее время пакет solr-jetty разрывается для этой настройки. Кажется, это разрешение и проблема с файлом. Вот один из способов заставить его работать.

Спасибо, этот пиар !

  1. Самым простым способом для меня было следовать всем документам по установке исходного кода CKAN от начала до конца, включая solr (но я пропустил хранилище данных, так как не хотел его)
    • В этот момент сайт должен загрузиться, но вы получите ошибки в решении
  2. Выполните следующие обновления Solr:

    1. sudo mkdir /etc/systemd/system/jetty9.service.d
    2. sudo nano /etc/systemd/system/jetty9.service.d/solr.conf и добавьте

      [Service] ReadWritePaths=/var/lib/solr

    3. sudo nano /etc/solr/solr-jetty.xml и замените его на следующую конфигурацию.
  3. Перезапустите jetty9 sudo service jetty9 restart, и вам, возможно, придется systemctl daemon-reload

Шаг 3.3 solr-jetty.xml:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!-- Context configuration file for the Solr web application in Jetty -->

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/solr</Set>
  <Set name="war">/usr/share/solr/web</Set>

  <!-- Set the solr.solr.home system property -->
  <Call name="setProperty" class="java.lang.System">
    <Arg type="String">solr.solr.home</Arg>
    <Arg type="String">/usr/share/solr</Arg>
  </Call>

  <!-- Enable symlinks -->
  <!-- Disabled due to being deprecated
  <Call name="addAliasCheck">
    <Arg>
      <New class="org.eclipse.jetty.server.handler.ContextHandler$ApproveSameSuffixAliases"/>
    </Arg>
  </Call>
  -->
</Configure>

Подробнее см. в этом выпуске .

...