GBase 8a ERROR 1238 Variable is a read only variable
这个参数属于静态只读参数,不能用 set global / set 在线修改,只能改配置文件,重启 gbase 服务生效。
GBase8a 参数分两类:
- 动态参数:
set global xxx=val在线直接改,无需重启- 静态只读参数:启动时一次性加载,运行中禁止修改,执行 set 就报 1238 常见只读参数:
gbase_memory_pct_target、server_id、port、basedir、部分内存参数等
操作步骤(GBase8a MPP 集群)
集群所有节点(gcluster 调度节点 + gnode 数据节点)都要修改
- 找到配置文件
# gcluster调度节点
/opt/gbase/gcluster/config/gbase_8a_gbase.cnf
# gnode数据节点
/opt/gbase/gnode/config/gbase_8a_gbase.cnf
- 编辑 cnf,在
[gbase]段增加 / 修改目标参数
[gbase]
gbase_memory_pct_target=0.7
- 停止集群(业务低峰执行)
gcadmin stopall
- 启动集群
gcadmin startall
- 登录验证
show variables like 'gbase_memory_pct_target';
先判断:参数到底支不支持动态修改
--查看参数,看是否支持动态修改
show variables like '参数名';
没有 “动态” 属性、启动时加载的参数,全部只读。

浙公网安备 33010602011771号