Облачное Хранилище Riak. Часть 2. Настройка Компонента Riak Cs

В этой статье мы продолжим настройку отдельных компонентов системы Riak Cloud Storage, а именно компонента Riak CS.

Облачное хранилище Riak. Часть 2. Настройка компонента Riak CS

Данная статья является продолжением вольных переводов официального руководства к системе Riak CS 2.1.1.

Часть 1. Настройка Riak KV Часть 3. Стойка, прокси и балансировка нагрузки, клиент S3
Чтобы обеспечить корректную работу компонента Riak CS, важно знать, как подключиться к Riak KV. Узел Riak CS обычно работает на том же сервере, что и соответствующий ему узел Riak KV. Это означает, что изменения потребуются только в том случае, если Riak настроен с использованием настроек, отличных от настроек по умолчанию.

Настройки Riak CS расположены на узле CS в файлах конфигурации riak-cs.conf и Advanced.conf. Оба файла обычно находятся в каталоге /etc/riak-cs. Новый файл riak-cs.conf представляет собой простой список пар.

конфигурация = необязательно , но есть параметры, которые можно изменить только через файл Advanced.config. Это выглядит примерно так: РАСШИРЕННЫЙ.

КОНФИГ

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   

{riak_cs, [ {parameter1, value}, {parameter2, value}, %% and so on. ]},

Если вы обновляетесь с версии более ранней, чем 2.0.0 (когда был представлен файл riak-cs.conf), вы все равно можете использовать файл app.config, расположенный по адресу riak-cs.conf/advanced.config. Синтаксис файла app.config идентичен файлу Advanced.conf, поэтому любые примеры, используемые для Advanced.conf, можно использовать непосредственно в файле app.config.
Обратите внимание, что старый файл app.config заменяет новые файлы конфигурации.

Если присутствует app.config, ни riak-cs.conf, ни Advanced.config использоваться не будут.

Примечание.

Об устаревшем файле app.config. Если вы обновляете предыдущие версии Riak CS до Riak CS 2.0 и планируете продолжать использовать устаревший файл app.config, обратите внимание, что имена параметров в некоторых файлах конфигурации изменились.

Также в версии 2.0 был изменен формат IP/Port для Stanchion, Riak, Riak CS. Вы можете просмотреть изменения в документе Документ о непрерывных обновлениях .

Полный список доступных параметров и полный список параметров app.config см.

в документе.

Полный справочник по конфигурации .

В разделах ниже описаны важные параметры конфигурации Riak CS.

Хост и порт.

Чтобы подключить Riak CS к Riak KV, убедитесь, что установлены хост и порт, используемые Riak KV:
  • riak_host – замените 127.0.0.1:8087 на IP-адрес и номер порта узла Riak KV, к которому вы хотите подключить Riak CS.
Вам также необходимо установить хост-прослушиватель для Riak CS:
  • слушатель – замените 127.0.0.1:8080 на IP-адрес и номер порта узла Riak CS, если вы собираетесь использовать его не локально.

    Убедитесь, что номер порта не конфликтует с номером порта.

    riak_host Узел Riak KV и узел Riak CS, работающие на одной машине.

Примечание.

Об IP-адресе Введенный здесь IP-адрес должен совпадать с IP-адресом, указанным для интерфейса буферов протокола Riak KV в файле riak.conf, за исключением случаев, когда Riak CS работает в совершенно другой сети, и в этом случае требуется преобразование адресов.

После внесения некоторых изменений в riak-cs.conf перезапустите узел Riak CS, если он уже запущен.



Параметры узла стойки

Если вы используете один узел Riak CS, вам не нужно менять настройки Stanchion, поскольку он работает на локальном хосте (Примечание: Stanchion устанавливается только на один экземпляр для всего кластера).

Если система Riak CS имеет несколько узлов, в этом случае вы должны указать IP-адрес и порт Stanchion узла, а также использовать ли он SSL. Настройки для Stanchion находятся в файле конфигурации riak-cs.conf узла Riak CS, расположенном в каталоге .

/etc/riak-cs/conf каждого узла Riak CS. Чтобы настроить хост и порт для Stanchion, убедитесь, что для хоста и порта, используемых Stanchion, установлены следующие значения:

  • stanchion_host – замените 127.0.0.1:8085 на IP-адрес и порт узла Stanchion.


Использование SSL

В Stanchion SSL по умолчанию отключен, т.е.

параметр stanchion_ssl имеет значение выключенный .

Если Stanchion настроен на использование SSL, измените значение на на .

В следующем примере конфигурации для хоста Stanchion задается значение localhost, порт 8085 (по умолчанию) и включается SSL. РИАК-CS.CONF

stanchion_host = 127.0.0.1:8085 stanchion_ssl = on

РАСШИРЕННЫЙ.

КОНФИГ

{riak_cs, [ %% Other configs {stanchion_host, {"127.0.0.1", 8085}}, {stanchion_ssl, true}, %% Other configs ]}



Установка имени хоста

Вы также можете указать более удобное для вас имя узла Riak CS, что поможет вам идентифицировать узел, на котором происходят запросы при устранении неполадок.

Это настраивается в файле конфигурации riak-cs.conf или vm.args, который также находится в /etc/riak-cs.conf. Здесь будет задано имя узла Riak CS [email protected]: РИАК-CS.CONF

nodename = [email protected]

ВМ.

АРГС

-name [email protected]

Измените 127.0.0.1 на IP-адрес или имя хоста сервера, на котором работает Riak CS.

Создание учетной записи администратора

Администратор — это специальный уполномоченный пользователь для выполнения таких действий, как создание пользователей или получение статистики.

Учетная запись администратора ничем не отличается от другой учетной записи пользователя.

Вам необходимо создать учетную запись администратора, чтобы продолжить использование Riak CS.

Примечание.

О создании анонимного пользователя.

Прежде чем создавать учетную запись администратора, вы должны установить Anonymous_user_creation = on в riak-cs.conf (или установить {anonymous_user_creation,true} в Advanced.config/app.config).

Вы можете отключить снова, когда администратор будет создан.

Чтобы создать учетную запись администратора, используйте HTTP-запрос POST и имя пользователя, которое вы хотите для учетной записи администратора.

Например: КУЛОН

curl -H 'Content-Type: application/json' \ -XPOST http://<host>:<port>/riak-cs/user \ --data '{"email":"[email protected]", "name":"admin"}'

Ответ JSON должен выглядеть следующим образом:

{ "display_name" : "admin", "email" : "[email protected]", "id" : "8d6f05190095117120d4449484f5d87691aa03801cc4914411ab432e6ee0fd6b", "key_id" : "OUCXMB6I3HOZ6D0GWO2D", "key_secret" : "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==", "name" : "admin_example", "status" : "enabled" }

При желании вы можете отправлять и получать XML, если для параметра Content-Type установлено значение application/xml. После создания администратора вам необходимо установить права администратора для каждого узла Riak CS. Права администратора устанавливаются в файле конфигурации riak-cs.conf, который находится в каталоге /etc/riak-cs. Вставьте строку key_id в кавычки для admin.key. Вставьте поле secret_key параметра admin.secret: РИАК-CS.CONF

admin.key = OUCXMB6I3HOZ6D0GWO2D admin.secret = a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==

РАСШИРЕННЫЙ.

КОНФИГ

{riak_cs, [ %% Admin user credentials {admin_key, "OUCXMB6I3HOZ6D0GWO2D"}, {admin_secret, "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag=="}, %% Other configs ]}



Предел сегмента

Вы также можете установить ограничение на количество сегментов, создаваемых пользователем.

Максимум по умолчанию — 100 сегментов.

Имейте в виду, что если пользователь превысит лимит создания корзины, он все равно будет доступен для других операций, включая удаление корзины.

Вы можете изменить лимит по умолчанию, используя параметр max_buckets_per_user на каждом узле в файле Advanced.config — и это не будет то же самое изменение в файле riak-cs.conf. Например, в конфигурации ниже максимальное значение установлено равным 1000: РАСШИРЕННЫЙ.

КОНФИГ

{riak_cs, [ %% Other configs {max_buckets_per_user, 1000}, %% Other configs ]}

Если вы хотите снять ограничения на создание сегментов одним пользователем, вы можете установить для параметра max_buckets_per_user значение неограниченно.



Пулы соединений

Riak CS использует два явных пула соединений для связи с Riak KV: первичный и вторичный пулы.

Основной пул соединений используется для обслуживания большинства запросов API, которые включают загрузку или получение объектов.

Он установлен в файле конфигурации как пул.

запрос.

размер .

Размер пула по умолчанию — 128. Вторичный пул соединений используется исключительно для запросов на получение списка содержимого сегментов.

Для повышения производительности необходим отдельный пул соединений.

Вторичный пул соединений определяется в файле конфигурации как пул.

список.

размер .

По умолчанию его размер равен 5. Ниже приведена запись конфигурации Connection_pools default, который можно найти в файле app.config: РИАК-CS.CONF

pool.request.size = 128 pool.request.overflow = 0 pool.list.size = 5 pool.list.overflow = 0

РАСШИРЕННЫЙ.

КОНФИГ

{riak_cs, [ %% Other configs {connection_pools, [ {request_pool, {128, 0} }, {bucket_list_pool, {5, 0} } ]}, %% Other configs ]}

Значение для каждого пула разбивается на пары, где первое число представляет нормальный размер пула.

Это представляет собой количество одновременных запросов данного типа, которые может обслуживать узел Riak CS. Второе число — это разрешенное число переполнения пула.

Здесь не рекомендуется использовать для переполнения какое-либо значение, кроме 0, если тщательное тестирование не показало, что выбранное значение полезно для конкретного случая.



Тюнинг

Настоятельно рекомендуем быть внимательными при установке значения параметра.

pb_backlog в Риаке КВ.

Когда узел Riak CS работает, каждый пул соединений устанавливает соединения с Riak CV. Это может вызвать проблемы громоподобная проблема стада , в которых соединения в пуле думают, что они подключены к Riak KV, но на самом деле они были отброшены.

Из-за ограничения скорости пакетов TCP RST (контролируемого net.inet.icmp.icmplim ) Некоторые пакеты могут не получать уведомления, пока они не будут использованы для обслуживания запроса пользователя.

Это проявляется в виде сообщений {ошибка, отключено} в файлах журнала Riak CS, и пользователю возвращается ошибка.



Подключение SSL в Riak-CS

РИАК-CS.CONF

ssl.certfile = ".

/etc/cert.pem" ssl.keyfile = ".

/etc/key.pem"

РАСШИРЕННЫЙ.

КОНФИГ

{ssl, [ {certfile, ".

/etc/cert.pem"}, {keyfile, ".

/etc/key.pem"} ]},

Замените текст в кавычках в пути к вашим ключам шифрования SSL. По умолчанию на каждом узле файлы cert.pem и key.pem расположены в каталоге /etc. Вы можете использовать эти ключи или свои собственные.

Обратите внимание, что вы также должны предоставить центр сертификации (центр сертификации), т. е.

сертификат ЦС.

Если у вас есть такая опция, то вам следует использовать файл конфигурации Advanced.config и указать его местоположение в параметре файл сертификата .

В отличие от файла сертификата и файла ключа, параметр файл сертификата не закомментировано.

Здесь вы должны добавить свой сертификат. Пример такой конфигурации: РАСШИРЕННЫЙ.

КОНФИГ

{ssl, [ {certfile, ".

/etc/cert.pem"}, {keyfile, ".

/etc/key.pem"}, {cacertfile, ".

/etc/cacert.pem"} ]}, %% Other configs

Инструкции по созданию сертификата CA можно найти на сторонних сайтах.

Ресурсы .



Прокси против прямого подключения

Riak CS может взаимодействовать с клиентами S3 одним из двух способов:
  1. настройка прокси — когда клиент S3 подключается к Riak CS как будто из Amazon S3, то есть по типичным URL-адресам Amazon.
  2. прямое подключение — требует, чтобы клиент S3, подключенный к Riak CS, был настроен как «S3-совместимый сервис», то есть точка подключения Riak CS маскируется под Amazon S3. Примерами таких сервисов являются Transmit, s3cmd, DragonDisk.


Прокси

Чтобы настроить конфигурацию прокси-сервера, настройте свой прокси-клиент как точку по адресу кластера Riak CS. Затем настройте свой клиент с учетными данными Riak CS. Когда Riak CS получает запрос прокси, он сам обслуживает запрос и отвечает клиенту, как если бы запрос направлялся к S3. На стороне сервера параметр root_host в файле riak-cs.conf должно быть значение s3.amazonaws.com поскольку все клиентские запросы URL-адресов корзины будут относиться к s3.amazonaws.com. Это значение по умолчанию.

Важный : Одна из проблем с конфигурациями прокси заключается в том, что многие клиенты с графическим интерфейсом позволяют настраивать только один прокси для всех подключений.

Для клиентов, пытающихся подключиться как к S3, так и к Riak CS, это может оказаться проблематичным.



Прямая связь

Настройка прямого подключения осуществляется через параметр cs_root_host в разделе riak-cs файла app.config. В качестве значения должно быть установлено полное доменное имя вашей точки входа Riak CS, поскольку все URL-адреса корзины будут нацелены на точку входа полного доменного имени.

Вам также потребуются записи DNS с подстановочными знаками для любого дочернего элемента точки входа, чтобы разрешить его конечную точку.

Пример: КОНФИГ

data.riakcs.net *.

data.riakcs.net



Настройки сборщика мусора



Облачное хранилище Riak. Часть 2. Настройка компонента Riak CS

Для настройки сборщика мусора в Riak CS доступны следующие настройки.

Более подробную информацию вы можете посмотреть в разделе Вывоз мусора .

  • gc.leeway_ period - (leeway_секунды в Advanced.config или app.config) — время, которое должно пройти, прежде чем версия объекта, который был явно удален или перезаписан, будет разрешена для сбора мусора.

    Время по умолчанию — 24 часа (24 часа).

  • gc.интервал (gc_interval в Advanced.config или app.config) — интервал, в течение которого демон сборки мусора ищет и собирает подходящие версии объектов.

    Значение по умолчанию — 15 м (15 минут).

    Важно, чтобы в каждый момент времени в кластере работал только один демон сборки мусора.

    Отключите демон на узле, установив для gc_interval значение бесконечности.

  • gc.retry_interval (gc_retry_interval в Advanced.config или app.config) — время, которое должно пройти до того, как будет предпринята еще одна попытка сделать запись для объявления объекта в состоянии.

    pending_delete во время сбора мусора в допустимом ведре.

    Как правило, этот тайм-аут никогда не должен истекать, но может истечь, если из-за ошибки исходная запись сборки мусора в допустимом сегменте будет удалена до завершения процесса сборки мусора.

    По умолчанию — 6 часов (6 часов).

  • gc.max_workers (gc.max_workers в Advanced.config или app.config) — максимальное количество рабочих процессов, которые может запустить демон сборщика мусора и которые будут использоваться одновременно при сборе допустимых объектов.

    По умолчанию — 2.

  • active_delete_threshold (active_delete_threshold в Advanced.config или app.config) — блоки объектов, размер которых меньше порога, синхронно удаляются, а их манифесты помечаются как запланированное_удаление .

    Значение по умолчанию — 0.

Существует несколько дополнительных параметров, которые можно установить только в файлах конфигурации Advanced.config или app.config. Ни один из следующих параметров не доступен в файле конфигурации riak-cs.conf.
  • эпоха_start — Время, которое демон сборки мусора использует для начала сбора ключей из допустимой корзины во время сборки мусора.

    Записи в этом сегменте используют ключи на основе вех.

    время создания записи + leeway_секунды .

    По умолчанию установлено значение 0, и этого должно быть достаточно для базового использования.

    Это значение можно изменить, если время выполнения запроса вторичного индекса, выполняемого демоном сборки мусора, постоянно истекает. Увеличение начального значения может уменьшить диапазон запроса и повысить вероятность его успеха.

    Значение должно быть указано в двоичном формате Erlang. например, чтобы установить значение 10, укажите <<“10”> > .

  • Initial_gc_delay — количество секунд ожидания в дополнение к значению gc_interval перед первым запуском демона сборки мусора при запуске узла Riak CS. Примечание: Эта настройка изначально использовалась для поэтапного запуска GC на нескольких узлах; мы больше не рекомендуем запускать несколько демонов GC. Соответственно, мы не рекомендуем устанавливать i начальный_gc_delay .

  • max_scheduled_delete_manifests — Максимальное количество манифестов (репрезентативных версий объектов), которые могут находиться в состоянии запланированное_удаление для данного ключа.

    Неограниченный означает, что нет максимума и обрезка в зависимости от количества не производится.

    Примером того, где эта опция полезна, является вариант использования, включающий большое количество изменений фиксированного набора ключей в течение относительно короткого периода времени по сравнению со значением.

    leeway_секунды .

    Это может привести к тому, что объекты манифеста достигнут размера, который может негативно повлиять на производительность системы.

    Значение по умолчанию не ограничено.

  • gc_batch_size — Этот параметр представляет размер, используемый для разбиения на страницы результатов запроса вторичного индекса.

    Значение по умолчанию — 1000.

Устаревшая конфигурация На данный момент Riak CS 2.0 все еще поддерживает настройку параметра pg_paginated_indexes, и настоятельно рекомендуется не использовать эти настройки.

Эти настройки будут удалены в следующем основном выпуске.



Другие настройки Riak CS

Полный список настраиваемых параметров Riak CS можно найти в документе.

ссылка на конфигурацию .



Ссылки

Облачное хранилище Riak. Часть 1. Настройка Riak KV Облачное хранилище Riak. Часть 2. Настройка компонента Riak CS Облачное хранилище Riak. Часть 3. Стойка, прокси и балансировка нагрузки, клиент S3 Оригинальный мануал.

Теги: #базы данных #Администрирование баз данных #NoSQL #Riak #Riak #Riak #Riak CS #Riak CS

Вместе с данным постом часто просматривают: