1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-LogiEM

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
LogiEM安装部署文档.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 02:38 aaceedf

Введение

  • В данной статье используется система CentOS 7 в качестве примера. Основные требования к конфигурации системы: 4 ядра, 8 ГБ оперативной памяти.

  • Следуя данной статье, можно быстро установить одиночную версию окружения LogiEM.

  • LogiEM также поддерживает распределённые кластеры. Для установки высоконагруженного кластера требуется подготовка VIP-окружения.

  • При установке высоконагруженного кластера обратите внимание на указания в шагах установки. Основное требование — использование VIP как входящего IP.

1. Архитектурная схема LogiEM

  • Ключевые модули LogiEM: arius-admin и arius-gateway, а также фронтенд приложения.

  • Базовые зависимости: Elasticsearch, Kibana, MySQL, Nginx, JDK.

Схема

2. Процесс и шаги установки

1. Процесс установки

Установка базовых зависимостей -> Установка всех модулей LogiEM

2. Установка базовых зависимостей

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

2.1 Установка службы MySQL

Версия должна быть 5.7 или выше. Если требуется настройка режима master-slave, см. документацию MySQL master-slave deployment.

2.1.1 Установка через yum

# Настройка источника yum
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
```# Выполнение установки
yum -y install mysql-server mysql-client

# Запуск сервиса
systemctl start mysqld

# Получение временного пароля
grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1

2.1.2 Установка через rpm-пакет

Адрес для скачивания пакета MySQL

# Распаковка в указанную директорию
tar -zxf mysql5.7.tar.gz -C /tmp/

# Выполнение установки
yum -y localinstall /tmp/libaio-*.rpm /tmp/mysql-*.rpm

# Запуск сервиса
systemctl start mysqld

# Получение временного пароля
grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1

2.2 Установка службы Nginx

Версия не имеет ограничений Адрес для скачивания пакета Nginx

# Установка через yum
yum -y install nginx

# Установка через rpm-пакет
rpm -ivh nginx-1.8.1.rpm

# Запуск сервиса
systemctl start nginx

2.3 Настройка окружения Java

Версионные требования 11 Ссылка на скачивание

# Распаковать в указанную директорию
tar -zxf jdk11.tar.gz -C /usr/local/

# Изменить имя директории
mv /usr/local/jdk-11.0.2 /usr/local/java11

# Добавить в переменные среды
echo "export JAVA_HOME=/usr/local/java11" >> ~/.bashrc
echo "export CLASSPATH=/usr/java/java11/lib" >> ~/.bashrc
echo "export PATH=\$JAVA_HOME/bin:\$PATH:\$HOME/bin" >> ~/.bashrc
source ~/.bashrc

2.4 Установка примера Elasticsearch метаданных

Elasticsearch метаданный кластер для поддержки основных метрик платформы, таких как метрики уровня кластера, метрики уровня ноды и т.д. Ссылка на установочный пакет Elasticsearch### Ниже приведён пример установки для одиночной ноды. Для установки кластера можно обратиться к официальной документации Elasticsearch

Создание каталога для хранения данных Elasticsearch

mkdir -p /data/es_data

Создание пользователя Elasticsearch

useradd arius

Настройка количества открытых файлов для пользователя

echo "arius soft nofile 655350" >> /etc/security/limits.conf echo "arius hard nofile 655350" >> /etc/security/limits.conf echo "vm.max_map_count = 655360" >> /etc/sysctl.conf sysctl -p

Распаковка установочного пакета

tar -zxf elasticsearch-v7.6.1.tar.gz -C /data/

Изменение группы владельца директорий

chown -R arius:arius /data/

Изменение конфигурационного файла (в качестве примера)

vim /data/elasticsearch-v7.6.1/config/elasticsearch.yml cluster.name: logi-em-matedata-cluster node.name: es-node1 node.master: true node.data: true path.data: /data/es_data http.port: 8060 discovery.seed_hosts: ["127.0.0.1:9300"]

Изменение конфигурации памяти JVM

vim /data/elasticsearch-v7.6.1/config/jvm.options -Xms2g -Xmx2g

Запуск сервиса

su - arius export JAVA_HOME=/usr/local/java11 sh /data/elasticsearch-v7.6.1/control.sh start

Проверка состояния сервиса

su - arius export JAVA_HOME=/usr/local/java11 sh /data/elasticsearch-v7.6.1/control.sh status

2.5 Установка сервиса Kibana

###Ссылка на скачивание установочного пакета

Распаковка установочного пакета

tar -zxf arius-kibana-release.tar.gz -C /data/# Изменение конфигуционного файла vim /data/arius-kibana-release/config/kibana.yml server.rewriteBasePath: true server.port: 8088 elasticsearch.hosts: ["http://127.0.0.1:8200"] # Here specifies the address and port used when deploying the gateway module in LogiEM. In case of using a gateway cluster, it is necessary to specify the VIP address.# Изменение скрипта запуска sed -i "s/kibana serve/kibana serve --allow-root/g" /data/arius-kibana-release/control.sh

Запуск сервиса

cd /data/arius-kibana-release/ sh control.sh start

3. Развертывание сервиса LogiEM

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

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

Сервис требует Java 11 и доступной оперативной памяти более 8 ГБ Ссылка на скачивание установочного пакета

3.1 модуль arius-admin

# Распаковать установочный пакет в указанную директорию
tar -zxf LogiEM_v0.2.3.tar.gz -C /data/

# Изменить скрипт запуска и добавить управление через systemd
cd /data/arius_admin/
sed -i 's/#dir_home#/data/g' control.sh arius-admin.service
cp arius-admin.service /usr/lib/systemd/system/

# Создать соответствующие базы данных и импортировать начальные данные (в режиме кластера достаточно выполнить это действие на одном из узлов)
mysql -uroot -p -e "CREATE DATABASE IF NOT EXISTS logi_em;"
mysql -uroot -p logi_em < /data/arius_admin/logi-init/logi-em-ddl.sql
mysql -uroot -p logi_em < /data/arius_admin/logi-init/logi-em-init-dml.sql


# Изменить конфигурационные файлы
vim application-full.yml
```# Настроить порты прослушивания
admin:
  port:
    web: 8015
    
  # IP-адрес и порт шлюза (если шлюз является кластером, здесь следует указать соответствующий VIP-адрес)
  es.gateway.url: gateway_ip
  es.gateway.port: gateway_port
  
  # Название кластера ES и порт (название кластера должно строго соответствовать следующей конфигурации)
  es.update.cluster.name: logi-em-matedata-cluster
  es.client.cluster.port: 9300# Конфигурация базы данных (измените правильный адрес MySQL, имя базы данных, имя пользователя и пароль; в режиме кластера все узлы должны указывать на основной адрес MySQL)
druid:
  driver-class-name: org.mariadb.jdbc.Driver
  url: jdbc:mariadb://mysql_ip:3306/logiem?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false&alwaysAutoGeneratedKeys=true&serverTimezone=GMT%2B8
  username: root
  password: mysql_pass

logi-job:
  jdbc-url: jdbc:mariadb://mysql_ip:3306/logiem?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false&alwaysAutoGeneratedKeys=true&serverTimezone=GMT%2B8
  username: root
  password: mysql_pass

# Запустить сервис
systemctl daemon-reload
systemctl start arius-admin

# После успешного запуска сервиса выполнить скрипт импорта метаданных (в режиме кластера достаточно выполнить это действие на одном из узлов; IP1 соответствует IP-адресу и порту сервиса arius-admin, а IP2 — IP-адресу и порту главного узла Elasticsearch)
sh /data/arius_admin/logi-init/init_logi_em_linux.sh 127.0.0.1 8015 127.0.0.1 8060


### Примечание
В данном примере `gateway_ip` и `gateway_port`, `mysql_ip` и `mysql_pass` являются местами для замены реальными значениями.


### 3.2 модуль arius-gateway

    # Измените скрипт запуска и добавьте управление systemd
    cd /data/arius_gateway/
    sed -i 's/#dir_home#/data/g' control.sh arius-gateway.service
    cp arius-gateway.service /usr/lib/systemd/system/

    # Измените конфигурационный файл (при использовании arius-admin в качестве кластера, используйте VIP адрес arius-admin)
    gateway.cluster.name = logi-em-matedata-cluster # Название кластера Elasticsearch
    elasticsearch.admin.cluster.name = logi-em-matedata-cluster
    arius.gateway.adminUrl = http://127.0.0.1:8015/admin/api/ # Адрес и порт службы arius-admin
    gateway.httpTransport.port = 8200 # Прослушиваемый порт gateway    #Запустите службу
    systemctl daemon-reload
    systemctl start arius-gateway
    
    #Запустите службу filebeats (адрес и порт master узла Elasticsearch)
    sh filebeats_start.sh 127.0.0.1:9200


### 3.3 Развертывание и настройка фронтенд-кода

####[Ссылка на конфигурационный файл Nginx](https://s3-gzpu.didistatic.com/knowsearch/nginx.conf)

    #Переместите конфигурационный файл в каталог etc
    mv nginx.conf /etc/nginx/nginx.conf
    
    #Измените конфигурационный файл (каталог data является корневым каталогом фронтенд-кода, при использовании arius-admin в качестве кластера, используйте VIP адрес arius-admin)
    sed -i 's#fe_home#data#g' /etc/nginx/nginx.conf
    sed -i 's#admin_master_ip#IP_адрес#' /etc/nginx/nginx.conf
    sed -i 's#web_port#8015#' /etc/nginx/nginx.conf
    sed -i 's#kib_ip#127.0.0.1#' /etc/nginx/nginx.conf
    sed -i 's#kib_port#8088#' /etc/nginx/nginx.conf

    #Перезапустите службу Nginx
    systemctl restart nginx
    

### Откройте браузер и введите IP-адрес Nginx для проверки, имя пользователя и пароль (admin/admin)


# 3. Упаковка других версий LogiEM

## [Упаковка модуля arius-admin](https://github.com/didi/LogiEM/tree/master/arius-admin)
    
## [Упаковка модуля arius-gateway](https://github.com/didi/LogiEM/tree/master/arius-gateway)
    
## [Упаковка фронтенд-кода](https://github.com/didi/LogiEM/tree/master/arius-console)

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/didiopensource-LogiEM.git
git@api.gitlife.ru:oschina-mirror/didiopensource-LogiEM.git
oschina-mirror
didiopensource-LogiEM
didiopensource-LogiEM
master