翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群

2024年 5月 7日 49.2k 0

作者简介:罗呈祥,数据库管理员。

OceanBase-ce cluster

在某些情况下,没有 root 用户密码,或者说老机器复用。可以部署在机器上的 docker 里。

0. 机器准备

本人测试时准备了三台机器,安装docker-ce

yum -y install docker-ce

注意事项:

root 用户密码 :admin

admin用户密码: admin

1. 从dockerhub pull下来

zibuyu886是本人dockerhub的账户,是在原有centos7

docker 镜像中部署的oceanbase-ce。参考另一篇文章: 部署OceanBase-ce

当然也可以使用官方提供的镜像

docker pull zibuyu886/oceanbase-ce-cluster

2. run 起来

docker run -dit --net=host --privileged=true --name obce01 docker.io/zibuyu886/oceanbase-ce-cluster:latest /usr/sbin/init

参考文章:

https://www.cnblogs.com/lph970417/p/14754072.html

/usr/sbin/init 启动容器之后可以使用systemctl方法

-privileged=true 获取宿主机root权限(特殊权限-)

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。

如果不添加 --privileged=true 可能会因为权限问题无法启动sshd服务。

在三台机器上都要run起来。

docker run -dit --net=host --privileged=true --name obce02 docker.io/zibuyu886/oceanbase-ce-cluster:latest /usr/sbin/init
docker run -dit --net=host --privileged=true --name obce03 docker.io/zibuyu886/oceanbase-ce-cluster:latest /usr/sbin/init

3. 修改配置文件

进入docker

docker exec -it obce01 bash

配置文件在/etc/oceanbase-ce-cluster.yaml中,可以查看和修改配置。

注意修改ip地址和对应的几个密码,还有data目录要创建出来

 mkdir -p /data/data
 mkdir -p /data/redo

4. 开始deploy

-c 指定配置文件

-v 显示部署步骤的详细信息

obd cluster deploy obcluster -c /etc/oceanbase-ce-cluser.yaml -v

5. start ob service

obd cluster start obcluster

6. 使用obclient连接数据库

obclient -h127.0.0.1 -P 2883 -uroot@sys#obcluster -p'your password' -Doceanbase -A

7. 使用OBD快速部署obagent

由于之前已经部署了一套ob集群了,现在只部署obagent。

从github上下载配置文件:

https://github.com/oceanbase/obdeploy/blob/master/example/obagent

修改配置文件相关参数,尤其注意home_path的配置,不能与observer和obproxy重复。

用户名密码monitor_usermonitor_password要根据情况修改。

# -c 指定配置文件, -v 输出过程详细信息
obd cluster deploy obagent -c /etc/obagent.yaml -v

可以看到最后通过 curl 来检查obagent是否部署成功。

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-1

最后检查一下集群状态:

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-2

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-3

8. 使用-OB-ODC连接OceanBase数据库与模拟数据功能使用

8.1 了解OceanBase开发者中心-ODC

官方网站:OceanBase开发者中心

官方支持客户端版本和web版本,功能强大,使用方便,web版本部署在docker里,也很友好。

8.2 下载ODC和java程序

环境和要求:

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-4

客户端版ODC下载地址:客户端版ODC

JDK可以从Oracle官方网站下载:Oracle-jdk-8u311

运行安装,可以选择安装到指定文件夹,也可以直接安装到默认目录:

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-5

8.3. 配置环境变量java_home

Windows 电脑环境:

(1)右键此电脑,选择属性。

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-6

(2)选择高级系统设置

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-7

(3)选择环境变量

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-8

(4)选择新建,在变量中添加JAVA_HOME,值填写安装的目录

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-9

(5)选中变量名"Path",选择编辑,新增一行%JAVA_HOME%\bin

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-10

(6)命令行输入java -vsersion,如果能显示出正确的java version 表示安装成功

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-11

8.4 安装ODC

直接运行,一直下一步到完成即可。

8.5 使用ob-odc连接数据库

(1)打开ODC程序,选择新建连接

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-12

(2)如果有连接串的话,可以使用智能解析,非常方便

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-13

如果需要查询sys租户的视图,需要填写sys租户root用户的账户密码。

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-14

测试连接,成功即可。

可以选择数据库:

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-15

8.6 模拟数据功能

上边使用的是sys租户登录的,可以切换成普通租户登录。查看tenant name select * from __all_tenant;

登录普通租户,与上边方法一样,不做过多解释。

使用odc创建一张表,也可以使用SQL语句建表:

create table `t1` (`id` int not null auto_increment, `name` varchar(20) not null, `age` int, `hometown` varchar(128), primary key(`id`)) character set utf8mb4 collate utf8mb4_general_ci;
create unique index idx_id on t1(`id`) local;

右键新建的表:选择模拟数据

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-16

ODC支持正则表达式的方式模拟数据:正则表达式的语法 自行百度。。

模拟一万条数据:

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-17

可以选择是否清空原有数据等。

OceanBase社区版入门到实战教程直播正在进行中~

快和小伙伴一起进群交流学习吧~

加入直播群方式一:

钉钉群号3255 4020

加入直播群方式二:

扫码下方二维码加入

翼鸥教育实践:使用 OBD 部署三副本 OceanBase 集群-18

相关文章

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

发布评论