我有两个HDFS
集群,HBase
其顶部有,cluster_1
和cluster_2
。
在cluster_1
(所有节点)上我编辑了hbase-site.xml
添加以下内容:
<property>
<name>hbase.replication</name>
<value>true</value>
</property>
然后我像这样cluster_1
改变了表的foo
列族:bar
disable 'foo'
alter 'foo', NAME => 'bar', REPLICATION_SCOPE => 'my_peer'
enable 'foo'
my_peer
然后像这样创建同侪:
add_peer 'my_peer', 'cluster_2-zookeeper:2181:/my_hbase_znode'
start_replication
表foo
中未复制来自 的数据。foo
cluster_2
我是否遗漏了什么?zk_dump
incluster_1
表示已使用 peer 启用复制my_peer
。
编辑-1
添加hbase.replication=true
in后cluster_2
,我能够复制使用 HBase shell 手动放置数据的表。其他的就没那么幸运了。
答案1
看起来你的表属性REPLCATION_SCOPE
设置不正确,
change from,
disable 'foo'
alter 'foo', NAME => 'bar', REPLICATION_SCOPE => 'my_peer'
enable 'foo'
到
disable 'foo'
alter 'foo', NAME => 'bar', REPLICATION_SCOPE => '1'
enable 'foo'
属性“ REPLICATION_SCOPE
”可采用0
(replication=false) 或1
(replication=true)。
使用以下命令来检查表是否启用了复制,list_replicated_tables
如果这有帮助的话请告诉我!!