OceanBase—02(入门篇——使用obd安装OceanBase的几种方式)
- 1. 一键部署
-
- 1.1 下载并安装 all-in-one 安装包
- 1.2 单机部署 OceanBase 数据库
-
- 1.2.1 部署命令
- 1.3 使用 OBClient 客户端连接 OceanBase 数据库
-
- 1.3.1 两种连接方式
- 1.3.2 遇到的问题
-
- 1.3.2.1 通过obproxy连接不上
-
- 1.3.2.1.1 问题描述
- 1.3.2.1.2 排查问题
- 1.3.2.1.3 解决问题
- 2. 使用白屏部署 OceanBase 集群环境
-
- 2.0 前提
- 2.1 下载并安装 all-in-one 安装包
- 2.2 使用白屏部署 OceanBase 数据库
-
- 2.2.1 启动白屏界面
-
- 2.2.1.1 启动命令
- 2.2.1.2 启动遇到的问题
- 2.2.2 访问白屏界面
- 2.2.3 进入白屏开始部署
-
- 2.2.3.1 修改集群名,选择部署类型
- 2.2.3.2 配置节点
- 2.2.3.3 集群配置
- 2.2.3.4 预检查
-
- 2.2.3.4.1 预检查页面
- 2.2.3.4.2 预检查报错信息以及处理
- 2.2.3.4.3 重新预检查
- 2.2.3.5 部署
-
- 2.2.3.5.1 等待部署的过程
- 2.2.3.5.2 部署的结果
- 2.2.3.5.3 部署失败原因
- 2.2.3.6 挨个处理OBD错误码
-
- 错误码1:OBD-1011
- 错误码2:OBD-1012
- 错误码3:OBD-1007
- 错误码4:OBD-2000:x.x.x.x not enough memory
- 2.2.3.7 重新部署
-
- 2.2.3.7.1 部署过程错误提示
- 2.2.3.7.2 问题
- 2.3 关于白屏部署问题跟踪
- 3. 体验使用docker部署
- 4. 附 obd 常用命令
- 5. 常见操作
-
- 5.1 查看obd日志
1. 一键部署
1.1 下载并安装 all-in-one 安装包
- 如下:
tar -zxvf ./soft/oceanbase-all-in-one-4.1.0.1-100120230616095544.el7.x86_64.tar.gz cd oceanbase-all-in-one/bin ./install.sh source env.sh
1.2 单机部署 OceanBase 数据库
1.2.1 部署命令
- 如下:
obd demo
1.3 使用 OBClient 客户端连接 OceanBase 数据库
1.3.1 两种连接方式
- 方式1: 直连observer
obclient -h127.0.0.1 -P2881 -uroot@sys -Doceanbase -A
- 方式2: 通过obproxy连接
注意连接前,确保 obproxy 已经启动,如果没有需要先启动,详细看《1.3.2.1 通过obproxy连接不上》obclient -h127.0.0.1 -P2883 -uroot@sys -Doceanbase -A --proxy-mode
1.3.2 遇到的问题
1.3.2.1 通过obproxy连接不上
1.3.2.1.1 问题描述
- 如下:
ERROR 2002 (HY000): Can't connect to OceanBase server on '127.0.0.1' (115)
1.3.2.1.2 排查问题
-
如下:
netstat -na|grep 2883 obd cluster list
由此可见,obproxy并没有启动!!!
1.3.2.1.3 解决问题
- 进入安装目录,启动 obproxy 即可,如下:
# 这里的-c指集群ID,与启动observer 的保持一致即可 ./obproxy -r "127.0.0.1:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false" -c 1
2. 使用白屏部署 OceanBase 集群环境
2.0 前提
- 安装JKD1.8,在线安装命令如下:
sudo yum install java-1.8.0-openjdk
2.1 下载并安装 all-in-one 安装包
- 这个不介绍了,同上,接下来的操作,我就是在上面都完成的基础上操作的
2.2 使用白屏部署 OceanBase 数据库
2.2.1 启动白屏界面
2.2.1.1 启动命令
- 如下命令:
obd web
2.2.1.2 启动遇到的问题
- 如下:
[ERROR] Running Error: [Errno -2] Name or service not known
- 问题原因:
cat /etc/hostname 与 cat /etc/hosts 中的hostname不一样,修改一样即可
-
解决问题,如下:
2.2.2 访问白屏界面
-
输入
ip:8680
即可,如下:
-
如果要修改访问端口,用如下命令:
备注:如果没必要的话,端口可以不修改,因为修改要等几分钟!!!obd web -p PORT>
2.2.3 进入白屏开始部署
2.2.3.1 修改集群名,选择部署类型
- 如下:
2.2.3.2 配置节点
- 如下:
2.2.3.3 集群配置
- 如下:
2.2.3.4 预检查
2.2.3.4.1 预检查页面
- 如下:
2.2.3.4.2 预检查报错信息以及处理
-
如果有失败,根据提示处理一下即可
-
把对应的问题,处理一下重新检查
2.2.3.4.3 重新预检查
- 处理完问题,之后,重新执行预检查,如下:
2.2.3.5 部署
2.2.3.5.1 等待部署的过程
-
直接点击
部署
,然后耐心等待……
-
还真有点费劲的,会报各种内存问题,可以参考官网去解决
OBD错误码以及解决方案. -
应该把
obd demo
部署的那个停了就能凑合了,我这里不想弄那些东西了,那个内存小了些,各种问题,换了台服务器,继续等……
2.2.3.5.2 部署的结果
- 部署结果
哦,等了很久,等到了这个结果,行吧,再看问题吧
2.2.3.5.3 部署失败原因
- 数据库初始化一直失败,搞不明白,重装还是失败,执行命令启动也是失败,后台启动:
obd cluster start susuob -S
- 可能是内存,可能是别的,各种问题,哎实在不想调……
2.2.3.6 挨个处理OBD错误码
- 根据部署过程的提示,尝试处理一个错误码的问题
错误码1:OBD-1011
- 看官网提供的解决方案:
echo 1048576 > /proc/sys/fs/aio-max-nr
- 按官方处理如下:
错误码2:OBD-1012
- 官方解决方案:这个就……自己看吧
- 自己处理方法:
创建这个目录(备注:并且这个目录一定要是空的,store这一层去掉):mkdir -p /home/admin/susuob/oceanbase/
错误码3:OBD-1007
-
官方建议如下,如下:
OBD-1007:(x.x.x.x) xxx must not be less than xxx (Current value: xxx)
错误原因:ulimits 配置不满足要求。解决方法:可通过修改
/etc/security/limits.d/
目录下对应文件和/etc/security/limits.conf
使其满足要求。
-
按官方处理
-
/etc/security/limits.d/
目录下的,修改前后的配置文件如下:
-
/etc/security/limits.conf
目录下的,修改前后的配置文件如下:
那个100002 也要修改
-
错误码4:OBD-2000:x.x.x.x not enough memory
- 解决办法:
echo 3 > /proc/sys/vm/drop_caches
2.2.3.7 重新部署
2.2.3.7.1 部署过程错误提示
- 好吧,那个100002 也要修改,怎么就不能一次提示完呢,哎
问题是1012这个是啥呀?????再说吧再说吧……正在部署,看看能不能成功再说,哎……
再试最后一次……
2.2.3.7.2 问题
- 虽然又部署失败了,但是能连接了,但是……
这种方式不知道怎么部署成功,版本还都是最新的,好了,先放这吧,以后再说这个全自动化部署集群的,累了累了,先这样……
2.3 关于白屏部署问题跟踪
- 问题跟踪,已在官网提了帖子,请到下面连接看贴吧
使用白屏部署 OceanBase 数据库时间太长,最后一步部署失败.
3. 体验使用docker部署
- 看上一篇文章吧:
OceanBase—01(入门篇——使用docker安装OceanBase以及介绍连接OB的几种方式).
4. 附 obd 常用命令
- 如下:
obd cluster list obd cluster stop demo # 卸载集群(destory),先stop # 你当前集群状态不是running 是deployed状态 如果不加-f 已经部署起来的组件 清理不掉 obd cluster destory {deployname} -f # 卸载集群 记得加-f 记得加-f 记得加-f
5. 常见操作
5.1 查看obd日志
- 如下:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
Ordinal NFT 于 2023 年 1 月 20 日由开发者 Casey Rodarmor 在 BTC 主网上推出,它是在 BTC上 创建 NFT 的最新方式。虽然 BTC 上的 NFT 并不是一个新概念,BTC 之上的第 2 层网络(例如 Counte…