Wymagania: Strona internetowa odkrywa, że poprzez pełne wyszukiwanie słów kluczowych wyniki wyszukiwania nie mogą wyświetlić najnowszych danych, nie zalogować się na serwer, aby sprawdzić miejsce na dysku i okazuje się, że miejsce na dysku jest zajęte. W rzeczywistości spotkałem się z takimi problemami wcześniej, ponieważ to moja osobista strona i nie ma narzędzi takich jak monitorowanie informacji o zasobach, więc nie zauważyłem problemu od początku.
Po rozwiązaniu problemu dysku serwerowego przetestuj dodanie nowego dokumentu (dodaj dane) do Elasticsearch (ES) i stwierdzaj, że danych nie można zapisać, co powoduje błąd 403, jak pokazano na poniższym rysunku:
Nieudana niskopoziomowa rozmowa w POST: /filecn/FileInfoEs # Ślad audytu tego wywołania API: - [1] Zła Odpowiedź: Węzeł: http://xxxx:9200/ Wzięte: 00:00:00.0068726 # OriginalException: Elasticsearch.Net.ElasticsearchClientException: Zdalny serwer zwraca błąd: (403) Zakazane. Zadzwoń: Kod statusu 403 od: POST /filecn/FileInfoEs. SerwerBłąd: Type: cluster_block_exception Powód: "blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];" ---> System.Net.WebException: Zdalny serwer zwraca błąd: (403) Zakazane. at System.Net.HttpWebRequest.GetResponse() W Elasticsearch.Net.HttpWebRequestConnection.Request[TResponse](RequestData requestData) --- Koniec wewnętrznego śledzenia stosu wyjątków --- # Prośba: <Strumień żądań nie został przechwycony lub jeszcze odczytany do końca przez serializera. Ustaw DisableDirectStreaming() na ConnectionSettings, aby wymusić jego ustawienie w odpowiedzi.> # Odpowiedź: <Strumień odpowiedzi nie został przechwycony lub nie został odczytany do końca przez serializer. Ustaw DisableDirectStreaming() na ConnectionSettings, aby wymusić jego ustawienie w odpowiedzi.> Przyczyna: Spowodowana przestrzenią dysku serwera, na której znajduje się ES, po przydzieleniu dowolnego indeksu jednego lub więcej odłamków do węzła na dysku, który przechowuje więcej niż 95% dysku, indeks zostaje zmuszony do przejścia w tryb tylko do odczytu.read_only_allow_delete atrybut, gdy ten atrybut jest prawdziwy, indeks ES pozwala jedynie na odczyt i usuwanie danych, ale nie pozwala na dodawanie i modyfikowanie danych。
Zobacz wszystkie ustawienia indeksu, które warto odwiedzić:http://127.0.0.1:9200/_settings/_all?pretty
rozwiązanie
Wyślij polecenie PUT do Elasticsearch, aby zmodyfikować wartości parametru read_only_allow_delete w następujący sposób:
(Koniec)
|