Files
Baradb/docs/ru/troubleshooting.md
T

3.3 KiB

Руководство по устранению проблем

Проблемы с установкой

Nim не найден

curl https://nim-lang.org/choosenim/init.sh -sSf | sh
echo 'export PATH=$HOME/.nimble/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Ошибка компиляции SSL

Решение: Всегда компилируйте с -d:ssl:

nim c -d:ssl -d:release -o:build/baradadb src/baradadb.nim

Отсутствуют зависимости

nimble install -d -y

Проблемы с выполнением

Порт уже используется

BARADB_PORT=5433 ./build/baradadb
# или
lsof -ti:9472 | xargs kill -9

Permission denied

mkdir -p ./data
chmod 755 ./data

Недостаточно памяти

BARADB_MEMTABLE_SIZE_MB=32 \
BARADB_CACHE_SIZE_MB=128 \
BARADB_VECTOR_EF_CONSTRUCTION=100 \
./build/baradadb

Диск заполнен

curl -X POST http://localhost:9470/api/admin/compact
./build/baradadb --compact

Проблемы с запросами

Синтаксическая ошибка

-- Правильно
SELECT name, age FROM users WHERE age > 18;

-- Неправильно (пропущена запятая)
SELECT name age FROM users WHERE age > 18;

Таблица не найдена

CREATE TYPE User {
  name: str,
  age: int32
};

Несовпадение типов

-- Правильно
SELECT * FROM users WHERE age > 18;

-- Неправильно
SELECT * FROM users WHERE age > '18';

Проблемы с соединением

Connection refused

ps aux | grep baradadb
./build/baradadb
sudo ufw allow 9472

Ошибка аутентификации

BARADB_AUTH_ENABLED=true \
BARADB_JWT_SECRET="correct-secret" \
./build/baradadb

SSL/TLS ошибки

BARADB_TLS_ENABLED=false ./build/baradadb

Проблемы с производительностью

Медленные запросы

curl -X POST http://localhost:9470/api/explain \
  -d '{"query": "SELECT * FROM large_table"}'

Решения:

  1. Добавить индексы: CREATE INDEX idx_users_name ON users(name);
  2. Использовать LIMIT: SELECT * FROM users LIMIT 100;
  3. Увеличить кэш: BARADB_CACHE_SIZE_MB=1024

Высокая загрузка CPU

BARADB_COMPACTION_INTERVAL_MS=300000 ./build/baradadb

Высокое потребление памяти

BARADB_MEMTABLE_SIZE_MB=64
BARADB_CACHE_SIZE_MB=256
BARADB_VECTOR_M=8

Проблемы кластера

Raft split-brain

Убедитесь в нечётном количестве узлов (3, 5, 7).

Отставание репликации

BARADB_REPLICATION_MODE=async

Режим отладки

BARADB_LOG_LEVEL=debug \
BARADB_LOG_FILE=/tmp/baradb_debug.log \
./build/baradadb

Получение помощи

  1. Проверьте логи: tail -f /var/log/baradb/baradb.log
  2. Проверьте метрики: curl http://localhost:9470/metrics
  3. Запустите диагностику: ./build/baradadb --diagnose
  4. Откройте issue с версией BaraDB и логами