append_peer_namespaces
Определение
Добавляет реплицируемые пространства имен к указанному отношению репликации (peer). Следует помнить о следующих ограничениях:
-
Флаг
REPLICATE_ALL
должен иметь значениеfalse
в конфигурации отношения репликации (set_peer_replicate_all). -
Установка пространства имен означает, что все таблицы в этом пространстве имен с флагом
REPLICATION_SCOPE
!= 0 реплицируются. Если конфигурация peer уже содержит какую-либо таблицу (добавленную через append_peer_tableCFs или set_peer_tableCFs), то установка ее пространства имен с помощью этой команды не допускается.
ПРИМЕЧАНИЕ
Эта команда не удаляет ранее определенные пространства имен из конфигурации peer (в отличие от set_peer_namespaces).
|
Использование
append_peer_namespaces '<peer_id>', <namespaces_array[]>
Параметр | Описание |
---|---|
peer_id |
Уникальный идентификатор отношения репликации (peer). Значение не должно содержать дефисов |
namespaces_array |
Массив строк, указанных в формате |
Примеры
Успешное добавление пространства имен
Peer без пространств имен:
hbase(main):019:0> list_peers PEER_ID CLUSTER_KEY ENDPOINT_CLASSNAME STATE REPLICATE_ALL NAMESPACES TABLE_CFS BANDWIDTH 1 serov-adh-1.ru-central1.internal,serov-adh-2.ru-central1.internal,serov-adh-3.ru-central1.internal:2181:/hbase ENABLED false default.articles 0 1 row(s) Took 0.0119 seconds => #<Java::JavaUtil::ArrayList:0xe886caf> hbase(main):022:0> append_peer_namespaces '1', ['ns1'] Took 0.0250 seconds hbase(main):025:0> list_peers PEER_ID CLUSTER_KEY ENDPOINT_CLASSNAME STATE REPLICATE_ALL NAMESPACES TABLE_CFS BANDWIDTH 1 serov-adh-1.ru-central1.internal,serov-adh-2.ru-central1.internal,serov-adh-3.ru-central1.internal:2181:/hbase ENABLED false ns1 default.articles 0 1 row(s) Took 0.0063 seconds => #<Java::JavaUtil::ArrayList:0x6a902015>
Peer с пространствами имен:
hbase(main):031:0> list_peers PEER_ID CLUSTER_KEY ENDPOINT_CLASSNAME STATE REPLICATE_ALL NAMESPACES TABLE_CFS BANDWIDTH 1 serov-adh-1.ru-central1.internal,serov-adh-2.ru-central1.internal,serov-adh-3.ru-central1.internal:2181:/hbase ENABLED false ns1 default.articles 0 1 row(s) Took 0.0063 seconds => #<Java::JavaUtil::ArrayList:0x6a902015> hbase(main):032:0> append_peer_namespaces '1', ['ns2'] Took 0.0114 seconds hbase(main):034:0> list_peers PEER_ID CLUSTER_KEY ENDPOINT_CLASSNAME STATE REPLICATE_ALL NAMESPACES TABLE_CFS BANDWIDTH 1 serov-adh-1.ru-central1.internal,serov-adh-2.ru-central1.internal,serov-adh-3.ru-central1.internal:2181:/hbase ENABLED false ns1;ns2 default.articles 0 1 row(s) Took 0.0084 seconds => #<Java::JavaUtil::ArrayList:0x2c1ea7be>
Неудачное добавление пространства имен
hbase(main):053:0> list_peers PEER_ID CLUSTER_KEY ENDPOINT_CLASSNAME STATE REPLICATE_ALL NAMESPACES TABLE_CFS BANDWIDTH 1 serov-adh-1.ru-central1.internal,serov-adh-2.ru-central1.internal,serov-adh-3.ru-central1.internal:2181:/hbase DISABLED false ns1 default.articles 0 1 row(s) Took 0.0113 seconds => #<Java::JavaUtil::ArrayList:0x6dde1bf5> hbase(main):054:0> append_peer_namespaces '1', ['default'] ERROR: java.io.IOException: Table-cfs articles is conflict with namespaces default in peer config at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:472) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304) Caused by: org.apache.hadoop.hbase.replication.ReplicationException: Table-cfs articles is conflict with namespaces default in peer config at org.apache.hadoop.hbase.master.replication.ReplicationManager.checkNamespacesAndTableCfsConfigConflict(ReplicationManager.java:181) at org.apache.hadoop.hbase.master.replication.ReplicationManager.checkPeerConfig(ReplicationManager.java:148) at org.apache.hadoop.hbase.master.replication.ReplicationManager.updatePeerConfig(ReplicationManager.java:103) at org.apache.hadoop.hbase.master.HMaster.updateReplicationPeerConfig(HMaster.java:3535) at org.apache.hadoop.hbase.master.MasterRpcServices.updateReplicationPeerConfig(MasterRpcServices.java:1943) at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) ... 3 more Append some namespaces to be replicable for the specified peer. Set a namespace in the peer config means that all tables in this namespace (with replication_scope != 0 ) will be replicated. Examples: # append ns1,ns2 to be replicable for peer '2'. hbase> append_peer_namespaces '2', ["ns1", "ns2"] Took 8.1496 seconds