docs/install.md

7.0 KiB
Raw Blame History

Инструкция по установке

Установка необходимых пакетов для ОС RockyLinux 9.1

Для установки системы мониторинга e-node требуется операционная система RockyLinux 9.1 с установленными набором программного обеспечения:

  • Архиватор Tar
  • Контейнеризатор приложений Docker
  • Служба настройки и запуска многоконтейнерных приложений Docker

Установка Tar

В случае отсутствия пакета tar на сервере можно воспользоваться rpm пакетом в составе комплекта системы мониторинга e-node находящимся в папке ./yum/tar/

yum install -y ~/enode/yum/tar/*

Проверить версию пакета tar можно с помощью команды

tar --version

[root@server]# tar --version tar (GNU tar) 1.34 Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason.

Установка Docker и docker compose

В случае отсутствия пакета docker и утилиты docker compose на сервере можно воспользоваться rpm пакетами в составе комплекта системы мониторинга e-node находящимся в папке ./yum/docker-ce/

yum install -y ~/enode/yum/docker-ce/*

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

systemctl start docker
systemctl enable docker

Проверить статус работы службы docker можно с помощью команды

systemctl status docker

Проверить версию службы docker можно с помощью команды

docker --version 

[root@server]# docker --version Docker version 24.0.2, build cb74dfc

Проверить версию утилиты docker compose можно с помощью команды

docker compose version

[root@server]# docker compose version Docker Compose version v2.18.1

Установка серверной части enode

./install.sh
enode app start

НЕ АКТУАЛЬНО

Инструкция по установке e-node

docker network create enode_network
groupadd --gid 1001 docker
groupmod -g 1001 docker
useradd -m --uid 1001 --gid 1001 docker -s /bin/bash
docker images --all
docker image prune --all

Установка основной базы данных (clickhouse)

cp ../../2023.07.01_enode/build/images/clickhouse_clickhouse-server.image .
docker load --input ./clickhouse_clickhouse-server.image
docker load --input ./clickhouse-server-v23.3.7.5-lts.tar

mkdir -p ./{data,logs,config}
chown -Rf 1001:1001 config data logs


docker run -d \
--name=enode_clickhouse \
--restart=unless-stopped \
--ulimit nofile=262144:262144 \
--network enode_network \
--publish 127.0.0.1:8123:8123 \
--publish 127.0.0.1:9000:9000 \
--publish 127.0.0.1:9009:9009 \
clickhouse/clickhouse-server:23.3.7.5

docker exec -it enode_clickhouse /bin/bash

docker logs -f --tail 10000 enode_clickhouse

curl 127.0.0.1:8123

docker stop enode_clickhouse && docker rm enode_clickhouse

Установка in-memory keyvalue базы данных (redis)


docker pull 
cp ../../2023.07.01_enode/build/images/redis.image .
docker load --input ./redis.image

docker run -d \
--name=enode_redis \
--restart=unless-stopped \
--network enode_network \
--publish 127.0.0.1:6379:6379 \
--publish 127.0.0.1:8001:8001 \
--volume ./data:/data \
redis

Установка координации распределённых систем (zookeeper)

docker pull zookeeper:3.8
docker save --output ./zookeeper:3.8.tar zookeeper:3.8
docker load --input ./zookeeper:3.8.tar

cp ../../2023.07.01_enode/build/images/bitnami_zookeeper_3_8_0.image .
docker load --input ./bitnami_zookeeper_3_8_0.image

docker run -d \
--name=enode_zookeeper \
--restart=unless-stopped \
--network enode_network \
--user 1001:1001 \
--publish 127.0.0.1:2181:2181 \
--env ZOO_SERVER_ID=1 \
--env ALLOW_ANONYMOUS_LOGIN=yes \
--env USER_ID=1001 \
--env GROUP_ID=1001 \
--volume ./data:/data \
--volume ./datalog:/datalog \
--volume ./conf:/conf \
zookeeper:3.8
	bitnami/zookeeper:3.8.0


docker logs -f --tail 100 enode_zookeeper

docker stop enode_zookeeper && docker rm enode_zookeeper

Установка enode_core

cp ../../2023.07.01_enode/build/images/registry_entcor_enode_enode_core_latest.image .
docker load --input ./registry_entcor_enode_enode_core_latest.image
docker images
	registry.entcor/enode/enode_core

docker run -d \
--name=enode_core \
--restart=unless-stopped \
--network enode_network \
--publish 127.0.0.1:4009:4009 \
--publish 127.0.0.1:9229:9229 \
--env CH_URL=http://enode_clickhouse:8123 \
--env REDIS=redis://enode_redis:6379 \
--env ZOOKEEPER=enode_zookeeper:2181 \
--volume ./data:/host_scripts \
registry.entcor/enode/enode_core

docker logs -f --tail 10000 enode_core
docker stop enode_core && docker rm enode_core

Установка enode_ui

cp ../../2023.07.01_enode/build/images/registry_entcor_enode_enode_ui_latest.image .
docker load --input ./registry_entcor_enode_enode_ui_latest.image
docker images
	registry.entcor/enode/enode_ui

docker run -d \
--name=enode_ui \
--restart=unless-stopped \
--network enode_network \
registry.entcor/enode/enode_ui

docker logs -f --tail 10000 enode_ui
docker stop enode_ui && docker rm enode_ui

Установка enode_lb

cp ../../2023.07.01_enode/build/images/ghcr_io_entcor_nginx_load_balancer_1_0_0.image .
docker load --input ./ghcr_io_entcor_nginx_load_balancer_1_0_0.image
docker images
	ghcr.io/entcor/nginx_load_balancer

docker run -d \
--name=enode_lb \
--restart=unless-stopped \
--network enode_network \
--publish 127.0.0.1:80:80 \
--env FRONT_1_PORT_80_TCP_ADDR=enode_ui \
--env FRONT_REMOTE_PORT=80 \
--env FRONT_REMOTE_PATH=/ \
--env FRONT_PATH=/ \
--env FRONT_EXPOSE_PROTOCOL=http \
--env FRONT_HOSTNAME=localhost \
--env FRONT_LOG_LEVEL=warn \
--env API_2_PORT_4009_TCP_ADDR=enode_core \
--env API_REMOTE_PORT=4009 \
--env API_PATH=/api/ \
--env API_EXPOSE_PROTOCOL=http \
--env API_HOSTNAME=localhost \
--env API_REWRITE='^/api/(.*) /$$1 break' \
--env APIWS_3_PORT_4009_TCP_ADDR=enode_core \
--env APIWS_REMOTE_PORT=4009 \
--env APIWS_PATH=/socket.io/ \
--env APIWS_EXPOSE_PROTOCOL=http \
--env APIWS_HOSTNAME=localhost \
ghcr.io/entcor/nginx_load_balancer:1.0.0

docker logs -f --tail 10000 enode_lb
docker stop enode_lb && docker rm enode_lb