1. 当select 表时,将元数据打开,元数据的大小和打开表的个数可以通过show staus查询
gbase> show status like ‘%express_cached%’;
+————————-+——–+
| Variable_name | Value |
+————————-+——–+
| express_cached_metadata | 297340 |
| express_cached_tables | 5 |
+————————-+——–+
2 rows in set (Elapsed: 00:00:00.00)
express_cached_metadata:表示当前内存中所有表实例的元数据大小
express_cached_tables:表示当前内存中有多少个表实例
2. _gbase_express_table_metadata_limit
该参数用于限制表实例元数据总大小。gnode下默认值为temp堆大小一半,gcluster下默认值为1GB,最小值最大值不限,配置文件中可使用K/M/G方式设置。当express_cached_metadata达到限值后,会将最先打开表的元数据清理掉,但不是及时清理,是由后台线程每5秒检测一次进行清理
3. 分区表元数据
当查询指定分区的数据时,元数据只打开指定的分区,不会将其全部打开。当alter add一列分区时,会将全部元数据释放掉。
4. 元数据的清理
将元数据释放可以通过重启集群,或者执行refresh tables;
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317843.html