实战教程第二章2.12:常见问题

2024年 5月 7日 64.1k 0

机器环境初始化问题

ulimit 设置不生效

  • 现象
ulimit -a
...
stack size              (kbytes, -s) 1024
...

此时,使用 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

加入直播群方式二:

扫码下方二维码加入

实战教程第二章2.12:常见问题-1

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论