本文基于CentOS 8 的docker来安装OceanBase Cloud Platform。
在安装之前需要准备好OceanBase数据库。
使用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
此镜像,并未发布到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
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_installer.sh install -c ocp.yaml
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
启动正常。
http://192.168.240.21:8080/login
在显示的登录页面,输入 OCP 的用户名(admin)和密码(root)
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"