Системный журнал#

Журналы событий#

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

Далее перечислены все основные файлы, хранящиеся в каталоге logs/, и их описание.

Лог-файлы

Описание

Уровень логирования по умолчанию

kylin.log

Основной файл журналирования OLAP

DEBUG

kylin.out

В этот файл будет перенаправлен стандартный вывод процесса OLAP, включая вывод Tomcat и Hive

kylin.gc

Этот файл представляет собой журнал GC (Garbage Collection) процесса OLAP Java. Чтобы избежать перезаписи, к суффиксу имени файла добавляется pid

access.log

В этом файле хранится журнал доступа Tomcat. В него записывается вся информация об ответах на HTTP-запросы. Например, User-Agent, URL доступа и так далее

jstack.timed.log

В этот файл записываются трассировки стека Java-потоков OLAP, которые используются для регистрации состояния работы некоторых потоков. Чтобы избежать перерасхода памяти, можно хранить только 20 файлов журнала. При превышении максимального количества новый файл будет заменять самый старый

shell.stderr

В этом файле хранится результат выполнения командных строк

shell.stdout

В этот файл будет перенаправлен стандартный вывод запущенных командных строк

kylin.security.log

В этот файл будет перенаправляться журнал запуска, остановки, обновления, входа и выхода из системы

kylin.schedule.log

В этот файл записываются журналы, связанные с планированием заданий

DEBUG

kylin.query.log

В этот файл записываются журналы, связанные с запросами

DEBUG

kylin.build.log

В этот файл записываются журналы, связанные со сборкой

DEBUG

kylin.metadata.log

В этот файл записываются метаданные и журналы, связанные с транзакционными операциями

DEBUG

dump.hprof

При возникновении Out of Memory (OOM) в OLAP происходит сброс heap, что удобно для анализа причины

Чтение и запись событий в журнал#

Для записи событий в журнал используется API библиотеки SLF4J с реализацией в виде библиотеки Log4j, которая содержит appender:

  • RollingFileAppender — модуль библиотеки Log4j, который представляет собой адаптер для записи логов в файл с возможностью ротации;

  • HttpAppender — модуль библиотеки журналирования, предназначенный для передачи журнала по протоколу HTTP.

Администратор журналирования — лицо, участвующее в функционировании автоматизированной системы или использующее результаты ее функционирования с целью просмотра записей журнала.

Ниже представлена схема процесса записи и чтения журналов администратором журналирования и компонентом OLAP в файловой системе:

@startuml
hide footbox
actor "Администратор Журналирования" as user
participant "Файловая система" as FS
participant OLAP as OLAP

FS<- OLAP : 1. Записать событие журнала в файл OLAP
OLAP <- FS: 2. Записано в файл
alt Отсутствует свободное место
OLAP <- FS: Запись события журнала в файл невозможна
end

user-> FS: 3. Прочитать файл журнала OLAP
user<- FS: 4. Содержимое файла журнала OLAP
alt Отсутствует файл журнала
user<- FS: Чтение журнала из файла невозможно
end
@enduml

Прием журнала системой журналирования выглядит так:

@startuml
hide footbox
participant OLAP as OLAP
participant "Система Журналирования" as LS
LS<- OLAP : 1. Передача по HTTP собыития журнала
OLAP <- LS: 2. Успешный прием события журнала ответ HTTP 2XX
alt Ошибки приема события журнала
OLAP <- LS: Ответ HTTP не 2XX
end
@enduml

Конфигурация журнала#

Для конфигурирования системы журналирования используются механизмы библиотеки log4j.

Формат записи журнала#

Appender в Log4j использует макет для того, чтобы привести информацию о событии к нужному формату для записи в журнал.

В Log4j 2 макеты возвращают массив байтов. Это позволяет использовать результат компоновки в различных типах appender, но при этом необходимо настроить Charset для правильного отображения значений в массиве байтов.

Корневым классом для макетов, использующих Charset, является org.apache.logging.log4j.core.layout.AbstractStringLayout, где по умолчанию используется UTF-8. Каждый макет, расширяющий AbstractStringLayout, может предоставить свое собственное значение по умолчанию.

Уровни журналирования#

Компонент может записывать события в журнал со следующими уровнями:

  • TRACE — записываются события журнала, содержащие диагностическую информацию;

  • DEBUG — записываются события журнала, содержащие более полезную диагностическую информацию;

  • INFO — записываются события журнала, содержащие ожидаемое поведение системы в отношении важных шагов ее работы;

  • WARN — записываются события журнала, содержащие предостережения. Произошло неожиданное событие, но система продолжает работу;

  • ERROR — записываются события журнала, содержащие ошибки при работе системы. Эти ошибки требуют решения.

Уровни TRACE и DEBUG

Не рекомендуется использовать уровни TRACE и DEBUG на промышленной инсталляции так как они порождают в разы больший объем информации по сравнению с другими уровнями журналирования.

Запрет записи в журнал КИ (К-1, К-2) осуществляется установкой уровней журналирования INFO, WARN, ERROR, в которые не передаются записи КИ (К-1, К-2).

В уровень DEBUG передаются:

  • SQL-, MDX-запросы, их параметры и результирующие наборы;

  • параметры конечных точек (endpoint-параметры), в том числе тело запроса, заголовки и их ответы;

  • содержимое файлов данных, конфигураций.

Примечание

На стенде DEV рекомендуется использовать уровень логирования INFO. На стенде ПСИ/ПРОМ — уровень ERROR.

При использовании библиотеки log4j с HttpAppender дополнительных полей-атрибутов, специфичных вызовов для сервиса журналирования нет.

Список событий логирования#

Ниже приведены некоторые события логирования.

Описание

Текст события

Файл для записи

Уровень логирования

Старт задачи обновления владельца метаданных

Start renew owned epoch…

kylin.metadata.log

DEBUG

Задача обновления владельца метаданных завершена

End renew owned epoch,cost:{}…

kylin.metadata.log

DEBUG

Кеш результатов выполнения SQL-запросов выключен

query cache is disabled

kylin.query.log

DEBUG

Отправка уведомления для экземпляра компонента выполнена

Broadcast to {} notify.

kylin.log

INFO

Запуск периодической задачи назначения или обновления владельца метаданных

Try to update/renew epoch every {} seconds

kylin.log

INFO

Создание проекта

Creating project {}

kylin.log

INFO

Удаление проекта

Dropping project „{}“

kylin.log

INFO

Начало выполнения SQL-запроса в проекте

Start query in project: {}

kylin.query.log

INFO

Логический план выполнения SQL-запроса с использованием Spark

SPARK LOGICAL PLAN {}

kylin.query.log

INFO

Очистка истории запросов для проекта не будет выполнена, так как не превышен лимит записей

Query histories of project<{}> is less than the maximum limit, so skip it.

kylin.schedule.log

INFO

Запущена очистка истории запросов для проекта

Start to delete query histories that are beyond max size for project<{}>, records:{}

kylin.schedule.log

INFO

Очистка истории запросов для проекта завершена успешно

Query histories cleanup for project<{}> finished, it took {}ms

kylin.schedule.log

INFO

Отправка уведомления для экземпляра компонента завершилась ошибкой

Failed to notify.

kylin.log

WARN

Список экземпляров кластера компонента пустой

There is no available rest server; check the „kylin.server.cluster-servers“ config

kylin.log

WARN

Не найден вывод (логи) для задания с идентификатором

Cannot found output for task: id={}

kylin.build.log

WARN

Ошибка обращения к REST API

Unhandled controller exception

kylin.log

ERROR

Ошибка отправки события аудита

Audit event was rejected, name: „{}“

kylin.log

ERROR

Произошла ошибка во время выполнения SQL-запроса

Exception while executing query

kylin.query.log

ERROR

Очистка истории запросов для проекта завершилась ошибкой

Clean query histories for project<{}> failed

kylin.schedule.log

ERROR

Использование адаптера HttpAppender#

HttpAppender отправляет события логирования по протоколу HTTP. Для форматирования LogEvent требуется макет.

HttpAppender устанавливает заголовок Content-Type в соответствии с выбранным макетом. Дополнительные заголовки можно указать с помощью встроенных элементов Property.

HttpAppender будет ожидать ответа от сервера и выдавать ошибку, если не получит ответа с кодом 2xx. Реализовано с использованием HttpURLConnection.

Параметры HttpAppender указаны в таблице ниже:

Параметр

Тип

Описание

name

Строка

Имя appender

filter

Фильтр

Фильтр, определяющий, должно ли событие обрабатываться этим appender. Можно использовать несколько фильтров с помощью CompositeFilter

layout

Макет

Макет, используемый для форматирования LogEvent

Ssl

Конфигурация Ssl

Содержит конфигурацию для KeyStore и TrustStore для HTTPS. Необязательно, использует значения по умолчанию Java runtime, если не указано

verifyHostname

Булево значение

Проверять ли имя сервера по сертификату. Действительно только для HTTPS. Необязательно, по умолчанию true

url

строка

Используемый URL. Схема URL должна быть HTTP или HTTPS

method

строка

Используемый HTTP-метод. Необязательно, по умолчанию POST

connectTimeoutMillis

целое число

Тайм-аут подключения в миллисекундах. Необязательно, по умолчанию 0 (бесконечный тайм-аут)

readTimeoutMillis

целое число

Тайм-аут чтения из сокета в миллисекундах. Необязательно, по умолчанию 0 (бесконечный тайм-аут)

headers

Массив свойств

Дополнительные HTTP-заголовки для использования. Значения поддерживают поиск

ignoreExceptions

Булево значение

По умолчанию true, что вызывает внутреннюю регистрацию и игнорирование исключений, возникающих при добавлении событий. При установке в false исключения будут передаваться вызывающему. Необходимо установить в false при оборачивании этого appender в FailoverAppender

Конфигурация журналов#

Конфигурация всех журналов, начинающихся с OLAP и заканчивающихся log, находится в файле kylin-server-log4j.xml (каталог $KYLIN_HOME/server/conf/). Конфигурацию выполняет пользователь с ролью «Администратор».

Код конфигурации выглядит следующим образом.

<Routing name="routing">
    <Routes pattern="$${ctx:logCategory}">
        <Route>
            <RollingFile name="rolling-${ctx:logCategory}"
                fileName="${env:KYLIN_HOME}/logs/kylin.${ctx:logCategory}.log"
                filePattern="${env:KYLIN_HOME}/logs/kylin.${ctx:logCategory}.log.%i">
                <Policies>
                    <SizeBasedTriggeringPolicy size="268435456"/>
                </Policies>
                <DefaultRolloverStrategy max="10"/>
                <PatternLayout pattern="%d{ISO8601} %-5p %X{request.project}[%t] %c{2} : %mask{%m}%n"/>
            </RollingFile>
        </Route>
        <Route ref="server" key="$${ctx:logCategory}"/>
   </Routes>
</Routing>

В конфигурации по умолчанию ротация журнала происходит при достижении файлом журнала размера 256 МБ, при этом сохраняются последние 10 файлов журнала.

Если необходимо настроить один из файлов журнала (например, kylin.query.log) отдельно, то необходимо добавить новый путь в конфигурации Routes в приведенном выше коде конфигурации и настроить ключ как имя соответствующего файла журнала (query, schedule). Следует отметить, что новый путь должен быть настроен раньше существующего, иначе он не вступит в силу.

В качестве примера ниже приведена модификация скользящей стратегии для журнала kylin.query.log так, чтобы он срабатывал в 0:00 каждый день, создавая резервную копию последних 5 журналов.

<Route key="query">
    <RollingFile name="rolling-${ctx:logCategory}" fileName="${env:KYLIN_HOME}/logs/kylin.${ctx:logCategory}.log" filePattern="${env:KYLIN_HOME}/logs/kylin.${ctx:logCategory}.log.%i">
        <Policies>
            <CronTriggeringPolicy schedule="0 0 0 * * ?"/>
        </Policies>
        <DefaultRolloverStrategy max="5" />
        <PatternLayout pattern="%d{ISO8601} %-5p %X{request.project}[%t] %c{2} : %mask{%m}%n" />
    </RollingFile>
</Route>

Если необходимо настроить kylin.log, то можно изменить конфигурацию RollingRandomAccessFile, например, изменить количество зарезервированных файлов на 5.

<RollingRandomAccessFile name="server" fileName="${env:KYLIN_HOME}/logs/kylin.log" append="true"
                         filePattern="${env:KYLIN_HOME}/logs/kylin.log.%i" immediateFlush="false" >
    <Policies>
        <SizeBasedTriggeringPolicy size="268435456"/>
    </Policies>
    <DefaultRolloverStrategy max="5"/>
    <PatternLayout pattern="%d{ISO8601} %-5p %X{request.project}[%t] %c{2} : %mask{%m}%n"/>
</RollingRandomAccessFile>

После модификации необходимо перезапустить OLAP, чтобы конфигурация вступила в силу.

Коды ошибок в журнале регистрации#

Формат кода ошибки журнала — KE-AABBBCCC, где

  • AA — модуль отчетности об ошибках;

  • BBB — более подробная отчетность об ошибках в бизнесе;

  • CCC — номер ошибки.

AA

Описание

00

общее

10

сервер

20

запрос

30

сборка

40

система

50

инструменты

BBB

Описание

000

общее

001

проект

002

модель

003

пользователь

004

группа пользователей

005

пароль

006

столбец

007

таблица

008

база данных

009

мера

010

измерение

011

cc

012

индекс

013

задание

014

SQL-выражение

015

лицензия

016

электронная почта

017

файл

018

kerberos

019

каталог

020

рекомендация

021

сервер

022

сегмент

023

диагностика

024

авторизация

025

оболочка

026

метаданные

027

частота запросов

028

JSON

Сборка#

0300012ХХ#

Код ошибки

Описание

KE-030001201

Сборка невозможна, ожидаемое количество строк для индекса %s не совпадает с фактическим количеством построенных строк

Сервер#

0100012XX проект#

Код ошибки

Описание

KE-010001201

Не удается найти проект %s. Пожалуйста, проверьте и попробуйте еще раз

KE-010001208

Невозможно использовать, многоуровневое разбиение не включено для проекта %s. Пожалуйста, включите его и попробуйте снова

0100022XX модель#

Код ошибки

Описание

KE-010002201

Не удается найти модель. Пожалуйста, проверьте и повторите попытку

KE-010002202

Невозможно найти идентификатор модели %s. Пожалуйста, проверьте и повторите попытку

KE-010002203

Невозможно найти имя модели %s. Пожалуйста, проверьте и повторите попытку

KE-010002204

Имя не может быть пустым

KE-010002205

Имя модели %s недействительно. Пожалуйста, используйте только буквы, цифры и подчеркивания

KE-010002206

Модель %s уже существует. Пожалуйста, переименуйте ее

KE-010002207

При модификации модели в параметре simplified_measures требуется идентификатор каждой меры. Пожалуйста, передайте идентификаторы следующих мер и повторите попытку: %s

KE-010002208

У онлайн-модели должен быть сегмент. Пожалуйста, введите заново

KE-010002301

В столбце измерения %s и имени меры %s имеются дублирующиеся имена. Невозможно экспортировать корректный TDS-файл. Пожалуйста, исправьте дублирующиеся имена и повторите попытку

KE-010002302

В столбце модели %s и имени меры %s имеются дублирующиеся имена. Невозможно экспортировать действительный TDS-файл. Исправьте дублирующиеся имена и повторите попытку

0100252XX OLAP-куб#

Код ошибки

Описание

KE-010025201

Невозможно найти OLAP-куб

0100222XX сегмент#

Код ошибки

Описание

KE-010022201

Невозможно обновить. Диапазон сегментов %s превышает диапазон загруженных данных, который составляет %s. Пожалуйста, измените и повторите попытку

KE-010022202

Невозможно построить сегмент. Указанный диапазон данных перекрывается с построенными сегментами %s. Пожалуйста, измените и повторите попытку

KE-010022203

Невозможно обновить. Пожалуйста, выберите сегмент и повторите попытку

KE-010022204

Невозможно обновить, некоторые сегменты находятся в процессе сборки. Пожалуйста, повторите попытку позже

KE-010022205

Невозможно обновить, выбранный диапазон сегментов пуст. Пожалуйста, повторите выбор и попробуйте снова

KE-010022206

Пожалуйста, выберите не более одного сегмента для обновления

KE-010022207

Пожалуйста, выберите не менее двух сегментов для объединения

KE-010022208

Невозможно объединить выбранные сегменты, так как между ними есть пробел(ы). Пожалуйста, проверьте и попробуйте еще раз

KE-010022209

Не удается найти сегмент с именем %s. Проверьте и повторите попытку

KE-010022210

Невозможно найти сегмент по идентификатору %s. Пожалуйста, проверьте и повторите попытку

KE-010022211

Невозможно найти сегмент(ы). Пожалуйста, проверьте и повторите попытку

KE-010022212

Вы должны выбрать хотя бы один сегмент!

KE-010022213

Вы должны выбрать хотя бы один сегмент для отбрасывания!

KE-010022214

Невозможно одновременно ввести идентификатор и имя сегмента. Пожалуйста, введите заново

KE-010022215

Пожалуйста, введите идентификатор или имя сегмента

KE-010022216

Невозможно удалить, обновить или объединить сегмент %s, так как он ЗАБЛОКИРОВАН. Пожалуйста, повторите попытку позже

KE-010022217

Невозможно обновить или объединить сегмент %s, так как он находится в %s. Пожалуйста, повторите попытку позже

KE-010022218

Индексы, включенные в выбранные сегменты, не соответствуют друг другу. Пожалуйста, сначала создайте индекс и попробуйте объединить снова

KE-010022219

Разделы, включенные в выбранные сегменты, не соответствуют друг другу. Пожалуйста, сначала создайте разделы и попробуйте объединить их снова

0100072XX таблица#

Код ошибки

Описание

KE-010007204

Тип данных столбца «%2$s» из исходной таблицы «%1$s» изменился. Пожалуйста, удалите столбец из модели «%3$s» или измените тип данных

KE-010007208

Метаданные таблицы сейчас не могут быть перезагружены. В данный момент выполняются задания со следующими целевыми субъектами: %s. Пожалуйста, попробуйте перезагрузить таблицу, пока все задания не будут завершены, или вручную отмените задания

KE-010007301

Не удалось получить настройки исключенных столбцов, так как в проекте %s не разрешены исключенные столбцы

0100322XX задание#

Код ошибки

Описание

KE-010032201

Невозможно добавить задание, так как значение подраздела пусто. Проверьте и повторите попытку

KE-010032202

Невозможно отправить задание, так как в сегмент не включен индекс. Проверьте и повторите попытку

KE-010032203

Невозможно отправить задание, так как нет сегментов в состоянии READY. Пожалуйста, повторите попытку позже

KE-010032204

В данный момент не удается найти исполняемые задания. Пожалуйста, повторите попытку позже

KE-010032205

Невозможно добавить задание. Убедитесь, что операция действительна для текущего объекта

KE-010032206

Невозможно отправить задание, так как уже существует задание на сборку для того же объекта. Пожалуйста, повторите попытку позже

KE-010032207

Невозможно отправить задание, так как индексы в выбранных сегментах не совпадают. Пожалуйста, проверьте и повторите попытку

KE-010032208

Невозможно отправить задание на этот узел, так как он не является узлом задания. Проверьте и повторите попытку

KE-010032209

Невозможно добавить задание, так как имеются дублирующиеся значения подразделов. Проверьте и повторите попытку

KE-010032210

Нет индекса, который можно было бы обновить. Проверьте и повторите попытку

KE-010032211

Невозможно %s задание %s, так как оно находится в %s статусе

KE-010032212

Выбранный статус задания недействителен. Значение статуса должно быть PENDING, RUNNING, FINISHED, ERROR, DISCARDED или STOPPED. Пожалуйста, проверьте и повторите попытку

KE-010032213

Как минимум одно задание должно быть выбрано для %s

KE-010032214

Количество строк выборки должно быть между %s и %s. Пожалуйста, измените его

KE-010032215

Невозможно выполнить текущую операцию, так как при обновлении статуса задания произошла ошибка. Пожалуйста, обновите список заданий и повторите попытку

KE-010032216

Невозможно отправить задания на сборку, так как превышен лимит параллелизма (%s). Пожалуйста, попробуйте отправить меньше заданий за раз

KE-010032217

Неправильное значение в параметре «action» или «statuses» или «job_ids». Значение «statuses» или статус заданий, указанный «job_ids», содержит %s, этот статус заданий может выполнять только следующие действия: %s.

KE-010032218

Нет доступной квоты хранения. Системе не удалось отправить задание на построение, в то время как механизм запросов все еще будет доступен. Пожалуйста, своевременно очищайте низкоэффективное хранилище, увеличьте порог низкоэффективного хранилища или сообщите администратору об увеличении квоты хранилища для этого проекта

KE-010032219

Не удается найти задание %s. Пожалуйста, проверьте и повторите попытку

KE-010032220

После загрузки некоторых данных перезапуск задания не поддерживается

KE-010032221

Если статус задания Spark «в запросе», задание сборки не может быть остановлено, пожалуйста, повторите попытку позже

0100032XX пользователь#

Код ошибки

Описание

KE-010003207

Невозможно аутентифицироваться. Пожалуйста, войдите еще раз

KE-010003208

Неверное имя пользователя или пароль. Проверьте и повторите попытку

KE-010003209

Не удается найти информацию об аутентификации

0100312XX запрос#

Код ошибки

Описание

KE-010031201

Не удается получить результат запроса, так как количество строк в результате запроса превышает максимальный лимит %s. Пожалуйста, добавьте фильтры или свяжитесь с администратором, чтобы настроить максимальный лимит

KE-010031202

Некорректный синтаксис или формат SQL, пожалуйста, проверьте, исправьте и повторите попытку

0100102XX вычисляемый столбец#

Код ошибки

Описание

KE-010010201

Имя и выражение вычисляемого столбца, определенного в модели, конфликтуют с другими моделями

KE-010010202

Дублирующееся имя вычисляемого столбца, определенный вычисляемый столбец с именем %s и выражением %s конфликтует с именем вычисляемого столбца в модели %s

KE-010010203

Дублирование выражения вычисляемого столбца, определенный вычисляемый столбец с именем %s и выражением %s конфликтует с выражением вычисляемого столбца в модели %s

KE-010010204

Определенный вычисляемый столбец с именем %s с выражением %s несовместим с именем вычисляемого столбца с именем %s с выражением %s в проекте. Переименовать в %s

KE-010010205

Имена вычисляемых столбцов и выражений не могут быть пустыми. Проверьте и повторите попытку

0100122XX индекс#

Код ошибки

Описание

KE-010012201

Метаданные индекса могут быть несогласованными. Пожалуйста, попробуйте обновить все сегменты в следующей модели: Проект [%s], Модель [%s]

KE-010012202

Невозможно добавить этот индекс, так как такой индекс уже существует. Пожалуйста, измените

KE-010012203

Параметр %s поддерживает только %s

KE-010012204

Столбец ShardBy не включен в индекс. Пожалуйста, исправьте и повторите попытку

KE-010012205

Количество индексов, созданных агрегатной группой, превышает максимальное количество(%s) индексов, допустимое системой

0100432XX проверка параметров#

Код ошибки

Описание

KE-010043201

Параметр запроса %s пуст или значение пустое. Проверьте параметры запроса

KE-010043202

Введенное значение параметра недействительно. Временная метка преобразования начального и конечного времени должна быть больше или равна 0. Проверьте и повторите попытку

KE-010043203

Введенное значение параметра недействительно. Время окончания должно быть больше времени начала. Проверьте и повторите попытку

KE-010043204

Введенное значение параметра недействительно. Время окончания должно быть больше или равно времени начала. Проверьте и повторите попытку

KE-010043205

Введенный формат параметра недопустим. Формат временной метки должен быть миллисекунды. Проверьте и повторите попытку

KE-010043206

Введенное значение параметра недействительно. Время начала и время окончания должны существовать или быть пустыми одновременно. Проверьте и повторите попытку

KE-010043207

Введенный параметр %s недействителен, в данный момент поддерживается только %s. Пожалуйста, проверьте и повторите попытку

KE-010043208

Введенное значение параметра недействительно. Значение параметра должно быть неотрицательным целым числом. Проверьте и повторите попытку

KE-010043209

Введенное значение параметра %s недействительно. В настоящее время поддерживается только значение %s. Пожалуйста, проверьте и повторите попытку

KE-010043210

Параметр не может быть пустым. Пожалуйста, введите формат столбца временного раздела

KE-010043211

Тип столбца временного раздела %s недопустим. Пожалуйста, введите поддерживаемый формат, обратитесь к руководству пользователя

KE-010043212

Параметр не может быть пустым. Пожалуйста, введите идентификатор макета(ов)

KE-010043213

Не удается найти макет %s. Пожалуйста, проверьте и повторите попытку

KE-010043214

Невозможно обновить значение, единицы времени поддерживаются только в d (днях), h (часах) или m (минутах). Проверьте и повторите попытку

KE-010043215

Невозможно изменить конфигурацию %s. Пожалуйста, свяжитесь с администратором

KE-010043216

Невозможно удалить эту конфигурацию %s. Пожалуйста, свяжитесь с администратором

KE-010043217

Введенное значение параметра недействительно. Время начала и время окончания действительны от 5 минут до 30 дней. Пожалуйста, проверьте и повторите попытку

KE-010043218

Неверное значение параметра запроса %s. Пожалуйста, введите правильное значение параметра sort_by

KE-010043219

Пожалуйста, используйте символы или пробелы для имени пользователя и компании

KE-010043220

Не удается найти группу пользователей %s. Пожалуйста, проверьте и повторите попытку

KE-010043221

Параметр %s уже существует. Проверьте и повторите попытку

Потоковая передача#

0100352ХХ#

Код ошибки

Описание

KE-010035202

При разборе сообщений темы «%2$s» парсером «%1$s» произошло исключение. Пожалуйста, проверьте и повторите попытку

KE-010035215

Невозможно правильно прочитать файл аутентификации Kafka. Пожалуйста, проверьте и повторите попытку

KE-010035216

Файл keyTab в файле аутентификации Kafka не существует, пожалуйста, проверьте и повторите попытку

KE-010035217

«KafkaClient» не существует в файле аутентификации Kafka, пожалуйста, проверьте и повторите попытку

0100422ХХ пользовательский парсер#

Код ошибки

Описание

KE-010042201

Формат файла недействителен. Пожалуйста, используйте файл формата jar

KE-010042202

Файл %s уже существует. Пожалуйста, проверьте и повторите попытку

KE-010042203

Невозможно подключиться к HDFS. Проверьте сеть и повторите попытку

KE-010042204

Не удается обнаружить парсер сообщений в файле %s. Пожалуйста, добавьте его и повторите попытку

KE-010042205

Парсер сообщений «%2$s» в файле «%1$s» уже существует. Пожалуйста, проверьте и повторите попытку

KE-010042206

Невозможно удалить файл. Парсер сообщений в файле прикреплен к таблице %s. Пожалуйста, отсоедините его и повторите попытку

KE-010042207

Невозможно удалить синтаксический анализатор сообщений. Парсер сообщений прикреплен к таблице %s. Пожалуйста, отсоедините его и повторите попытку

KE-010042208

Имя разобранного столбца недопустимо. Пожалуйста, начинайте с буквы и используйте только буквы, цифры и подчеркивания

KE-010042209

Невозможно загрузить, количество парсеров превышает лимит, текущее количество парсеров в системе: %s, количество недавно добавленных парсеров: %s, верхний предел количества парсеров: %s. Пожалуйста, проверьте и повторите попытку

KE-010042210

Невозможно удалить парсер сообщений по умолчанию

KE-010042211

Не удалось загрузить jar-файл. Пожалуйста, проверьте и повторите попытку

KE-010042212

Парсер %s не существует

KE-010042213

Загрузка jar-файла превышает лимит размера %s

KE-010042214

Jar %s не существует

KE-010042215

Парсер %s уже существует

KE-010042216

Jar %s уже существует

0100313ХХ асинхронный запрос#

Код ошибки

Описание

KE-010031301

Не удается найти запрос с таким идентификатором запроса в этом проекте. Пожалуйста, проверьте и попробуйте еще раз

KE-010031302

Имя проекта не может быть пустым. Пожалуйста, проверьте и повторите попытку

KE-010031303

Временной формат недействителен. Пожалуйста, введите дату в формате «yyyy-MM-dd HH:mm:ss»

KE-010031304

Замечание: Теперь мы перенесли параметр «include_header» в Submit Async Query API, поэтому параметр здесь не работает. Пожалуйста, прочитайте руководство пользователя для получения подробной информации

Система#

0400052XX пароль#

Код ошибки

Описание

KE-040005201

Не удается найти PASSWORD ENCODER. Проверьте элемент конфигурации kylin.security.user-password-encoder

KE-040005202

Невозможно инициализировать PASSWORD ENCODER. Проверьте элемент конфигурации kylin.security.user-password-encoder

0400212XX epoch#

Код ошибки

Описание

KE-040021201

Система пытается восстановить службу. Пожалуйста, повторите попытку позже

0400232XX#

Код ошибки

Описание

KE-040023201

Невозможно выполнить этот запрос на узле задания. Пожалуйста, проверьте и повторите попытку

KE-040023202

Узел задания недоступен для запросов. Пожалуйста, выберите узел запроса

KE-040023203

Невозможно выполнить этот запрос на узле запросов. Пожалуйста, проверьте и повторите попытку

0400242XX режим обслуживания#

Код ошибки

Описание

KE-040024201

В данный момент не может работать с метаданными, так как система находится в режиме обслуживания

KE-040024202

Система уже находится в режиме обслуживания

KE-040024203

Система не находится в режиме обслуживания

0400262XX конфигурация системы#

Код ошибки

Описание

KE-040026201

Некорректные данные профиля системы

0400272XX группа ресурсов#

Код ошибки

Описание

KE-040027201

Чтобы отключить режим группы ресурсов, удалите все экземпляры и проекты для существующих групп ресурсов

KE-040027202

После включения режима группы ресурсов убедитесь, что существует хотя бы одна группа ресурсов

KE-040027203

Идентификатор группы ресурсов не может быть пустым. Пожалуйста, проверьте и повторите попытку

KE-040027204

Идентификатор группы ресурсов %s уже существует. Пожалуйста, проверьте и повторите попытку

KE-040027205

Невозможно выполнить этот запрос. Убедитесь, что все параметры запроса группы ресурсов включены

KE-040027206

Не удается найти в экземпляре параметр «resource_group_id», значение которого равно %s. Пожалуйста, проверьте и повторите попытку

KE-040027207

Существуют дублирующие экземпляры. Пожалуйста, проверьте и повторите попытку

KE-040027208

Параметр %s не может быть пустым в экземпляре %s. Пожалуйста, проверьте и повторите попытку

KE-040027209

Невозможно выделить группу ресурсов для проекта %s. Пожалуйста, убедитесь, что для проекта выделено не более двух групп ресурсов. При этом каждый запрос (запрос или сборка) распределяется на одну группу ресурсов

KE-040027210

Значение %s «resource_group_id» в «mapping_info» не совпадает со значением «resource_groups»

Инструменты#

0500402XX#

Код ошибки

Описание

KE-050040201

%s пуст

KE-050040202

%s не указан

KE-050040203

Параметр %s не указан (миллисекунды)

KE-050040204

Параметр «-endTime» <= Параметр «-startTime»

0500412XX#

Код ошибки

Описание

KE-050041201

Путь не существует: %s

KE-050041202

Путь уже существует: %s

Общее#

0601002ХХ#

Код ошибки

Описание

KE-060100201

Исключение произошло вне приложения

Асинхронный способ записи событий в журнал#

Для включения асинхронного режима записи используется системное свойство log4j2.contextSelector библиотеки log4j со значениями org.apache.logging.log4j.core.async.AsyncLoggerContextSelector или org.apache.logging.log4j.core.async.BasicAsyncLoggerContextSelector при запуске компонента.

Пример конфигурации ниже:

<?xml version="1.0" encoding="UTF-8"?>

<!-- Don't forget to set system property
-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
or
-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.BasicAsyncLoggerContextSelector
     to make all loggers asynchronous. -->

<Configuration status="WARN">
  <Appenders>
    <!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
    <RandomAccessFile name="RandomAccessFile" fileName="async.log" immediateFlush="false" append="false">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
      </PatternLayout>
    </RandomAccessFile>
  </Appenders>
  <Loggers>
    <Root level="info" includeLocation="false">
      <AppenderRef ref="RandomAccessFile"/>
    </Root>
  </Loggers>
</Configuration>

Ротация журналов#

Для обеспечения ротации и архивации используется RollingFileAppender библиотеки log4j.

Настройка ротации журналов#

Три файла журналов: shell.stderr, shell.stdout и kylin.out, расположенные в каталоге журналов $KYLIN_HOME/logs/ в OLAP, по умолчанию регулярно запускают проверку на ротацию журналов.

Параметры настройки ротации представлены в таблице ниже.

Параметр

Описание

Значение по умолчанию

kylin.env.max-keep-log-file-number

Максимальное количество файлов для ротации журнала

10

kylin.env.max-keep-log-file-threshold-mb

Файлы журнала ротируются, если их размер превышает указанное значение

256 в MB

kylin.env.log-rotate-check-cron

Конфигурация времени в crontab

33 * * * *

kylin.env.log-rotate-enabled

Разрешает crontab проверять ротацию журнала

true

Стратегия «Регулярная ротация по умолчанию»

Для использования стратегии регулярной ротации по умолчанию необходимо установить параметр kylin.env.log-rotate-enabled=true, а также убедиться, что пользователи, работающие с OLAP, могут использовать команды logrotate и crontab для добавления запланированного задания.

При использовании стратегии компонент OLAP будет добавлять или обновлять задания crontab в соответствии с параметром kylin.env.log-rotate-check-cron при запуске или перезапуске и удалять добавленные задания crontab при выходе.

Если условия политики регулярной ротации по умолчанию не выполняются, то OLAP будет запускать проверку ротации журнала только при запуске. При каждом выполнении команды kylin.sh start в соответствии с параметром kylin.env.max-keep-log-file-number и kylin.env.max-keep-log-file-threshold-mb для ротации журнала.

Если компонент OLAP работает долгое время, файл журнала может быть слишком большим.

При использовании crontab для управления ротацией журнала операция сворачивания реализуется командой logrotate.

Если файл журнала слишком велик, журнал может быть потерян во время ротации.