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

OSCHINA-MIRROR/vipshop-vdl

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
install_and_depoy.md 7.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 08:47 1556aaf

VDL集群搭建指南

  1. Основные компоненты VDL-кластер обычно состоит из трёх машин, включающих в себя следующие компоненты:
  • VDL server с тремя узлами: один лидер и два последователя.
  • Filebeat отвечает за сбор данных о производительности и записывает их в InfluxDB.
  • InfluxDB хранит данные о производительности.
  • Grafana отображает данные о производительности.

Схема топологии выглядит следующим образом:

GOROOT=/home/apps/yclong/go
GOPATH=/home/apps/flike/go_code
  1. Процесс установки

2.1 Установка и настройка VDL-сервера

  1. Установите среду Go и задайте переменные среды GOPATH и GOROOT, например:
GOROOT=/home/apps/yclong/go
GOPATH=/home/apps/flike/go_code
  1. Загрузите исходный код VDL в указанный каталог:
git clone https://github.com/vipshop/vdl.git /home/apps/flike/go_code/src/vipshop/vdl
  1. Скомпилируйте VDL:
cd /home/apps/flike/go_code/src/vipshop/vdl
make
  1. Настройте VDL. В этом документе сначала создайте следующие каталоги в каталоге /home/apps/flike/vdl:
drwxrwxr-x. 2 apps apps 4096 12月 11 14:21 alarm
drwxrwxr-x. 2 apps apps 4096 12月 11 16:12 bolt
drwxrwxr-x. 2 apps apps 4096 12月 11 16:11 config
drwx------. 2 apps apps 4096 12月 11 16:12 data
drwxrwxr-x. 3 apps apps 4096 12月 11 16:06 filebeat
drwxrwxr-x. 2 apps apps 4096 12月 11 16:12 log
drwxrwxr-x. 2 apps apps 4096 12月 11 16:12 metrics
drwxrwxr-x. 2 apps apps 4096 12月 11 16:23 script

Файл конфигурации должен находиться в каталоге /home/apps/flike/vdl/config и содержать следующую информацию:

# This is the configuration file for the vdl server.

# Human-readable name for vdl server.
name: 'fiu90'

# Path to the stable store directory (rocksdb path).
stable-dir: /home/apps/fiu_vdl/bolt
# metrics log file path
metrics-dir: /home/apps/fiu_vdl/metrics
# Client URL to listen on for client traffic (TCP)
listen-client-url: 192.168.0.90:8200

# Metrics URL to expose VDL metrics information (must include http://)
listen-metrics-url: http://192.168.0.90:8300

# admin traffic URL to VDL management.(must include http://)
listen-admin-url: http://192.168.0.90:8500

# Time (in milliseconds) of a heartbeat interval.
heartbeat-interval: 100
# Time (in milliseconds) for an election to timeout.
election-timeout: 2000
# Idle connections timeout(ms): the server socket processor threads close the connections that idle more than this
connections-max-idle: 600000
# List of comma separated initial log stream configuration for bootstrapping.
initial-logstream: fiutopic
fiutopic-snapshot-meta-dir: /home/apps/fiu_vdl/snap_meta
# Use for initial-logstream, all log stream should be specified
fiutopic-initial-cluster: fiu90=http://192.168.0.90:2490,fiu91=http://192.168.0.91:2490,fiu92=http://192.168.0.92:2490
# Initial cluster state ('new' or 'existing').
fiutopic-initial-cluster-state: new
fiutopic-strict-member-changes-check: true 
# List of comma separated admin urls for exists cluster, use for initial-cluster-state = existing
# this will use in add new member to exists cluster, can be empty when initial-cluster-state is new
fiutopic-existing-admin-urls:
#the logstore resever segment count,must large than 4
fiutopic-reserve-segment-count: 5

# If true, Raft runs an additional election phase
# to check whether it would get enough votes to win
# an election, thus minimizing disruptions.
fiutopic-prevote: true

#the logstore memcache size,must large than 512MB
#unit:MB
fiutopic-memcache-size: 1024
# diff for each log stream.
fiutopic-listen-peer-url: http://192.168.0.90:2490

# data dir for log stream
fiutopic-log-dir: /home/apps/fiu_vdl/data

glog-dir: /home/apps/fiu_vdl/log 
#output debug log
debug: false

#alarm script path
alarm-script-path: /home/apps/fiu_vdl/alarm/alarm.sh
  1. Запустите VDL:
cd /home/apps/flike/go_code/src/vipshop/vdl
nohup ./bin/vdl start -f /home/apps/flike/vdl/config/vdl.conf.yml 2>/home/apps/flike/vdl/log/stderr.txt &

2.2 Установка и конфигурация filebeat

  1. Компиляция и установка:
cd /home/apps/flike/go_code/src/vipshop/tools/filebeat

Поместите сгенерированный исполняемый файл filebeat в каталог /home/apps/flike/vdl/filebeat. 2. Настройка файла конфигурации: В каталоге /home/apps/flike/vdl/filebeat настройте файл конфигурации filebeat.yml со следующим содержимым:

 
###################### Filebeat Configuration Example #########################
 
 
# This file is an example configuration file highlighting only the most common
# options. The filebeat.reference.yml file from the same directory contains all the
# supported options with more comments. You can use it as a reference.
#
# You can find the full configuration reference here:
#
``` **Запуск Filebeat**

cd /home/apps/flike/vdl/filebeat nohup ./filebeat -e -c filebeat.yml >/home/apps/flike/vdl/filebeat/filebeat.log 2>&1 &


**Конфигурация InfluxDB и Grafana**

Поскольку VDL — это интеграция с существующими InfluxDB и Grafana, здесь не будет рассказано о том, как создать эти два компонента. Описывается только то, как интегрировать эти два компонента:

* **Создание базы данных в InfluxDB и настройка времени истечения срока действия данных**: Influx по умолчанию сохраняет записанные метрики навсегда, что может привести к переполнению диска. Поэтому при создании базы данных необходимо установить срок действия данных (4 недели). Команда выглядит следующим образом:

    ```
    > create database vdl_binlog_test
    > use vdl_binlog_test
    > show retention policies
    > ALTER RETENTION POLICY default ON vdl_binlog_test DURATION 4w REPLICATION 1 DEFAULT
    ```

* **Конфигурация Grafana**: Процесс настройки Grafana в основном заключается в работе с пользовательским интерфейсом. Основные шаги включают:
    1. Создание источника данных (можно обратиться к существующему источнику данных).
    2. Создание панели мониторинга.
    3. Создание различных панелей мониторинга.

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

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

1
https://api.gitlife.ru/oschina-mirror/vipshop-vdl.git
git@api.gitlife.ru:oschina-mirror/vipshop-vdl.git
oschina-mirror
vipshop-vdl
vipshop-vdl
master