6.error-messages-in-obd.md 7.8 KB
Newer Older
F
v1.4.0  
frf12 已提交
1 2 3 4 5 6 7 8 9 10
# 错误码

本文总结了使用 OBD 过程中可能会遇到的相关报错,主要包括以下几个方面。

## 通用报错

### OBD-1000:Configuration conflict x.x.x.x: xxx port is used for x.x.x.x

错误原因:配置文件中存在端口冲突。

R
Rongfeng Fu 已提交
11
解决方法:请您检查配置并进行修改。
F
v1.4.0  
frf12 已提交
12

F
v1.6.0  
frf12 已提交
13
### OBD-1001:x.x.x.x:xxx port is already used
F
v1.4.0  
frf12 已提交
14

F
v1.6.0  
frf12 已提交
15
错误原因:端口已经被占用。
F
v1.4.0  
frf12 已提交
16

R
Rongfeng Fu 已提交
17
解决方法:请您检查配置并更换端口。
F
v1.4.0  
frf12 已提交
18

F
v1.6.0  
frf12 已提交
19
### OBD-1002:Fail to init x.x.x.x path
F
v1.4.0  
frf12 已提交
20

F
v1.6.0  
frf12 已提交
21
错误原因:
F
v1.4.0  
frf12 已提交
22

F
v1.6.0  
frf12 已提交
23 24 25
1. 配置文件中的 user 用户(未填的情况下默认为当前用户)没有对应目录的写权限。
  
2. home_path 不为空
F
v1.4.0  
frf12 已提交
26

F
v1.6.0  
frf12 已提交
27
您可根据报错的具体信息进行判断。
F
v1.4.0  
frf12 已提交
28

F
v1.6.0  
frf12 已提交
29
解决方法:
F
v1.4.0  
frf12 已提交
30

F
v1.6.0  
frf12 已提交
31
对于情况 1,您可通过以下两种方式解决。
F
v1.4.0  
frf12 已提交
32 33 34 35 36 37 38 39 40

- 运行命令添加或修改 user 信息。
  
  ```shell
  obd cluster edit-config <deploy name> 
  ```

- 登陆到目标机器,为当前账号赋予对应目录的写权限。

F
v1.6.0  
frf12 已提交
41 42 43 44 45 46 47
对于情况 2,您也可通过以下两种方式解决。

- 选择其他目录。
  
- 若您确认该目录可以被清空,也可使用 `-f` 选项,OBD 将会使用当前用户去清空该目录。

### OBD-1003:fail to clean x.x.x.x:xxx
F
v1.4.0  
frf12 已提交
48 49 50 51 52 53 54 55 56 57 58 59 60

错误原因:检查配置文件中的 user 用户(未填的情况下默认为当前用户)是否有 home_path 的写权限。

解决方法:您可通过以下两种方式解决。

- 运行命令添加或修改 user 信息。
  
  ```shell
  obd cluster edit-config <deploy name> 
  ```

- 登陆到目标机器,为当前账号赋予对应目录的写权限。

F
v1.6.0  
frf12 已提交
61 62 63 64 65 66
### OBD-1004:Configuration conflict x.x.x.x: xxx is used for x.x.x.x

错误原因:配置文件中存在路径冲突。

解决方法:请您检查配置并进行修改。

F
v1.4.0  
frf12 已提交
67 68 69 70 71 72
### OBD-1005:Some of the servers in the cluster have been stopped

错误原因:后续的操作需要所有的机器的服务全部在线,而当前配置内的部分机器已经停止。

解决方法:您可使用 `obd cluster start <deploy_name> --wop` 无参启动,将全部的服务拉起。

F
v1.6.0  
frf12 已提交
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
### OBD-1006:Failed to connect to xxx

错误原因:

1. OBD 和目标机器之间网络不连通。

2. 对应的组件进程已经退出或者不提供服务。

3. 账号密码不匹配。

解决办法:

对于情况 1,请自行修复网络。

对于情况 2,可尝试再次启动组件,如果依旧启动失败,请参考启动失败的错误进行排查,如 **OBD-2002**

对于情况 3,常见原因是用户直接执行 SQL 命令修改了密码,账号密码与配置文件中存储的不同导致 OBD 连接不到组件。该种情况下有以下两种解决办法。

1. 执行 SQL 命令将密码改回与 OBD 储存的密码一致。

2. 执行 `vi ~/.obd/cluster/<deploy name>/config.yaml` 修改对应的密码使其与组件中实际密码一致。

### OBD-1007:(x.x.x.x) xxx must not be less than xxx (Current value: xxx)

错误原因:ulimits 配置不满足要求。

R
Rongfeng Fu 已提交
99
解决办法:可通过修改 /etc/security/limits.d/ 目录下对应文件和 /etc/security/limits.conf 使其满足要求。
F
v1.6.0  
frf12 已提交
100

F
v1.4.0  
frf12 已提交
101 102 103 104 105 106 107 108 109 110 111 112 113 114
## OceanBase 部署相关报错

### OBD-2000:x.x.x.x not enough memory

错误原因:内存不足。

解决方法:OBD 的启动严格按照 MemAvailable 来计算内存。如果存在可以释放的 cached,您可以先使用以下命令尝试释放。

```shell
echo 3 > /proc/sys/vm/drop_caches
```

如果内存仍然不足请通过 `edit-config` 调整 `memory_limt``system_memory`,通常情况下 `memory_limt/3 ≤ system_memory ≤ memory_limt/2`

R
Rongfeng Fu 已提交
115 116 117
> **注意**
>
> `memory_limt` 不能低于 8G,即您的可用内存必须大于等于 8G。
F
v1.4.0  
frf12 已提交
118 119 120

### OBD-2001:server can not migrate in

R
Rongfeng Fu 已提交
121
错误原因:可用的 unit 数小于 `--unit-num`
F
v1.4.0  
frf12 已提交
122

R
Rongfeng Fu 已提交
123
解决方法:请您修改传入的 `--unit-num`。您可使用以下命令查看当前可用的 unit 数。
F
v1.4.0  
frf12 已提交
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

```sql
select count(*) num from oceanbase.__all_server where status = 'active' and start_service_time > 0
```

### OBD-2002:failed to start x.x.x.x observer

错误原因:出现该报错的原因有很多,常见的原因有以下两种。

- `memory_limit` 小于 8G。

- `system_memory` 太大或太小。通常情况下 `memory_limt/3 ≤ system_memory ≤ memory_limt/2`

解决方法:

- 若排查后发现该报错为上述两条原因造成,根据对应原因进行调整即可;

F
v1.6.0  
frf12 已提交
141
- 若排查后发现不是由上述两条原因引起的报错,您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问,会有专业人员为您解答。
F
v1.4.0  
frf12 已提交
142 143 144 145 146 147 148 149 150 151 152

### OBD-2003:not enough disk space for clog. Use redo_dir to set other disk for clog, or reduce the value of datafile_size

错误原因:磁盘使用率高于使用率要求。

解决方法:请您对磁盘的存储进行调整。

- 若您采用的是自动部署方式,要求磁盘使用率不能高于 72%。
  
- 若您采用的是手动部署的方式,在不更改配置的情况下,要求磁盘使用率不能高于 64%。

R
Rongfeng Fu 已提交
153 154 155
> **注意**
>
> 在 redo_dir 和 data_dir 同盘的情况下,计算磁盘使用率时会算上 datafile 将要占用的空间。
F
v1.4.0  
frf12 已提交
156 157 158 159 160 161 162

### OBD-2004:Invalid: xxx is not a single server configuration item

错误原因:修改的配置项是一个全局配置项,不能对某个 server 单独修改。

解决方法:您可将需修改的配置改放到 global 下。

F
v1.6.0  
frf12 已提交
163
## 测试相关报错
F
v1.4.0  
frf12 已提交
164 165 166 167 168 169 170 171 172 173 174 175 176

### OBD-3000:parse cmd failed

错误原因:mysqltest 初始化文件必须是以 `.sql` 结尾的 sql 文件。

解决方法:请您检查 `--init-sql-files` 的参数是否满足此要求。

### OBD-3001:xxx.sql not found

错误原因:mysqltest 初始化时找不到对应的初始化文件。

解决方法:请您检查 `--init-sql-dir` 目录下是否包含 `--init-sql-files` 声明的文件。

F
v1.6.0  
frf12 已提交
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
### OBD-3002:Failed to load data

错误原因:出现该报错的原因有很多,常见的原因有以下两种。

1. 租户资源不足或者压力过大。

2. 数据构建脚本报错。

解决方法:

对于情况 1,可使用资源规格更大的租户,或者调整 warehouses、load-workers 等参数值以减少构建压力。

对于情况 2,由于数据构建脚本是由 TPC 官网提供,可以先尝试重新执行脚本,如果问题仍然存在请到官网 [问答区](https://ask.oceanbase.com/) 提问,会有专业人员为您解答。

### OBD-3003:Failed to run TPC-C benchmark

错误原因:

1. 测试进程卡死后因为超时被杀死。

2. TPC-C 测试命令返回报错。

解决方法:

- 直接重新测试,或通过调整 terminals 等参数减少测试压力后重新测试。

- 如果没有使用官网提供的 obtpcc 包,请使用 obtpcc 进行测试。

如果上述方法均无法解决问题,请到官网 [问答区](https://ask.oceanbase.com/) 提问,会有专业人员为您解答。

R
Rongfeng Fu 已提交
207
## obagent 相关报错
F
v1.4.0  
frf12 已提交
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231

### OBD-4000:Fail to reload x.x.x.x

错误原因:该节点的 `http_basic_auth_password` 与 OBD 中存储的 `http_basic_auth_password` 不符,导致 OBD 不能正确的访问 obagent。

解决方法:若您确认二者相符,请检查此次修改的选项中是否包含了当前版本不支持的配置项或者配置项名称是否书写错误。

### OBD-4001:Fail to send config file to x.x.x.x

错误原因:出现该报错的原因有两点,请您依次进行检查。

- obagent home_path 磁盘空间是否充足。

- 配置文件中的 user 用户(未填的情况下默认为当前用户)是否拥有 obagent home_path 的写权限。

解决方法:您可通过以下两种方式解决。

- 运行命令添加或修改 user 信息。
  
  ```shell
  obd cluster edit-config <deploy name>
  ```

- 登陆到目标机器,为当前账号赋予对应目录的写权限。