在OceanBase集群中,OBServer节点工作目录下通常有audit、bin、etc、etc2、etc3、log、run、store等目录,但这些目录并非都是安装必须的。在启动OBServer节点前需要保证etc、log、run、store这4的目录存在,同时store下应该有clog、slog、sstable这3个目录。etc2、etc3是备份配置文件用的,由OBServer节点创建。audit下存放的是审计日志,也由OBServer节点创建。bin目录用于存放observer二进制文件。如下所示:
[root@node11 ~]# tree observer/ -d -L 1 observer/ ├── admin ├── audit ├── bin ├── etc ├── etc2 ├── etc3 ├── lib ├── log ├── log_obshell ├── run └── store -> /root/obdata 11 directories
etc、etc2、etc3都是配置文件目录。这三个目录里的内容是完全一致的,区别是后两个目录是OBServer节点创建的,第一个目录是启动前需要准备的。etc2和etc3是配置文件额外保存的目录,由配置项config_additional_dir控制。当配置修改以后,除了会写标准的etc/observer.config.bin以外,还会额外在这些目录创建配置项文件。server启动不会读取额外目录的配置项文件,只是作为额外备份。额外目录如果有权限会自动创建,没有权限则日志中报ERROR。视频讲解如下:
OceanBase数据库的配置项分为集群级配置项和租户级配置项。OBServer节点会将所有的配置项序列化后保存到工作目录下的配置文件etc/observer.config.bin中,之后在这个工作目录下启动OBServer节点都会读取这个配置文件。
- 普通租户使用SHOW PARAMETERS语句查看本租户级配置项信息的SQL语句如下:
SHOW PARAMETERS [SHOW_PARAM_OPTS]
- 系统租户可以使用SHOW PARAMETERS语句查看集群级配置项和租户级配置项信息。并可通过增加TENANT关键字信息查看指定租户的配置项。
SHOW PARAMETERS [SHOW_PARAM_OPTS] TENANT = tenant_name
例如:
# 查询所有的配置信息 ob> show parameters; ...+-------------------------+-----------+-------+.... ...| name | data_type | value |.... ...+-------------------------+-----------+-------+.... ...| utl_file_open_max | INT | 50 |.... ...| _use_odps_jni_connector | BOOL | True |.... ...| ob_java_connector_path | STRING | |.... ...| ob_java_opts | STRING | |.... ...| ob_java_home | STRING | |.... ...... # 执行模糊查询 ob> show parameters like 'datafile%'; ...+--------------------------+-----------+-------+... ...| name | data_type | value |... ...+--------------------------+-----------+-------+... ...| datafile_disk_percentage | INT | 0 |... ...| datafile_maxsize | CAPACITY | 12G |... ...| datafile_next | CAPACITY | 1G |... ...| datafile_size | CAPACITY | 1G |... ...+--------------------------+-----------+-------+... 4 rows in set (0.015 sec)