机器环境初始化问题
ulimit
设置不生效
- 现象
ulimit -a
...
stack size (kbytes, -s) 1024
...
ulimit
设置不生效此时,使用 admin 用户通过 ulimit -s 命令修改栈大小,操作系统报错 cannot modify limit: Operation not permitted
。
ulimit
问题设置不对,可能导致进程 OBSERVER 无法启动。
- 原因
admin 用户 ulimit 配置未生效的原因可能是由于操作系统关闭了 PAM,PAM 用于限制登录用户的 ulimit 配置,如果不开启 PAM,则会使用 SSHD 的默认值(即 1024)。
- 解决办法
修改 SSHD 配置文件 sshd_config
,取消对 UsePAM yes
的注释。
sudo vim /etc/ssh/sshd_config UsePAM yes
重启 SSHD 服务。
sudo systemctl restart sshd
再次修改 ulimit.conf
文件
vim /etc/security/limits.conf * soft nofile 655360 * hard nofile 655360 * soft nproc 655360 * hard nproc 655360 * soft core unlimited * hard core unlimited * soft stack unlimited * hard stack unlimited
重新登录检查实际值,用命令:ulimit -a
。
OBD 部署问题
目录非空
- 现象
Initializes cluster work home x
[ERROR] fail to init zone1(172.20.249.53) data path: /data is not empty
- 原因
CentOS 8.0 刚初始化的文件系统里目录里会有一个默认文件夹 lost+found
。
- 解决办法
清空刚建的文件系统目录。
sudo /bin/rm -rf /data/* /redo/*
其他通用报错
- 现象
obd
命令出错。
- 原因
查看 obd
命令日志。
vim ~/.obd/log/obd + R
- 解决办法
根据错误描述去解决。
OBSERVER 启动失败
找不到共享库
- 现象
手动启动进程 OBSERVER ,提示 共享库找不到。
[admin@obce02 ~]$ cd oceanbase-ce/ [admin@obce02 oceanbase-ce]$ bin/observer bin/observer: error while loading shared libraries: libmariadb.so.3: cannot open shared object file: No such file or directory
- 原因
没有将 OceanBase 的 LIB 加到环境变量 LD_LIBRARY_PATH
里。
LIB 目录如下:
[admin@obce02 ~]$ tree oceanbase-ce/ oceanbase-ce/ ├── admin ├── bin │ └── observer -> /home/admin/.obd/repository/oceanbase-ce/3.1.0/84bd2fe27f8b8243cc57d8a3f68b4c50f94aab80/bin/observer <....> ├── lib │ ├── libaio.so -> /home/admin/.obd/repository/oceanbase-ce/3.1.0/84bd2fe27f8b8243cc57d8a3f68b4c50f94aab80/lib/libaio.so │ ├── libaio.so.1 -> /home/admin/.obd/repository/oceanbase-ce/3.1.0/84bd2fe27f8b8243cc57d8a3f68b4c50f94aab80/lib/libaio.so.1 │ ├── libaio.so.1.0.1 -> /home/admin/.obd/repository/oceanbase-ce/3.1.0/84bd2fe27f8b8243cc57d8a3f68b4c50f94aab80/lib/libaio.so.1.0.1 │ ├── libmariadb.so -> /home/admin/.obd/repository/oceanbase-ce/3.1.0/84bd2fe27f8b8243cc57d8a3f68b4c50f94aab80/lib/libmariadb.so │ └── libmariadb.so.3 -> /home/admin/.obd/repository/oceanbase-ce/3.1.0/84bd2fe27f8b8243cc57d8a3f68b4c50f94aab80/lib/libmariadb.so.3
- 解决办法
将 OceanBase 的 LIB 加到环境变量 LD_LIBRARY_PATH
里。也可以写到 .bash_profile
中。
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase-ce/lib/' >> ~/.bash_profile export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase-ce/lib/
附录:
- 第二章 2.1 OceanBase 部署准备
- 第二章 2.2 如何快速体验 OceanBase
- 第二章 2.3 如何规划部署 OceanBase 集群
- 第二章 2.4 如何初始化服务器环境
- 第二章 2.5 安装 OBD 自动化部署软件
- 第二章 2.6 使用 OBD 自动化部署单节点集群
- 第二章 2.7 使用OBD自动化部署多节点集群
- 第二章 2.8 参看和修改 OceanBase 参数集群
- 第二章 2.9 如何部署 OBAgent
- 第二章 2.10 如何重启 OceanBase 集群
- 第二章 2.11(高级)如何手动部署 OceanBase 集群
- 第二章 2.12 常见问题
- 第二章 2.13 附录
结束语
OceanBase社区版入门到实战教程直播正在进行中~
快和小伙伴一起进群交流学习吧~
加入直播群方式一:
钉钉群号3255 4020
加入直播群方式二:
扫码下方二维码加入