Как установить Apache Pinot в Linux

Apache Pinot — это распределенное OLAP-хранилище данных, работающее в режиме реального времени и предназначенное для выполнения OLAP-запросов с низкой задержкой. Оно часто используется в сочетании с Apache Kafka для получения и анализа данных в реальном времени.

В этом руководстве мы рассмотрим шаги, необходимые для установки Apache Pinot в системе Linux. Мы рассмотрим предварительные условия, загрузку и извлечение программного обеспечения, настройку конфигурации и запуск служб.

Предварительные условия

Перед установкой Apache Pinot убедитесь, что ваша система соответствует следующим предварительным условиям:

  • Для работы Apache Pinot требуется Java Development Kit (JDK) 8 или выше.
  • Apache Pinot использует Apache Zookeeper для управления кластером.
  • Убедитесь, что настройки вашего брандмауэра позволяют использовать необходимые порты для связи Pinot и Zookeeper.

Шаг 1: Установка Java в Linux

Если в вашей системе не установлена Java, вы можете загрузить и установить ее с официального сайта Oracle.

В большинстве дистрибутивов Linux вы можете использовать менеджер пакетов для установки Java. Например, в системах на базе Debian вы можете использовать следующую команду.

sudo apt-get install default-jdk

В системах на базе Red Hat можно использовать следующую команду.

sudo dnf install java-21-openjdk -y

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

java -version

Шаг 2: Установка Zookeeper в Linux

Zookeeper необходим Apache Pinot для управления кластером, поэтому установите его с помощью следующей команды.

sudo apt install zookeeperd         [On Debian-based Systems]
sudo dnf install zookeeperd         [On RHEL-based Systems]

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

sudo systemctl start zookeeper
sudo systemctl enable zookeeper
sudo systemctl status zookeeper

Шаг 3: Установка Apache Pinot в Linux

Загрузите последнюю версию Apache Pinot с официального сайта Apache Pinot или воспользуйтесь следующей командой wget, чтобы загрузить ее напрямую.

wget https://downloads.apache.org/pinot/apache-pinot-1.1.0/apache-pinot-1.1.0-bin.tar.gz

Примечание: При необходимости замените apache-pinot-1.1.0-bin.tar.gz на последнюю доступную версию.

Затем распакуйте скачанный tarball в нужное место и настройте переменные окружения для облегчения доступа к двоичным файлам Pinot в файле .bashrc или .profile.

sudo tar -xvzf apache-pinot-1.1.0-bin.tar.gz -C /opt
echo 'export PINOT_HOME=/opt/apache-pinot-1.1.0-bin' >> ~/.bashrc
echo 'export PATH=$PINOT_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Шаг 4: Запуск служб Apache Pinot

Apache Pinot состоит из нескольких компонентов, каждый из которых работает как отдельный сервис:

  • Controller: Управляет кластером Pinot и обрабатывает создание схем и таблиц.
  • Broker: Занимается маршрутизацией запросов.
  • Server (сервер): Хранит и обслуживает данные.
  • Minion: Выполняет фоновые задачи, такие как уплотнение и сворачивание данных.

Запустите каждую службу в отдельных окнах терминала или как фоновый процесс:

Запустите контроллер:

cd $PINOT_HOME
bin/pinot-admin.sh StartController -configFileName conf/pinot-controller.conf

Запустите брокер:

cd $PINOT_HOME
bin/pinot-admin.sh StartBroker -configFilePath conf/pinot-broker.conf

Запустите сервер:

cd $PINOT_HOME
bin/pinot-admin.sh StartServer -configFilePath conf/pinot-server.conf

Запустите миньона:

cd $PINOT_HOME
bin/pinot-admin.sh StartMinion -configFilePath conf/pinot-minion.conf

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

Шаг 5: Настройка Apache Pinot

Чтобы начать получать и запрашивать данные, Apache Pinot необходимо настроить схему и таблицы.

Создайте каталог для хранения файлов конфигурации:

sudo mkdir $PINOT_HOME/configs

Создайте файл схемы, например my_schema.json, в каталоге configs.

sudo nano $PINOT_HOME/configs/my_schema.json

Добавьте следующую конфигурацию схемы.

{
  "schemaName": "mySchema",
  "dimensionFieldSpecs": [
    {
      "name": "myDimension",
      "dataType": "STRING"
    }
  ],
  "metricFieldSpecs": [
    {
      "name": "myMetric",
      "dataType": "LONG"
    }
  ],
  "dateTimeFieldSpecs": [
    {
      "name": "myDateTime",
      "dataType": "LONG",
      "format": "1:MILLISECONDS:EPOCH",
      "granularity": "1:MILLISECONDS"
    }
  ]
}

Затем создайте файл конфигурации таблицы, например my_table.json, в каталоге configs.

sudo nano $PINOT_HOME/configs/my_table.json

Добавьте следующую конфигурацию таблицы.

{
  "tableName": "myTable",
  "tableType": "REALTIME",
  "segmentsConfig": {
    "timeColumnName": "myDateTime",
    "schemaName": "mySchema",
    "replication": "1"
  },
  "tableIndexConfig": {
    "loadMode": "MMAP"
  },
  "tenants": {},
  "tableRetentionConfig": {},
  "ingestionConfig": {
    "streamIngestionConfig": {
      "type": "kafka",
      "streamConfigMaps": {
        "streamType": "kafka",
        "stream.kafka.topic.name": "myKafkaTopic",
        "stream.kafka.broker.list": "localhost:9092",
        "stream.kafka.consumer.type": "simple",
        "stream.kafka.consumer.prop.auto.offset.reset": "smallest",
        "realtime.segment.flush.threshold.size": "50000"
      }
    }
  },
  "metadata": {}
}

Теперь воспользуйтесь инструментом администратора Pinot, чтобы добавить конфигурации схемы и таблиц:

bin/pinot-admin.sh AddSchema -schemaFile $PINOT_HOME/configs/my_schema.json -exec
bin/pinot-admin.sh AddTable -tableConfigFile $PINOT_HOME/configs/my_table.json -exec

Шаг 6: Проверка настройки Apache Pinot

Откройте веб-браузер и перейдите в пользовательский интерфейс контроллера Pinot, чтобы убедиться, что ваша схема и таблица были успешно добавлены.

http://localhost:9000

Вы можете запрашивать данные с помощью консоли Pinot Query Console, доступной в пользовательском интерфейсе контроллера, или с помощью инструмента командной строки Pinot query:

bin/pinot-admin.sh Query -brokerHost localhost -brokerPort 8099 -query "SELECT * FROM myTable LIMIT 10"

Заключение

Установка Apache Pinot в системе Linux включает несколько этапов, в том числе установку Java и Zookeeper, загрузку и извлечение двоичных файлов Pinot, запуск служб Pinot, а также настройку схемы и таблиц.

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

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x