[英]How To Change the replication of a Column family in HBase
問題主要是關於這一點,在我的項目中,我想創建一個包含3列族的表。 默認復制號是3。但是我想為centain列系列更改此復制號,只是因為我們不需要太多復制。
例如,表名稱table1
,並具有3列族f1
, f2
, f3
。 在這種情況下,我們要將f3
的復制數量設置為1
。 那么如何設置此配置? 有沒有不改變源代碼的解決方案?
PS:是通過hbase shell還是JAVA?
首先,我們應該指定復制一詞有點過載。
HBase使用HDFS作為其存儲。 HDFS會將構成HBase生成的任何文件的塊復制到多個DataNode。 (請參閱http://hadoop.apache.org/docs/stable/hdfs_design.html#Data+Replication )不能按列系列或表配置此值。 每個服務器只能配置。 (請參閱http://hbase.apache.org/book.html#hdfs_client_conf )
如果這是您要更改的內容,那么我建議您提出要求新功能的吉拉車。
HBase還具有將編輯從一個HBase群集復制到另一個群集的功能。 該復制是每個預寫日志的復制,並且可以按列系列進行配置。 將REPLICATION_SCOPE設置為一個將告訴HBase將來自該區域服務器的編輯應用於另一個群集。 將此設置為0將關閉復制。
我對此很看重。 如我所見-您不能為表定義不同的復制,更不用說列族了。
在整個表的hbase-site.xml中定義了復制數量。 您可以使用REPLICATION_SCOPE定義是否要復制列族。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.