Запуск сервера RethinkDB
Хотите запускать экземпляры RethinkDB при запуске системы? См. Запуск RethinkDB при запуске системы, чтобы узнать, как настроить RethinkDB с
init.dилиsystemd.
В данном документе описывается, как запустить RethinkDB из командной строки в различных конфигурациях, от одного экземпляра на одном компьютере до нескольких экземпляров на нескольких машинах.

Запуск сервера
Для запуска первого экземпляра RethinkDB выполните данную команду в терминале:
$ rethinkdb
info: Creating directory /home/user/rethinkdb_data
info: Listening for intracluster connections on port 29015
info: Listening for client driver connections on port 28015
info: Listening for administrative HTTP connections on port 8080
info: Server ready
Обратите внимание на номера портов, которые можно использовать для доступа к RethinkDB:
- Используйте порт внутри кластера (
29015по умолчанию) для подключения других узлов кластера к данному узлу. - Откройте веб-интерфейс в браузере, указав порт HTTP-соединения (
8080по умолчанию).
Полный список опций, которые можно передать RethinkDB в командной строке, см. в опциях командной строки RethinkDB, или введите
rethinkdb --helpв командной строке.
Несколько экземпляров RethinkDB на одном компьютере
Добавление узла в кластер RethinkDB так же просто, как запуск нового процесса RethinkDB и указание на существующий узел в кластере. Всё остальное обрабатывается системой без дополнительных усилий со стороны пользователя.
Теперь запустите второй экземпляр RethinkDB на той же машине:
$ rethinkdb --port-offset 1 --directory rethinkdb_data2 --join localhost:29015
info: Creating directory /home/user/rethinkdb_data2
info: Listening for intracluster connections on port 29016
info: Attempting connection to 1 peer...
info: Connected to server "Chaosknight" e6bfec5c-861e-4a8c-8eed-604cc124b714
info: Listening for client driver connections on port 28016
info: Listening for administrative HTTP connections on port 8081
info: Server ready
У вас теперь есть кластер RethinkDB! Попробуйте открыть веб-интерфейс в браузере по адресу localhost:8080 или localhost:8081. Если вы нажмете на вкладку «Серверы» вверху, вы должны увидеть оба сервера в кластере.
Вы также можете указать клиентским драйверам адреса localhost:28015 или localhost:28016, чтобы начать выполнение запросов (не имеет значения, какой узел вы используете — кластер автоматически перенаправит все команды на соответствующие узлы).
Обратите внимание на параметры командной строки, которые мы использовали для запуска второго узла:
-
--port-offset— инкрементировать все порты на 1, чтобы два узла не пытались использовать одни и те же порты на одной машине. -
--directory— использовать другой каталог данных, чтобы два узла не пытались получить доступ к одним и тем же файлам. -
--join— указать новому экземпляру RethinkDB на подключение к другому экземпляру (в данном случае кlocalhost:29015).
Полный список опций, которые можно передать RethinkDB в командной строке, см. в опциях командной строки RethinkDB, или введите rethinkdb --help в командной строке.
Возникают проблемы с доступом к веб-интерфейсу? Попробуйте перезапустить оба экземпляра RethinkDB с дополнительным параметром
--bind all.
В производственной среде вы, скорее всего, захотите указать параметры через файлы конфигурации вместо параметров командной строки; см. документацию по файлу конфигурации для получения подробной информации о формате и доступных параметрах. Кроме того, вы захотите, чтобы ваши экземпляры RethinkDB запускались при запуске системы. См. Запуск RethinkDB при запуске системы, чтобы узнать, как настроить RethinkDB с init.d или systemd.
Хотите подключить третий узел? Вы можете подключить его к одному из двух существующих узлов в кластере.
Кластер RethinkDB, использующий несколько машин
Настройка кластера на нескольких машинах или виртуальных машинах ещё проще, чем на одной, так как вам не нужно беспокоиться о конфликтах портов и каталогов.
Сначала запустите RethinkDB на первой машине:
$ rethinkdb --bind all
Затем запустите RethinkDB на второй машине:
$ rethinkdb --join IP_OF_FIRST_MACHINE:29015 --bind all
У вас теперь есть кластер RethinkDB!
Обратите внимание, что по умолчанию RethinkDB открывает подключения, привязанные к localhost, чтобы предотвратить подключение неавторизованных клиентов в сети к серверу. Параметр --bind all позволяет подключаться из любой точки сети. Это хорошо работает, если сеть защищена.
Если ваша сеть открыта для интернета, вам следует принять дополнительные меры предосторожности. См. страницу безопасности для получения дополнительной информации.
Отладка
Вы видите сообщение ‘received invalid clustering header’? RethinkDB использует три порта для работы — порт HTTP веб-интерфейса, порт для клиентских драйверов и порт для внутрикластерного трафика. Вы можете подключить браузер к порту веб-интерфейса для администрирования кластера прямо из браузера и подключить клиентские драйверы к порту клиентских драйверов для выполнения запросов из вашего приложения. Если вы работаете с кластером, различные узлы RethinkDB общаются друг с другом через порт внутрикластерного трафика.
Сообщение
received invalid clustering headerозначает несовпадение портов, и что-то подключается к неправильному порту. Например, это сообщение часто появляется, если вы случайно указываете браузеру или клиентским драйверам порт внутрикластерного трафика.
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/docs/start-a-server/