Руководство по системному администрированию#

Термины и определения#

Термин или сокращение

Описание или расшифровка

Base64

Стандартное кодирование, которое используется для преобразования двоичных данных в текстовый формат, состоящий только из символов ASCII

BI

(Business Intelligence) Процесс сбора, анализа и представления данных для принятия бизнес-решений. BI включает в себя использование различных инструментов и технологий для извлечения, трансформации и загрузки данных, их анализа и визуализации

CA

(Certificate Authority) Центр сертификации

DB

(Database) Организованная коллекция данных, которая хранится и обрабатывается с помощью компьютерных систем

GMT

(Greenwich Mean Time) Среднее время на нулевом меридиане, проходящем через Гринвич, Лондон. GMT используется в качестве стандартного времени для синхронизации международных временных зон

HTTPS

(Hypertext Transfer Protocol Secure) Защищенная версия протокола передачи гипертекста (HTTP), который используется для обмена данными между веб-сервером и клиентом. HTTPS обеспечивает шифрование данных и аутентификацию сервера, что делает передачу данных более безопасной.

ID

(Identifier) Уникальный идентификатор, который используется для идентификации объектов или сущностей в системе

IP

(Internet Protocol) Протокол сетевого уровня, который определяет адресацию и маршрутизацию пакетов данных в сети.

JDBC

(Java Database Connectivity) API (Application Programming Interface) для взаимодействия с базами данных с использованием языка программирования Java.

JSON

(JavaScript Object Notation) Формат обмена данными, основанный на синтаксисе объектов JavaScript. JSON используется для передачи структурированных данных между клиентом и сервером в веб-приложениях.

JVM

(Java Virtual Machine) Виртуальная машина, которая выполняет байт-код, созданный компилятором Java

KB

(Kilobyte) Единица измерения объема информации, которая равна 1024 байтам. KB используется для измерения размера файлов, объема памяти и других данных

LCID

(Locale Identifier) Числовой идентификатор, который определяет локальные настройки и язык в операционной системе Windows. LCID используется для определения формата даты, времени, чисел и других локализованных параметров.

MDX

(Multidimensional Expressions) Язык запросов и выражений, который используется для анализа данных в многомерных базах данных, таких как OLAP (Online Analytical Processing). MDX позволяет выполнять сложные аналитические запросы и получать сводные данные из многомерных кубов

MDXK

Компонент MDX for OLAP (MDXK) продукта Platform V OLAP Analytics (OLP)

mTLS

(Mutual Transport Layer Security) Протокол безопасности на транспортном уровне, который обеспечивает взаимную аутентификацию и шифрование данных между клиентом и сервером. mTLS использует сертификаты для проверки подлинности обеих сторон и обеспечивает защищенную связь в сети

OLAP

Компонент OLAP (OLAP) продукта Platform V OLAP Analytics (OLP)

OLAP

(Online Analytical Processing) Метод анализа данных, который позволяет выполнять сложные запросы и агрегировать данные из многомерных баз данных. OLAP используется для анализа бизнес-данных и создания сводных отчетов и аналитических моделей.

QTD

(Quarter to Date) Период времени, который охватывает текущий квартал до настоящего момента. QTD используется для анализа финансовых данных и производительности бизнеса за определенный квартал.

SQL

Structured Query Language) Язык программирования, который используется для управления и обработки данных в реляционных базах данных

SPI

(Service Provider Interface) Интерфейс программирования приложений, который определяет способ взаимодействия между компонентами программного обеспечения

SSL

(Secure Sockets Layer) Протокол безопасности на транспортном уровне, который обеспечивает шифрование данных и аутентификацию сервера во время передачи данных между клиентом и сервером

TLS

(Transport Layer Security) Протокол безопасности на транспортном уровне, который обеспечивает шифрование данных и аутентификацию сервера во время передачи данных между клиент

URI

(Uniform Resource Identifier) Строка символов, которая идентифицирует уникальный ресурс в сети, такой как веб-страница, изображение или файл

UDF

(User-Defined Function) Функция, которая создается пользователем в программировании или базах данных

XML/A Schema

Схема, используемая в XML/A (XML for Analysis), который является стандартом для доступа к аналитическим данным в формате XML. XML/A Schema определяет структуру и формат данных, которые могут быть использованы для анализа и обработки данных в XML/A.

YTD

(Year-to-Date) Период времени, начиная с начала текущего года и до текущей даты

БД

(База данных) Организованная коллекция данных, которая хранится и обрабатывается с помощью компьютерных систем

БНФ

(Бэкуса-Наура Форма) Формальная нотация для описания синтаксиса языков программирования и других формальных языков. БНФ состоит из правил, которые определяют, какие комбинации символов являются допустимыми в языке. Она широко используется в компьютерных науках и языках разметки, таких как HTML и XML.

КБ

(Килобайт) Единица измерения информации, которая равна 1024 байта

Сценарии администрирования#

Диагностика#

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

MDXK требует правильной конфигурации каждого узла во время установки. Подробнее смотрите «Руководство по установке».

Конфигурационные файлы#

В таблице ниже представлены конфигурационные файлы для MDXK.

Файл

Описание

insight.properties

Конфигурационный файл с основными настройками компонента

log4j2.xml

Конфигурационный файл log4j, содержащий настройки журналирования

set-jvm.sh

Конфигурационный файл JVM для MDXK

Основные настройки#

Основные настройки задаются в файле insight.properties.

Общие настройки#

Настройка

Описание

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

insight.kylin.host

Указывает IP-адрес или имя хоста подключаемого сервера OLAP, например, 127.0.0.1.

localhost

insight.kylin.port

Указывает порт сервера OLAP, к которому необходимо подключиться

7070

insight.kylin.ssl

Включает использование протокола HTTPS для обращений к компоненту OLAP

false

insight.database.type

Тип БД для хранения метаданных

insight.database.ip

IP-адрес или имя хоста БД для хранения метаинформации, к которой должен подключиться MDXK

localhost

insight.database.port

Порт MDXK БД для хранения метаинформации, к которому должен подключиться MDXK

3306

insight.database.name

Имя БД для хранения метаинформации

insight

insight.database.username

Имя пользователя БД для хранения метаинформации

root

insight.database.password

Пароль БД для хранения метаинформации

нет

Конфигурация модуля Semantic Service#

Настройка

Описание

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

insight.semantic.port

Указывает порт семантического сервиса в MDXK

7080

insight.semantic.meta.sync.project-page-size

Указывает максимальное количество проектов, которое может быть получено при синхронизации проектов из компонента OLAP в MDXK. Важно,что значение параметра должно быть больше, чем количество проектов в компоненте OLAP

1000

insight.dataset.verify.interval.count

Определяет, через какое количество попыток синхронизации метаданных будет выполнена проверка метаданных. Например, синхронизация метаданных выполняется 1 раз в 20 секунд (смотрите значение параметра insight.semantic.meta-sync.interval), если для данного параметра установлено значение 2, то проверка набора данных будет осуществляться 1 раз в 40 секунд (2 * 20 секунд). Проверка набора данных выполняется только только в том случае, если параметр insight.dataset.verify.enable имеет значение true

15

insight.semantic.meta-sync.interval

Период синхронизации метаданных из OLAP в MDXK

30

insight.dataset.verify.enable

Определяет, включает ли компонент MDXK проверку наборов данных во время синхронизации метаданных

true

insight.semantic.model.version.verify

Определяет, включает ли компонент MDXK проверку версии модели метаданных

false

insight.semantic.startup.sync.enable

Определяет, запускает ли MDXK задачу синхронизации метаданных из OLAP во время запуска компонента

true

insight.semantic.segment.sync.enable

Определяет, включена ли синхронизации метаданных о сегментах, а также включена ли очистка кеша MDXK при наличии изменений в сегментах

true

insight.semantic.meta.sync.user-page-size

Указывает максимальное количество пользователей, информация о которых может быть получена при синхронизации метаданных из компонента OLAP в MDXK. Важно, что значение параметра должно быть больше, чем количество пользователей в компоненте OLAP

100000

insight.semantic.cookie-age

Задает время жизни пользовательских cookie при обращении к WEB-интерфейсу семантического сервиса в MDXK

86400, which is 86400 seconds100000

insight.semantic.checkout.dataset.connect

Определяет, нужно ли проверять соединение при сохранении набора данных MDXK

true

insight.semantic.connect.timeout

Тайм-аут соединения MDXK с OLAP, единица измерения — миллисекунды

5000

insight.semantic.socket.timeout

Тайм-аут ожидания данных от компонента OLAP (максимальный период бездействия между двумя последовательными пакетами данных)

10000

insight.semantic.connection.request.timeout

Время ожидания запроса на соединение MDXK с OLAP, единица измерения — миллисекунды

8000

insight.semantic.max-http-header-size

Максимальная длина заголовков HTTP-запроса при обращении к MDXK, единица измерения — КБ

8192

insight.semantic.meta.keep.mdx-query.max.rows

Максимальное количество записей истории MDX-запросов в системе

1000000

insight.semantic.zookeeper.enable

Определяет, разрешено ли регистрировать информацию о сервере в ZooKeeper

false

insight.semantic.zookeeper.address

Адрес ZooKeeper

localhost:2181

insight.semantic.zookeeper.node.path

Путь к узлу в ZooKeeper

/mdx

insight.semantic.zookeeper.session.timeout

Тайм-аут сессии с ZooKeeper

30000

insight.semantic.reject.enable

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

false

Конфигурация модуля MDX#

Настройка

Описание

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

insight.mdx.optimize-enabled

Указывает, следует ли включать оптимизацию операторов для MDX-запросов в MDXK

true

insight.mdx.calculate-total-need

Определяет, вычисляет ли MDX-запрос в MDXK глобальные итоговые и промежуточные итоги

true

insight.mdx.schema.create-from-dataset

Указывает, будет ли MDX-запрос в MDXK создавать схему из набора данных

true

insight.mdx.schema.refresh.disable

Указывает, следует ли отключать обновление для MDX-запроса в MDXK

false

insight.mdx.sql.orderby.enable

Указывает, следует ли включать SQL orderby в MDXK

true

insight.mdx.sql.calcite-engine-hint.enable

Определяет, должен ли OLAP принудительно использовать фреймворк Calcite при подключении BI-инструментов к MDXK и выполнении запросов, содержащих подобные представленным

false

insight.mdx.skip-axis-nonempty-check

Указывает, следует ли пропускать проверку на нулевое значение при вычислении оси в MDXK

true

insight.mdx.mondrian.olap.case.sensitive

Определяет, является ли оператор MDX-запроса в MDXK чувствительным к регистру

true

insight.mdx.mondrian.rolap.maxQueryThreads

Задает максимальное количество потоков запросов в MDXK

50

insight.mdx.mondrian.query.sql.page.size

Задает максимальное количество записей, получаемых на одной странице при выполнении MDX-запроса с пагинацией

10000

insight.mdx.mondrian.rolap.generate.formatted.sql

Определяет, должен ли MDX-запрос в MDXK форматировать выходной SQL-оператор

false

insight.mdx.mondrian.rolap.star.disableCaching

Указывает, следует ли отключать кеширование для MDX-запроса в MDXK

false

insight.mdx.mondrian.rolap.ignoreInvalidMembers

Определяет, игнорирует ли MDX-запрос в MDXK недействительные члены

true

insight.mdx.mondrian.rolap.ignoreInvalidMembersDuringQuery

Указывает, игнорирует ли MDX-запрос в MDXK недействительные члены в запросах

true

insight.mdx.mondrian.cache.expire-minute

Указывает, что время истечения срока действия кеша MDX-запроса в MDXK составляет несколько минут

720

insight.mdx.mondrian.olap.pure-axes-calculate.source.type

Указывает тип источника размерных данных при вычислении оси MDX-запроса в MDXK. Необязательными параметрами являются: SNAPSHOT, PARTIAL_CUBE, ALL_CUBE

PARTIAL_CUBE

insight.mdx.mondrian.olap.pure-axes-calculate.cardinality-gap

Задает максимальную кардинальность (эксклюзивность) таблицы размерностей, которую любой SQL на одной таблице размерностей в MDXK вынужден соблюдать, например, insight.mdx.mondrian.olap.pure-axes-calculate.source.type=SNAPSHOT, специальное значение -1 означает, что всегда вынужден, а 0 - что не вынужден

-1

insight.mdx.mondrian.olap.pure-axes-calculate.total-cardinality-gap

Задает максимальную кардинальность (эксклюзивную) любого результата total-axis SQL, который вынужден вести себя как insight.mdx.mondrian.olap.pure-axes-calculate.source.type=SNAPSHOT, специальное значение -1 означает, что всегда вынужден, а 0 - что не вынужден

0

insight.mdx.mondrian.olap.support-non-default-all-member

Определяет, поддерживает ли MDX-запрос в MDXK все члены не по умолчанию

false

insight.mdx.mondrian.olap.cell.calc.join-dims

Определяет, присоединяется ли MDX-запрос в MDXK к другим таблицам размерностей при вычислении ячейки

true

insight.mdx.mondrian.rolap.return-null-when-divide-zero

Определяет, возвращает ли MDX-запрос в MDXK 0, если делитель равен 0

true

insight.mdx.mondrian.rolap.optimize-tuple-size-in-aggregate.enable

Указывает, следует ли включать оптимизацию размера кортежей при агрегации MDX-запроса в MDXK

false

insight.mdx.mondrian.rolap.calculate-cell-when-non-measure

Указывает, следует ли агрегировать данные ячеек, когда MDX-запрос в MDXK не имеет измерений

false

insight.mdx.mondrian.sql.fetch-dim-from-snapshot

Определяет, предпочитает ли MDX-запрос в MDXK извлекать данные об измерениях из моментальных снимков

true

insight.mdx.mondrian.sql.enableOrderBy

Указывает, добавлять ли collation при запросе SQL в MDXK

true

insight.mdx.mondrian.jdbc.timezone

Задает часовой пояс службы запросов JDBC в MDXK

GMT+8:00

insight.mdx.mondrian.schema.init-level-group-order-by-key

Определяет, должен ли MDX-запрос в MDXK инициализировать уровень по значению ключа

true

insight.mdx.mondrian.query.filter-pushdown.enable

Указывает, включен ли в MDXK режим MDX-запросов для фильтрации pushdown

true

insight.mdx.mondrian.query.filter-pushdown.in-clause-max-size

Задает максимальное количество фильтрующих клаузул MDX-запросов в MDXK

20

insight.mdx.mondrian.query.sql.customize.enable

Указывает, следует ли включать настройку MDX-запросов в MDXK SQL

true

insight.mdx.mondrian.query.sql.customize.class

Определяет класс реализации MDX-запроса CustomizeSqlQuery в MDXK

io.kylin.mdx.web.mondrian.rolap.sql.KylinSqlQuery

insight.mdx.mondrian.query.sql.max.size

Задает максимальное количество строк запроса для SQL-запроса в MDXK

50000

insight.mdx.mondrian.rolap.star.disableLocalSegmentCache

Указывает, включать ли локальный кеш для сегментов, запрашиваемых в MDX-запросе в MDXK, генерировать специфический кеш и находить блочный кеш SPI

false

insight.mdx.mondrian.olap.triggers.enable

Указывает, уведомлять ли Mondrian при изменении конфигурационных свойств MDX-запроса в MDXK

true

insight.mdx.mondrian.rolap.nonempty

Указывает, нужно ли в MDXK задавать непустое значение для каждой оси запроса

false

insight.mdx.mondrian.rolap.compareSiblingsByOrderKey

Указывает, проверяет ли MDX-запрос в MDXK сиблинговые члены и извлекает ли члены из исходного выражения для проверки

false

insight.mdx.mondrian.rolap.maxSqlThreads

Задает максимальное количество экземпляров Mondrian, которые поддерживают SQL в MDXK

100

insight.mdx.mondrian.rolap.maxCacheThreads

Задает максимальное количество потоков на один экземпляр Mondrian, когда MDX-запрос в MDXK поддерживает кеширование

100

insight.mdx.mondrian.rolap.queryTimeout

Установка времени тайм-аута MDX-запроса, в секундах

insight.mdx.mondrian.olap.NullMemberRepresentatio

Определяет, как отображать MDX-запрос в MDXK, когда результат пуст

null

insight.mdx.mondrian.visualtotal.solve.order

Определяет общий порядок настройки MDX-запроса в MDXK

insight.mdx.mondrian.cross-join.native.enable

Определяет, использовать ли нативный Cross JOIN при отправке запросов в MDXK

true

insight.mdx.mondrian.filter.row.limit

Указывает, добавлять ли условие Limit при подключении BI-инструментов к MDXK и выполнении операции Filter. По умолчанию установлено значение 0, что означает, что условие Limit не добавляется. Если значение равно 10, то в запрос будет добавлено SQL-условие limit 10. Примечание: Параметры здесь должны быть записаны в целых положительных числах, иначе при выполнении MDX-запроса будет выдана ошибка. Примечание: После установки этого параметра может произойти обратная операция выбора из выпадающего списка в инструментах анализа данных

0

insight.mdx.mondrian.result.limit

Указывает количество строк, возвращаемых проверкой SQL, и количество ячеек. Если предел превышен, то будет возвращена непосредственно ошибка

100000

insight.mdx.mondrian.mdprop.mdx.subqueries

Указывает уровень поддержки подзапросов в MDX-запросе. По умолчанию параметр принимает значение 2 и не поддерживает подзапросы

insight.mdx.mondrian.query.sql.model-priority-hint.enable

Если эта опция включена, то модель, на которую ссылается набор данных, будет указываться в SQL-операторах как модель с высоким приоритетом

insight.mdx.xmla.support-rowset-visibilities

Определяет, следует ли включить поддержку ограничений HIERARCHY_VISIBILITY и MEASURE_VISIBILITY, предусмотренных XML/A Schema

insight.mdx.mondrian.query.limit

Максимальное количество одновременных запросов, которое допускает система

1000

Формирование диагностического пакета на веб-странице#

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

  1. Войдите в MDXK с учетной записью с ролью системного администратора.

  2. Нажмите кнопку Enter Management в правом верхнем углу.

  3. Выберите временной диапазон: сегодня, последние 3 дня, последние 7 дней, последний 1 месяц или пользовательский временной диапазон.

  4. Выберите сервер.

  5. Загрузите диагностический пакет.

Генерация диагностического пакета из оболочки#

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

Войдите в каталог $MDX_HOME/semantic-mdx/scripts/ и выполните команду:

./diagnose_package_offline.sh <Start time> <End time> <MDX ip> <MDX port> <whether dump mysql database> <Diagnostic package output path>
  • Start time: 13-битная временная метка;

  • End time: 13-битная временная метка;

  • MDX IP: MDX IP;

  • MDX port: MDX port;

  • Whether dump mysql database — нужно ли выполнять дамп базы данных mysql: введите y, чтобы указать, что необходимо выполнить дамп базы метаданных mysql, введите n, чтобы указать, что это не нужно;

  • Diagnostic package output path: путь вывода диагностического пакета.

Содержание диагностического пакета#

Диагностический пакет системы содержит следующее содержимое:

  1. Каталог conf_{timestamp}

  • indicators.json : Файл шаблона вычисляемых мер MDX, в котором записаны шаблонные определения вычисляемых мер;

  • insight.properties : Файл конфигурации MDX;

  • set-jvm.sh : Файл конфигурации параметров MDX JVM (которые также могут быть изменены в файле insight.properties);

  • startup.sh : Загрузочный скрипт MDX.

  1. Каталог logs_{timestamp}

  • gc-{timestamp}.log : Журнал активности MDX JVM GC;

  • mdx.log : Файл журнала MDX-запросов, объединяющий содержимое нескольких файлов журнала MDX-запросов за указанный период времени (содержимое сортируется по времени последнего изменения исходного файла журнала, разделяется «Содержимое выше из файла»);

  • semantic.log : Файл журнала вызовов MDX API, объединяющий содержимое нескольких файлов журнала вызовов MDX API за указанный период времени (Например, синхронизация информации из OLAP, доступ к набору данных из веб-интерфейса);

  • Project-{project}_Dataset-{dataset}.json : Несколько файлов, JSON-файлов наборов данных, которые могут быть использованы для импорта наборов данных из WEB-интерфейса (Требуется подключение MDX к соответствующему OLAP);

  • jstack.log : ID процесса MDX, основной файл, информация о стеке Java службы удаленной отладки;

  • jmap.log : Информация об отображении памяти процесса MDX и распределении пространства;

  • top.log : Состояние использования ресурсов каждым процессом в системе;

  • mos_scripts.out : Информация из журналов запуска распределенного MDX о процессе копирования конфигурационных файлов сервера, связанных с Hadoop, и замене соответствующих конфликтующих jar-пакетов;

  1. mdx_env :Файл информации о среде выполнения MDX, включающий подробную информацию от версий MDX, JDK до System.

  2. sync_info :Файл информации о задаче синхронизации MDX, включая текущего пользователя соединения и текущий статус задачи синхронизации.

  3. Каталог schema_{timestamp}.

  • {user}_{project}.xml : Несколько файлов, информация о схемах наборов данных (один набор данных может выглядеть несовместимым для разных пользователей из-за настроек видимости)

  1. Каталог dataset_{timestamp}.

  • Project-{project}_Dataset-{dataset}.json : Несколько файлов, JSON-файлы наборов данных, которые могут быть импортированы из внешнего интерфейса (требуется подключение к соответствующему OLAP)

  1. Каталог spark_logs_{timestamp}.

  2. Каталог app-{applicationId}.

  • events_{number}_app-{applicationId}_{startTime}_{endTime} : Несколько файлов, журналы, связанные со Spark.

Код ошибки#

Правила именования ошибок#

Для того чтобы сделать сообщение об ошибке более кратким, понятным и прослеживаемым, коды ошибок разделены в соответствии с сервисным модулем и бизнес-категорией, и имеют следующий формат: MDX-AABBCCCC, где:

  • AA: сервисные модули, такие как System Service, Semantic Service, MDX Service и другие.

  • BB: бизнес-категории в рамках сервисного модуля.

  • CCCC: конкретная причина ошибки, например, превышение длины строки, слишком длинный результат запроса и другие.

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

Service Module

Business Category

01 System Service

0102 System Config User

01 System Service

0104 Diagnose Package

01 System Service

0105 Sync Task

01 System Service

0106 User / Group / Role

01 System Service

0107 DB

01 System Service

0108 System Tool

02 Semantic Service

0201 Kylin API CALL

02 Semantic Service

0202 Dataset

03 MDX Service

0301 Schema

03 MDX Service

0302 XMLA

03 MDX Service

0303 Query

03 MDX Service

0304 Rewrite / Reject

04 Authority

0401 Authentication

04 Authority

0402 Authorization

04 Authority

0403 User Delegation

Перечень кодов ошибок#

Error Code

Error Message

MDX-00000001

Internal error

MDX-01020001

Sync user not configured

MDX-01020002

Property parsing error

MDX-01040001

Not generating diagnostic package on current node

MDX-01040002

Dataset not found in diagnostic package generation

MDX-01040003

Diagnostic package generation node error

MDX-01040004

Dataset serializing error in diagnostic package generation

MDX-01040005

Diagnostic package file not found

MDX-01040006

Diagnostic package downloading error

MDX-01050001

Invalid sync user information

MDX-01050002

Illegal sync user information updating request

MDX-01060001

Invalid role name

MDX-01060002

Duplicate role name

MDX-01060003

User error

MDX-01060004

Role not exists

MDX-01060005

User not exists

MDX-01060006

Deleting role with users assigned

MDX-01060007

Invalid role

MDX-01060008

Cannot delete the ADMIN role

MDX-01060009

Role ID and name not match

MDX-01060010

Adding / Deleting more than 1 user to / from a role

MDX-01070001

Dataset record insertion error

MDX-01070002

MDX_QUERY record insertion error

MDX-01070003

SQL_QUERY record insertion error

MDX-01070004

Role record insertion error

MDX-01070005

Role record deleting error

MDX-01080001

User password encryption error

MDX-01080002

User password decryption error

MDX-01080005

set-jvm script reading error

MDX-01080006

set-jvm script writing error

MDX-01080007

MDX properties file reading error

MDX-01080008

MDX properties file writing error

MDX-01080009

MDX version format error

MDX-02010002

Fetching Kylin tables description error

MDX-02010003

Fetching Kylin models description error

MDX-02010004

Fetching Kylin project list error

MDX-02010005

Fetching Kylin user list error

MDX-02010006

Fetching Kylin users by project error

MDX-02010007

Fetching Kylin users by group error

MDX-02010008

Fetching Kylin user authorities error

MDX-02010009

Fetching Kylin project access information error

MDX-02010010

HTTP request with empty URI

MDX-02010011

Building URI instance error

MDX-02010012

Kylin host / port not configured

MDX-02010013

Kylin connection error

MDX-02010014

Kylin HTTP request failed

MDX-02010015

Reading Kylin HTTP response error

MDX-02020002

Fetching dataset by project error

MDX-02020003

Fetching dataset by ID error

MDX-02020004

Duplicate dataset name in project

MDX-02020006

Duplicate dimension table name

MDX-02020007

Duplicate dimension table alias

MDX-02020008

Duplicate measure alias

MDX-02020009

Duplicate calculated measure name

MDX-02020010

Duplicate namedset name

MDX-02020011

Folder name format error

MDX-02020012

Calculate measure validation error

MDX-02020014

Illegal default member validation request

MDX-02020015

Unsupported dataset type

MDX-02020016

MDX server connection error

MDX-02020017

Dataset connection error

MDX-02020018

Invalid dimension usage

MDX-02020019

Hierarchy contains column from another table

MDX-02020020

Fetching dimension table by model error

MDX-02020021

Fetching dimension by dimension table and model error

MDX-02020022

Fetching measure by model error

MDX-02020023

Fetching calculated measure error

MDX-02020024

Fetching namedset error

MDX-02020025

Invalid dataset found

MDX-02020026

Kylin project error

MDX-02020027

Invalid dataset list fetching request

MDX-02020028

Invalid or expired dataset export token

MDX-02020029

Dataset export compression error

MDX-02020030

Invalid dataset import request

MDX-02020031

Dataset import decompression error

MDX-02020032

Invalid dataset Zip file

MDX-02020033

No valid dataset in uploaded file

MDX-03010003

Datasource file not found

MDX-03010004

Creating datasource file error

MDX-03010005

Creating schema directory error

MDX-03010006

Creating schema file error

MDX-03010007

Serializing schema file error

MDX-03020002

Drillthrough only supports tabular data format

MDX-03020003

Drillthrough error

MDX-03020005

URL format of XML/A request error

MDX-03030001

MDX dataset not found

MDX-03030002

MDX object not found

MDX-03030003

MDX member resolving error

MDX-03030004

MDX statement parsing error

MDX-03030014

Hierarchy in calculated member not found

MDX-03030015

Wrong return type of axis expression

MDX-03030016

Wrong return type of member expression

MDX-03030017

Wrong return type of set expression

MDX-03030018

Missing function argument

MDX-03030019

Wrong function argument

MDX-03030020

Unknown MDX argument

MDX-03030021

MDX member not found

MDX-03030022

Wrong return type of default member expression

MDX-03030023

Invalid member encountered

MDX-03030024

No signature matching function found

MDX-03030025

More than one signature matching function found

MDX-03030031

Hierarchy appears on multiple axes

MDX-03030032

Function arguments do not belong to the same hierarchy

MDX-03030033

Function arguments do not belong to a time dimension table

MDX-03030034

Invalid axis number

MDX-03030035

Duplicate axis name

MDX-03030037

Tuple contains members of the same hierarchy

MDX-03030038

Argument type error of VisualTotals function

MDX-03030042

Invalid data type cast target

MDX-03030043

Function does not support NULL member argument

MDX-03030045

Cannot use this function because no time dimension has been defined

MDX-03030046

Did not explicitly specify the target hierarchy

MDX-03030047

No accessible element in the hierarchy

MDX-03030050

Drillthrough disabled

MDX-03030051

Performing drillthrough over an unknown member

MDX-03030054

Properties missing in connection string

MDX-03030055

Hierarchy belong to a time dimension table not defined as time type

MDX-03030056

Hierarchy not belong to a time dimension table defined as time type

MDX-03030064

Calculated member belongs to an invalid dimension

MDX-03030068

Duplicate calculated member name

MDX-03030076

UDF class not found

MDX-03030077

Illegal UDF class definition

MDX-03030079

Duplicate UDF name

MDX-03030080

Duplicate namedset name

MDX-03030081

Invalid calculated measure or namedset expression in dataset

MDX-03030087

Invalid aggregator

MDX-03030090

Descendants function argument type error

MDX-03030092

Cannot infer type of set elements

MDX-03030094

Hierarchy definition contains no level

MDX-03030095

Hierarchy definition contains levels with duplicate name

MDX-03030103

Crossjoin result size exceeds limit

MDX-03030104

Query result size exceeds limit

MDX-03030105

Number of members to be read exceeds limit

MDX-03030106

Number of measure values to be read exceeds limit

MDX-03030107

Query canceled

MDX-03030108

Query timeout

MDX-03030109

Number of calculation iterations exceeds limit

MDX-03030110

Hierarchy contains no member

MDX-03030157

Native optimization cannot be applied to function

MDX-03030158

Query resources recycling error

MDX-03030159

Number of concurrent MDX queries exceeds limit

MDX-03030160

Number of concurrent SQL queries from Mondrian engine exceeds limit

MDX-03030162

Number of concurrent SQL queries from Sniper engine exceeds limit

MDX-03030163

RolapSchema instance recycling error

MDX-03030164

MondrianServer instance recycling error

MDX-03030165

RolapConnection instance recycling error

MDX-03030166

Aggregation query execution cancelled due to time out

MDX-03030167

Aggregation query execution cancelled

MDX-03030168

SniperResult construction cancelled

MDX-03040003

MDX cluster nodes not configured

MDX-03040004

Cannot rewrite expression

MDX-03040005

Expression is not a function expression

MDX-03040006

Expression is not a specified function expression

MDX-03040007

Expression is not an identifier

MDX-03040008

Invalid namedset Union function expression

MDX-03040009

Invalid namedset Except function expression

MDX-04010001

User login authentication error

MDX-04010002

Invalid basic authentication information

MDX-04010003

Invalid cookie authentication information

MDX-04010004

Invalid gateway authentication information

MDX-04010005

Authentication information missing

MDX-04010006

User name / password error

MDX-04010007

User locked

MDX-04010008

Kylin authentication failed

MDX-04010009

User disabled

MDX-04020001

Not an ADMIN user

MDX-04020002

Not an ADMIN user or project admin user

MDX-04020003

User has no project access

MDX-04020004

No dataset available

MDX-04020005

All datasets in project are broken

MDX-04020006

User has no access to any dataset in project

MDX-04030001

User delegation feature not enabled

MDX-04030002

Empty delegation user parameter

MDX-04030003

Delegation user parameter too long

MDX-04030004

Invalid delegation user parameter

MDX-04030005

Delegation user permissions inadequate

Синхронизация метаданных#

Принцип синхронизации метаданных#

Синхронизация метаданных заключается в получении соответствующей информации из OLAP посредством HTTP-вызова и сравнении ее с существующей информацией о метаданных в MDXK. При наличии изменений метаданные в MDXK будут исправлены в соответствии с изменениями в OLAP.

Типы синхронизации метаданных#

Информация о синхронизации метаданных включает следующие типы:

  • синхронизация списка пользователей;

  • синхронизация списка групп пользователей;

  • синхронизация списка моделей;

  • синхронизация списка проектов;

  • синхронизация списка сегментов;

  • синхронизация списка метаданных моделей.

Частота синхронизации метаданных#

Период синхронизации задается параметром insight.semantic.meta-sync.interval.

Синхронизация списков пользователей, групп пользователей, моделей и проектов выполняется каждые 30 секунд. Синхронизация списка сегментов и метаданных моделей выполняется каждые 450 секунд (insight.semantic.meta-sync.interval * insight.dataset.verify.interval.count)

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

Механизм восстановления задачи синхронизации после сбоев#

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

Настройка задачи синхронизации#

MDXK периодически синхронизирует данные с подключенного к нему OLAP. Для просмотра состояния задачи можно использовать учетную запись с ролью системного администратора, чтобы войти на страницу администратора.

Войдя на страницу с параметрами, можно посмотреть статус выполнения задачи и время ее последнего выполнения. Если задача остановлена в силу непредвиденных обстоятельств, например, из-за сбоя в работе OLAP, можно нажать кнопку Restart Sync Task для перезапуска задачи синхронизации.

Если вы изменили имя пользователя или пароль системного администратора в OLAP, который также выполняет задачи синхронизации, нажмите кнопку Edit User Information для изменения имени и пароля пользователя.

Настройка прав доступа к объектам#

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

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

  2. Выберите одну из страниц вкладок для измерения, меры, вычисляемой меры или именованного набора и нажмите кнопку + Grant.

  3. Появится всплывающее окно. Выберите пользователя, группу или роль для редактирования списка доступа в верхней части всплывающего окна.

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

  5. Кликните на измерении/мере/вычисляемой мере, а затем наведите курсор на значок «глаз». Если на значке стоит косая черта, соответствующее измерение/мера/вычисляемая мера/именованный набор будут недоступны для пользователя, группы или роли.

  6. Кликните на значок еще раз, чтобы снять ограничение.

  7. Нажмите кнопку Submit.

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

События системного журнала#

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

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

Лог-файлы#

Ниже приведены файлы журналов, генерируемые MDXK.

Файл

Описание

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

mdx.log

Файл представляет собой журнал доступа к MDX, генерируемый сервером Semantic

INFO

semantic.log

Основной лог-файл Semantic

INFO

semantic.out

Стандартный вывод Semantic будет перенаправлен в этот файл

gateway.log

Основной файл журнала шлюза

INFO

Примечание: Использование уровней журналирования trace и debug не рекомендуется в промышленных инсталляциях.

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

MDXK использует log4j для настройки журналирования. Администраторы могут редактировать файл log4j.properties в каталоге $MDX_HOME/conf/ для настройки поведения журналирования, например, правила разбиения и ограничения размера одного файла.

Например:

По умолчанию для файлов semantic.log и mdx.log используется appender org.apache.log4j.RollingFileAppender, что означает создание нового файла каждый раз, когда старый файл достигает заданного размера. Чтобы вместо этого создавать новый файл каждый день, можно установить для log4j.appender.file и/или log4j.appender.mdx значение org.apache.log4j.DailyRollingFileAppender.

Параметры log4j.appender.file.MaxFileSize и log4j.appender.mdx.MaxFileSize определяют указанное выше ограничение на размер любого semantic.log-файла или mdx.log-файла соответственно, по умолчанию 268435456 (256 МБ).

Параметры log4j.appender.file.MaxBackupIndex и log4j.appender.mdx.MaxBackupIndex определяют максимальное количество резервируемых файлов semantic.log и mdx.log соответственно, по умолчанию 10.

После внесения изменений в файл log4j.properties необходимо перезапустить MDXK для применения изменений.

Отладка журнала#

События журналирования содержат информацию об ID запроса и API, которая может быть использована для повышения эффективности отладки. Для MDX запросов, полученных из инструментов анализа данных, генерируется идентификатор запроса, по которому можно отследить необходимую информацию. Информация о вызывающей стороне API может быть использована для определения местонахождения пользователя.

События мониторинга#

Функциональность отслеживания событий мониторинга компоненте MDXK в настоящий момент находится в процессе разработки. Когда функциональность будет полностью разработана и внедрена, пользователи смогут использовать отслеживание событий мониторинга компонента MDXK для получения информации о различных событиях и состоянии компонента.

Часто встречающиеся проблемы и пути их устранения#

Если версии нескольких узлов MDXK не совпадают, могут возникнуть проблемы с чтением js- и css-файлов после переадресации балансировщика, поэтому необходимо убедиться, что версия MDXK на каждом узле совпадает.

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

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

Известные проблемы#

Поддержка SSL для PostgreSQL не осуществляется в настоящее время. Параметр insight.database.useSSL («Использует ли MDXK БД для хранения метаинформации SSL-соединение») в данный момент не актуален.