add_peer

Определение

Добавляет новре отношение репликации (peer) между текущим кластером HBase и либо другим кластером HBase, либо настраиваемой конечной точкой репликации на основе предопределенного класса.

Следует помнить о следующих особенностях и ограничениях:

  • Чтобы настроить репликацию между двумя кластерами, обозначьте второй кластер, используя входной параметр CLUSTER_KEY. В противном случае используйте параметр ENDPOINT_CLASSNAME, чтобы определить кастомную replication endpoint. Следует указать либо CLUSTER_KEY, либо ENDPOINT_CLASSNAME. Если ENDPOINT_CLASSNAME задан, то CLUSTER_KEY является необязательным и должен указываться только в том случае, если этого требует конкретная настраиваемая replication endpoint.

  • По умолчанию реплицируются только выбранные пространства имен и таблицы. Они должны быть определены параметрами NAMESPACES и TABLE_CFS. Но также можно настроить репликацию для всех таблиц, установив флаг REPLICATE_ALL с помощью команды set_peer_replicate_all.

  • Независимо от значения флага REPLICATE_ALL, реплицируются только таблицы с установленным флагом REPLICATION_SCOPE. Чтобы установить этот флаг и сделать таблицу реплицируемой, используйте команду enable_table_replication. Чтобы сбросить флаг и отключить репликацию для таблицы, используйте команду disable_table_replication. Обратите внимание, что процесс репликации не может быть запущен для таблиц с отключенной репликацией, даже если эти таблицы выбраны в конфигурации узла.

  • Входные параметры NAMESPACES и TABLE_CFS связаны между собой. Нельзя устанавливать таблицы из пространств имен, которые уже определены параметром NAMESPACES.

  • Вы можете установить пространства имен репликации для peer позже с помощью команд append_peer_namespaces или set_peer_namespaces. Чтобы удалить пространства имен, выполните команду remove_peer_namespaces.

  • Вы можете установить таблицы/семейства столбцов репликации для peer позже с помощью команд append_peer_tableCFs или set_peer_tableCFs. Чтобы удалить таблицы/семейства столбцов, используется команда remove_peer_tableCFs.

ПРИМЕЧАНИЕ
Больше информации о настройке репликации доступно в документации HBase.

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

  • Репликация между кластерами HBase:

    add_peer '<peer_id>',
             CLUSTER_KEY => '<cluster_key>'[,
             STATE => '<state>'][,
             NAMESPACES => <namespaces_array[]>][,
             TABLE_CFS => {'[<namespace_name>:]<table_name>' => <column_families_array[]>[,...]}]
  • Кастомная replication endpoint:

    add_peer '<peer_id>',
             ENDPOINT_CLASSNAME => '<class_name>'[,
             CLUSTER_KEY => '<cluster_key>'][,
             STATE => '<state>'][,
             DATA => {'<key_name>' => <key_value>, [...]}][,
             CONFIG => {'<config_name>' => '<config_value>', [...]}][,
             NAMESPACES => <namespaces_array[]>][,
             TABLE_CFS => {'[<namespace_name>:]<table_name>' => <column_families_array[]>[,...]}]
Аргументы
Параметр Описание

peer_id

Уникальный идентификатор отношения репликации (peer). Значение не должно содержать дефисов

cluster_key

Полный адрес второго кластера HBase в репликации. Обязательно в случае настройки репликации между двумя кластерами. Принимает следующий формат: <hbase.zookeeper.quorum>:<hbase.zookeeper.property.clientPort>:<zookeeper.znode.parent>. Все аргументы можно получить через Master UI (страница HBase configuration)

state

Состояние peer репликации. Возможные значения: ENABLED и DISABLED. Значение по умолчанию — ENABLED. Позже можно изменить с помощью команд disable_peer и enable_peer.

namespaces_array

Массив строк, указанных в формате '<namespace_name>', где <namespace_name> — имя пространства имен

namespace_name

Имя пространства имен

table_name

Имя таблицы

column_families_array

Массив строк, указанных в формате '<column_family>', где <column_family> — имя семейства столбцов

class_name

Имя кастомного класса. Обязательно, если репликация настраивается для кастомной replication endpoint. Пример: org.apache.hadoop.hbase.MyReplicationEndpoint

key_name

Имя peer data-параметра

key_value

Значение peer data-параметра

config_name

Имя конфигурационного peer-параметра

config_value

Значение конфигурационного peer-параметра

Примеры

Репликация между кластерами HBase

hbase(main):001:0> add_peer '1', CLUSTER_KEY => "serov-adh-1.ru-central1.internal,serov-adh-2.ru-central1.internal,serov-adh-3.ru-central1.internal:2181:/hbase", TABLE_CFS => { "articles" => []}
Took 0.3667 seconds

Кастомная replication endpoint

hbase(main):018:0> add_peer '2', ENDPOINT_CLASSNAME => 'test', STATE => 'DISABLED', DATA => {'key1' => 'value1'}, CONFIG => {'config1' => 'value1'}, NAMESPACES => ['ns1'], TABLE_CFS => { "articles" => []}
Took 0.0306 seconds
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней