Update README.md
This commit is contained in:
parent
2f002e8169
commit
0bb5d6ffb0
59
README.md
59
README.md
@ -38,17 +38,16 @@
|
|||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
<a href="#о-проекте">О проекте</a>
|
<a href="#о-проекте">О проекте</a>
|
||||||
|
<li><a href="#лицензия">Лицензия</a></li>
|
||||||
<li><a href="#основные-термины">Основные термины</a></li>
|
<li><a href="#основные-термины">Основные термины</a></li>
|
||||||
</li>
|
|
||||||
<li><a href="#подготовка">Подготовка</a></li>
|
<li><a href="#подготовка">Подготовка</a></li>
|
||||||
<li><a href="#компиляция">Компиляция</a></li>
|
<li><a href="#компиляция">Компиляция</a></li>
|
||||||
<li><a href="#типовые-проблемы">Типовые проблемы</a></li>
|
|
||||||
<li><a href="#тестирование-сборки">Тестирование сборки</a></li>
|
<li><a href="#тестирование-сборки">Тестирование сборки</a></li>
|
||||||
<li><a href="#пример-основных-команд">Пример основных команд</a></li>
|
<li><a href="#пример-основных-команд">Пример основных команд</a></li>
|
||||||
<li><a href="#кластер">Кластер</a></li>
|
<li><a href="#кластер">Кластер</a></li>
|
||||||
|
<li><a href="#типовые-проблемы">Типовые проблемы</a></li>
|
||||||
<li><a href="#дорожная-карта">Дорожная карта</a></li>
|
<li><a href="#дорожная-карта">Дорожная карта</a></li>
|
||||||
<li><a href="#вклад">Вклад</a></li>
|
<li><a href="#вклад">Вклад</a></li>
|
||||||
<li><a href="#лицензия">Лицензия</a></li>
|
|
||||||
<li><a href="#контакты">Контакты</a></li>
|
<li><a href="#контакты">Контакты</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
</details>
|
</details>
|
||||||
@ -62,6 +61,12 @@ Futriix-Мультимодельная СУБД на языке С поддер
|
|||||||
Ниже приведён пример того, инструкции по настройке вашего проекта локально.
|
Ниже приведён пример того, инструкции по настройке вашего проекта локально.
|
||||||
Чтобы запустить локальную копию проекта, выполните следующие простые шаги.
|
Чтобы запустить локальную копию проекта, выполните следующие простые шаги.
|
||||||
|
|
||||||
|
<!-- LICENSE -->
|
||||||
|
## Лицензия
|
||||||
|
|
||||||
|
Проект распространяется под 3-пунктной лицензией BSD. Подробнсти смотрите в файле `COPYING.txt`.
|
||||||
|
|
||||||
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
## Основные термины
|
## Основные термины
|
||||||
|
|
||||||
@ -103,8 +108,6 @@ Futriix-Мультимодельная СУБД на языке С поддер
|
|||||||
Futriix может быть скомпилирован для следующих операционных систем: Linux, OSX, OpenBSD, NetBSD, FreeBSD.
|
Futriix может быть скомпилирован для следующих операционных систем: Linux, OSX, OpenBSD, NetBSD, FreeBSD.
|
||||||
Мы поддерживаем архитектуры endian и little endian, и 32-битные и 64-битные системы.
|
Мы поддерживаем архитектуры endian и little endian, и 32-битные и 64-битные системы.
|
||||||
|
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
|
||||||
|
|
||||||
### Дополнительные параметры компиляции
|
### Дополнительные параметры компиляции
|
||||||
|
|
||||||
Для сборки проекта с поддержкой TLS выпоните команду:
|
Для сборки проекта с поддержкой TLS выпоните команду:
|
||||||
@ -118,14 +121,14 @@ Futriix может быть скомпилирован для следующих
|
|||||||
Для выполнения данной операции вам необходимо библиотека OpenSSL (например,
|
Для выполнения данной операции вам необходимо библиотека OpenSSL (например,
|
||||||
libssl-dev для Debian/Ubuntu).
|
libssl-dev для Debian/Ubuntu).
|
||||||
|
|
||||||
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
## Тестирование сборки
|
## Тестирование сборки
|
||||||
|
|
||||||
После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки:
|
После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ make test
|
unix:$ make test
|
||||||
```
|
```
|
||||||
|
|
||||||
## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки.
|
## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки.
|
||||||
|
|
||||||
Futriix содержит некоторые зависимости, которые хранятся в директории `deps`.
|
Futriix содержит некоторые зависимости, которые хранятся в директории `deps`.
|
||||||
@ -134,11 +137,9 @@ Futriix содержит некоторые зависимости, которы
|
|||||||
Когда вы обновляете код проекта командой `git pull` или когда код внутри
|
Когда вы обновляете код проекта командой `git pull` или когда код внутри
|
||||||
дерева зависимостей изменен каким-либо другим способом, обязательно используйте следующее
|
дерева зависимостей изменен каким-либо другим способом, обязательно используйте следующее
|
||||||
команду для того, чтобы действительно все почистить и пересобрать с нуля:
|
команду для того, чтобы действительно все почистить и пересобрать с нуля:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ make distclean
|
unix:$ make distclean
|
||||||
```
|
```
|
||||||
|
|
||||||
В результате работы команды выше будут очищены: аллокатор памяти jemalloc, язык lua, библиотеку hiredis, библиотеку linenoise а также другие зависимости.
|
В результате работы команды выше будут очищены: аллокатор памяти jemalloc, язык lua, библиотеку hiredis, библиотеку linenoise а также другие зависимости.
|
||||||
|
|
||||||
Кроме того, если вы принудительно используете определенные параметры сборки, такие как 32-битная версия для 32-битной системы, оптимизации компилятора C в данном случае не будут выполнены. Оптимизации (для целей отладки) и другие подобные параметры времени сборки,
|
Кроме того, если вы принудительно используете определенные параметры сборки, такие как 32-битная версия для 32-битной системы, оптимизации компилятора C в данном случае не будут выполнены. Оптимизации (для целей отладки) и другие подобные параметры времени сборки,
|
||||||
@ -155,45 +156,36 @@ malloc по умолчанию, за исключением jemalloc, котор
|
|||||||
проблем c фрагментацией, чем libc malloc.
|
проблем c фрагментацией, чем libc malloc.
|
||||||
|
|
||||||
Чтобы принудительно скомпилировать libc malloc, выполните следующую команду:
|
Чтобы принудительно скомпилировать libc malloc, выполните следующую команду:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ make MALLOC=libc
|
unix:$ make MALLOC=libc
|
||||||
```
|
```
|
||||||
|
|
||||||
Для компиляции аллокатора jemalloc на операционной системе Mac OS X, выполните команду:
|
Для компиляции аллокатора jemalloc на операционной системе Mac OS X, выполните команду:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ make MALLOC=jemalloc
|
unix:$ make MALLOC=jemalloc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
<!-- USAGE EXAMPLES -->
|
<!-- USAGE EXAMPLES -->
|
||||||
## Пример основных команд
|
## Пример основных команд
|
||||||
В данном разделе приведён пример основных команд субд Futriix
|
В данном разделе приведён пример основных команд субд Futriix
|
||||||
|
|
||||||
Запускаем клиент Futriix, перейдя в каталог с исходным кодом:
|
Запускаем клиент Futriix, перейдя в каталог с исходным кодом:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ cd src && ./futriix-cli
|
unix:$ cd src && ./futriix-cli
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверяем доступность сервера, выполняяя команду `ping`, если будет получен ответ `pong`-значит сервер доступен и работает корректно
|
Проверяем доступность сервера, выполняяя команду `ping`, если будет получен ответ `pong`-значит сервер доступен и работает корректно
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
127.0.0.1:futriix:~> ping
|
127.0.0.1:futriix:~> ping
|
||||||
PONG
|
PONG
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Присваеваем значение переменной `foo` равное `bar`, командой ниже:
|
Присваеваем значение переменной `foo` равное `bar`, командой ниже:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
127.0.0.1:futriix:~> set foo bar
|
127.0.0.1:futriix:~> set foo bar
|
||||||
OK
|
OK
|
||||||
```
|
```
|
||||||
|
|
||||||
Получаем значение переменной `foo`, командой ниже:
|
Получаем значение переменной `foo`, командой ниже:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ get foo
|
unix:$ get foo
|
||||||
"bar"
|
"bar"
|
||||||
@ -201,53 +193,35 @@ PONG
|
|||||||
|
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
|
|
||||||
## Кластер
|
## Кластер
|
||||||
|
|
||||||
|
|
||||||
1. Откройте директорию с Futriix:
|
1. Откройте директорию с Futriix:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ cd futriix
|
unix:$ cd futriix
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Откройте файл конфигурации futriix.conf в любом текстовом редакторе, например nano, как в примере приведённом ниже:
|
2. Откройте файл конфигурации futriix.conf в любом текстовом редакторе, например nano, как в примере приведённом ниже:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ nano futriix/futriix.conf
|
unix:$ nano futriix/futriix.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Найдите и установите значения "yes" для параметров "active-replica" и "multi-master". После чего добавьте в файл конфигурации ip-адреса, узлов вашего кластера. Если вы всё сделали правильно у вас должны отобразится строки в файле конфигурации `futriix.conf` как показано ниже:
|
3. Найдите и установите значения "yes" для параметров "active-replica" и "multi-master". После чего добавьте в файл конфигурации ip-адреса, узлов вашего кластера. Если вы всё сделали правильно у вас должны отобразится строки в файле конфигурации `futriix.conf` как показано ниже:
|
||||||
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|
||||||
active-replica yes
|
active-replica yes
|
||||||
multi-master yes
|
multi-master yes
|
||||||
replicaof 192.168.11.5 9880
|
replicaof 192.168.11.5 9880
|
||||||
replicaof 192.168.11.6 9880
|
replicaof 192.168.11.6 9880
|
||||||
replicaof 192.168.11.7 9880
|
replicaof 192.168.11.7 9880
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Сохраните внесённые вами изменения, выйдите из редактора, воспользовавшись командами ниже:
|
4. Сохраните внесённые вами изменения, выйдите из редактора, воспользовавшись командами ниже:
|
||||||
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ ctrl+O
|
unix:$ ctrl+O
|
||||||
unix:$ ctrl+x
|
unix:$ ctrl+x
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Перейдите в директорию Futriix и запустите скрипт `cluster.sh` с параметрами `pick` (скрипт запущенный с данным параметром "соберёт кластер"), и `run`,(скрипт запущенный с данным параметром "запустит кластер") как указано ниже:
|
5. Перейдите в директорию Futriix и запустите скрипт `cluster.sh` с параметрами `pick` (скрипт запущенный с данным параметром "соберёт кластер"), и `run`,(скрипт запущенный с данным параметром "запустит кластер") как указано ниже:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ ./cluster pick
|
unix:$ ./cluster pick
|
||||||
unix:$ ./cluster run
|
unix:$ ./cluster run
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
6. Для остановки кластера запустите скрипт `cluster.sh` с параметром `stop`
|
6. Для остановки кластера запустите скрипт `cluster.sh` с параметром `stop`
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ ./cluster stop
|
unix:$ ./cluster stop
|
||||||
```
|
```
|
||||||
@ -257,9 +231,7 @@ PONG
|
|||||||
|
|
||||||
В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд Futrix.
|
В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд Futrix.
|
||||||
|
|
||||||
|
|
||||||
1. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение:
|
1. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
Warning: no config file specified, using the default config. In order to specify a config file use ./futriix-server /path/to/futriix.conf
|
Warning: no config file specified, using the default config. In order to specify a config file use ./futriix-server /path/to/futriix.conf
|
||||||
```
|
```
|
||||||
@ -267,13 +239,11 @@ Warning: no config file specified, using the default config. In order to specify
|
|||||||
**Решение:**
|
**Решение:**
|
||||||
|
|
||||||
При запуске инстанса сервера futriix, указать корректный путь до файла конфигурации, командой ниже:
|
При запуске инстанса сервера futriix, указать корректный путь до файла конфигурации, командой ниже:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ ./futriix-server /path/to/futriix.conf
|
unix:$ ./futriix-server /path/to/futriix.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение:
|
2. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
1:12:S 18 Apr 2025 04:47:25.643 # NOTICE: Detuning locks due to high load per core: 97.49%
|
1:12:S 18 Apr 2025 04:47:25.643 # NOTICE: Detuning locks due to high load per core: 97.49%
|
||||||
1:12:S 18 Apr 2025 04:47:55.491 # NOTICE: CPU pressure reduced
|
1:12:S 18 Apr 2025 04:47:55.491 # NOTICE: CPU pressure reduced
|
||||||
@ -322,15 +292,6 @@ Futriix использует спинлоки для быстрой синхро
|
|||||||
4. Отправьте в ветку (`git push origin Feature/AmazingFeature`)
|
4. Отправьте в ветку (`git push origin Feature/AmazingFeature`)
|
||||||
5. Откройте запрос на включение
|
5. Откройте запрос на включение
|
||||||
|
|
||||||
<!-- LICENSE -->
|
|
||||||
## Лицензия
|
|
||||||
|
|
||||||
Проект распространяется под 3-пунктной лицензией BSD. Подробнсти смотрите в файле `COPYING.txt`.
|
|
||||||
|
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- CONTACT -->
|
<!-- CONTACT -->
|
||||||
## Контакты
|
## Контакты
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user