【原创】使用Docker试用OceanBase Cloud Platform(OCP)

周辰沛
2023-12-01

本文基于CentOS 8 的docker来安装OceanBase Cloud Platform。
在安装之前需要准备好OceanBase数据库。

安装docker

使用root运行如下命令,安装docker,启动docker,启动docker,安装网络工具,安装mysql客户端。

yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable docker
systemctl start docker
yum install -y net-tools
yum install -y mysql

下载ocp 的docker镜像

此镜像,并未发布到dockerhub上,需要到官方服务器下载

https://obweb-download-center.oss-cn-beijing.aliyuncs.com/ocp-3.1.1-ce.tar.gz?versionId=CAEQGBiBgICFg.G.8BciIGVlMTA2NjBjNDYxMjRlM2Q5MjNiMzRlNjYzZTNkMDE1

创建安装配置

下载完毕后,将该软件包复制到root的目录下,再进行解压

tar xzvf ocp-3.1.1-ce.tar.gz
cd ocp-3.1.1-ce
#创建配置文件ocp.yaml
./ocp_installer.sh genconf -c ocp.yaml

修改配置文件ocp.yaml

vi ocp.yaml

#填写 OCP 宿主机的 IP 地址
OCP_IP_ARRAY=(192.168.240.21)     # (IP1 IP2 IP3)
#安装 OCP 使用的用户,默认为 root
SSH_USER=root    # if not root, make sure remote user can use sudo without password    admin   ALL=(ALL)   NOPASSWD:ALL
SSH_PORT=22
SSH_AUTH=password     # can be password or pubkey
#宿主机 root 用户的密码
SSH_PASSWORD='rootPASSword'     # password for passowrd auth, when use pubkey auth, is passphrase
SSH_KEY_FILE='/root/.ssh/id_rsa.pub'   # pubkey auth
#MetaDB 所在主机。与 部署 OceanBase 数据库 中 mini-single-example.yaml 文件中 servers 的值保持一致。
OCP_METADB_HOST=192.168.240.21
#MetaDB 的端口号,与 部署 OceanBase 数据库 中 mini-single-example.yaml 文件中 mysql_port 的值保持一致。
OCP_METADB_PORT=2881
# 创建租户 时创建的 MetaDB 的用户,为 ocp@ocp_meta
OCP_METADB_USER=root@sys
# 创建租户 时设置的 ocp@ocp_meta 的密码
OCP_METADB_PASSWORD='rootPWD123'   # password may contains special char, make sure correctly quote
#MetaDB 的数据库名
OCP_METADB_DBNAME=ocp
# 创建租户 时创建的 MonitorDB 的用户,为 ocp@ocp_monitor。
OCP_MONITORDB_USER=root@sys
# 创建租户 时设置的 ocp@ocp_monitor 的密码
OCP_MONITORDB_PASSWORD='rootPWD123'    # password may contains special char, make sure correctly quote
#MonitorDB 的数据库名
OCP_MONITORDB_DBNAME=ocp_monitor
OCP_WEB_PORT=8080

OCP_LB_VIP=       # HA OCP VIP
OCP_LB_VPORT=     # HA OCP VPORT
#OCP 镜像的路径,请根据 前提条件 中上传镜像的实际位置进行配置
OCP_IMAGE=/root/ocp-3.1.1-ce/ocp.tar.gz  # absoulute path of ocp image file
#这里修改为4
OCP_CPU=4
#这里修改为5
OCP_MEMORY=5G
OCP_LOG_DIR=/data/ocp_logs

执行如下命令安装社区版 OCP

./ocp_installer.sh install -c ocp.yaml

验证 OCP 容器状态

docker stats ocp
docker exec -it ocp bash
pgrep -a java

验证结果

[root@ob00 admin]# pgrep -a java
39 /usr/lib/jvm/java-1.8.0/bin/java -server -XX:+UseG1GC -Xms3584m -Xmx3584m -Xss512k -XX:+PrintCommandLineFlags -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/admin/ocp-server/bin/../log/gc.log -XX:+UseGCLogFileRotation -XX:GCLogFileSize=50M -XX:NumberOfGCLogFiles=2 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/ocp-server/bin/../log/ -Dfile.encoding=UTF-8 -jar /home/admin/ocp-server/bin/../lib/ocp-server-3.1.1-20210916.jar

启动正常。

验证 OCP 登录

http://192.168.240.21:8080/login
在显示的登录页面,输入 OCP 的用户名(admin)和密码(root)

验证 OCP 版本

curl --user admin:root http://192.168.240.21:8080/api/v2/info

输出信息

[root@ob00 ocp-3.1.1-ce]# curl --user admin:root http://192.168.240.21:8080/api/v2/info
{
"artifact":"ocp-server",
"buildVersion":"3.1.1-20210916",
"buildJavaVersion":"1.8",
"buildTime":"2021-12-30T17:58:15.968+08:00",
"name":"ocp-server",
"springBootVersion":"2.2.5.RELEASE",
"group":"com.oceanbase"}

验证时间

curl 'http://<OCP_HOST>:<OCP_PORT>/api/v2/time'

输出结果

[root@ob00 ocp-3.1.1-ce]# curl  http://192.168.240.21:8080/api/v2/time
"2022-03-17T09:59:35.06+08:00"
 类似资料: