Skip to content

Диаграммы больших данных Обновление GCC

1. Обзор

1.1 Версия

Версия FineBIФункциональные изменения
6.0-
6.0.6BI может полагаться на системные библиотеки glibc из версии V2.17.

Примечание: В настоящее время в проекте FineBI по умолчанию может быть три компонента, одновременно запускающих режим больших данных. Когда одновременное количество графиков больших данных превышает 3, большая группировка графиков будет отображать данные только первых 5000 группировок.

1.2 История проблемы

При использовании функции больших данных диаграммы в версии FineBI необходимо загрузить "libj2v8_linux_x86_64.so" из "J2V8", если она развернута в среде Linux.

J2V8 полагается на системную библиотеку glibc, которая должна быть скомпилирована локально с помощью GCC. Сначала необходимо обновить системную библиотеку glibc до версии V2.17. Если версия системы очень низкая, из-за чего GCC сообщает об ошибке при компиляции обновленной glibc, то следует обновить GCC.

1.3 Описание проблемы

Если вы не обновили системные библиотеки glibc до версии V2.17, могут возникнуть следующие проблемы:

  • FineBI версии 2019-06-14, Charting Big Data не работает, выдавая ошибку: j2v8 native library not loaded(j2v8-linux-x86_64/j2v8-centos-Linux-x86_64).
  • В версии FineBI от 2019-07-04 при построении графика большого количества данных отображение компонента диаграммы ограничено 50 000 сгруппированных данных и занимает много времени.

1.3 Идеи решений

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

1) Предпочтительным обновлением для J2V8 является обновление системной библиотеки glibc до версии V2.17.

2) Если требование не выполнено, то версия BI ниже 6.0.6, аверсия GCC слишком старая, что приводит к тому, что GCC сообщает об ошибке при компиляции и обновлении glibc.

Чтобы обновить версию GCC в системе Linux, необходимо выполнить действия, описанные в главе 2.

Примечание: Раздел 2 этого документа содержит решение для обновления системной библиотеки glibc до версии V2.18.

2. Операционные шаги

2.1 Определение необходимости обновления

Перед обновлением необходимо проверить версию GCC в текущей системе, используйте следующие команды для проверки наличия в системе "GLIBC_2.18" и "GLIBCXX_3.4.22" соответственно, команды показаны ниже:

strings /lib64/libc.so.6 | grep GLIBC
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

Если для вашей системы не доступна версия GCC, обновите ее при необходимости.

2.2 Этапы обновления

1) Загрузите инструмент обновления, см.: upgrade tool.tar

2) Распакуйте инструмент обновления, скопируйте его в любой каталог, отличный от usr, перейдите в него и выполните следующую команду:

  
  
  
chmod 755 glibcxx_3.4.22.sh chmod 755 glibc_2.18.sh ./glibcxx_3.4.22.sh ./glibc_2.18.sh

Здесь "chmod" добавляет привилегии на выполнение скрипта, а ". /" служит для выполнения извлеченного скрипта.

(3) После выполнения команды система автоматически обновит версию GCC.

3. условия

3.1 Риск эскалации

3.1.1 GLIBC

GLIBC - это библиотека времени выполнения на языке C, это api самого низкого уровня в системе Linux (включая различные команды в Linux, зависящие от этой библиотеки), пожалуйста, будьте осторожны при обновлении, если у вас есть другие важные проекты в вашей системе. Соответствующий файл инструмента обновления - "glibc_2.18.sh".

3.1.2 GLIBCXX

GLIBCXX - это библиотека времени выполнения на C++, поэтому обновление обычно не представляет особой сложности, а если после обновления возникнут проблемы, то можно откатиться на прежнюю версию. Соответствующий файл инструмента обновления - "glibcxx_3.4.22.sh".

3.2 Отсутствие доступной среды компиляции языка C

3.2.1 Описание проблемы

Если при выполнении обновления возникла следующая ошибка:

image.png

3.2.2 Анализ причин

Это может быть связано с отсутствием доступной среды компиляции языка C.

3.2.3 Решения

Выполните yum -y install gcc, чтобы установить среду компиляции, а затем повторно выполните обновление GCC.