无法更改HBase中的列

无法更改HBase中的列,hbase,Hbase,这是一个新手HBase问题。我在HBase(1.2.6)中有一个表: 它创建于: hbase(main):046:0> desc 'ship' Table ship is ENABLED ship COLUMN FAMILIES DESCRIPTION {NAME => 'cf1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALS

这是一个新手HBase问题。我在HBase(1.2.6)中有一个表:

它创建于:

hbase(main):046:0> desc 'ship'
Table ship is ENABLED
ship
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false',
 KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', 
TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
1 row(s) in 0.0110 seconds
但我不能改变它:

hbase(main):047:0> alter 'ship', NAME=>'cf1', VERSIONS=>5
Unknown argument ignored: cf1
Unknown argument ignored: VERSIONS
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.8710 seconds

知道为什么会发生这种情况吗?

经过一些实验,我确实发现了这个问题。hbase-site.xml中hbase.column.max.version的默认值为1。显然,如果它保持这种状态,那么所有设置更多版本的尝试都会失败,并出现神秘的错误。
将此参数设置为大于1的值可以解决此问题。

我遇到了相同的问题,但找到了不同的解决方案。实际上,我在hbase-site.xml中没有找到配置

我的解决方案是先禁用表,然后再更改它。 一旦禁用,我就可以更改#版本

hbase(main):047:0> alter 'ship', NAME=>'cf1', VERSIONS=>5
Unknown argument ignored: cf1
Unknown argument ignored: VERSIONS
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.8710 seconds