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。
- 日志文件目录
log目录是存放运行日志的目录,里面包含了observer日志、RS日志和选举日志。单个日志文件大小为256M。视频讲解如下:
- 数据文件目录
store是数据文件目录,包含了clog、slog、sstable这3个子目录。其中clog、slog是事务日志目录,slog存储静态数据写入的事务日志,clog存储动态数据写入的事务日志。sstable是基线数据目录。sstable目录下会有一个block_file,这个文件在OBServer节点启动后就会被创建。如下所示:
[root@node11 ~]# tree observer/store -L 2 observer/store ├── clog -> /root/redo/clog # 动态数据写入的事务日志 ├── slog # 静态数据写入的事务日志 │ ├── server │ ├── tenant_1 │ ├── tenant_1013 │ └── tenant_1014 └── sstable # 基线数据目录 └── block_file 7 directories, 1 file