OceanBase Docker 初体验
内存需求
内存10G,OB需要8G,4个逻辑CPU
卸载docker组件
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装docker的工具包
yum install -y yum-utils
创建docker仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装docker
yum install docker-ce docker-ce-cli containerd.io
#报错信息
---> Package docker-compose-plugin.x86_64 0:2.24.7-1.el7 will be installed
--> Finished Dependency Resolution
Error: Package: 3:docker-ce-25.0.4-1.el7.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2:2.74
Error: Package: docker-ce-rootless-extras-25.0.4-1.el7.x86_64 (docker-ce-stable)
Requires: fuse-overlayfs >= 0.7
Error: Package: containerd.io-1.6.28-3.1.el7.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2:2.74
Error: Package: docker-ce-rootless-extras-25.0.4-1.el7.x86_64 (docker-ce-stable)
Requires: slirp4netns >= 0.4
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
#查看linux版本
[root@innodb-cluster01 ~]# uname -r
5.4.17-2102.201.3.el7uek.x86_64
#使用下载rpm并安装
[root@ccl ~]# wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm
[root@ccl ~]# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
#确认docker安装成功
[root@innodb-cluster01 ~]# docker --version
Docker version 17.09.0-ce, build afdb6d4
启动docker
systemctl start docker
搜索ob镜像
docker search oceanbase
拉取最新镜像
docker pull obpilot/oceanbase-ce
启动实例
docker run -p 2881:2881 -p 2883:2883 --name obce -itd -m 10G obpilot/oceanbase-ce:latest
查看进程
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b6317918ab43 obpilot/oceanbase-ce:latest "/bin/bash" 54 seconds ago Up 46 seconds 0.0.0.0:2881->2881/tcp, 3000/tcp, 0.0.0.0:2883->2883/tcp, 9090/tcp obce
可以查看容器启动日志
docker logs -f obce
进入容器
docker exec -it obce bash
获取集群信息
obd cluster list
[admin@b6317918ab43 ~]$ obd cluster list
+------------------------------------------------------------+
| Cluster List |
+--------+---------------------------------+-----------------+
| Name | Configuration Path | Status (Cached) |
+--------+---------------------------------+-----------------+
| obdemo | /home/admin/.obd/cluster/obdemo | deployed |
+--------+---------------------------------+-----------------+
使用odb工具启动集群
# obd cluster start <deploy name> [-s]
[admin@b6317918ab43 ~]$ obd cluster start obdemo
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
[WARN] (127.0.0.1) clog and data use the same disk (/)
Check before start obproxy ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize cluster |
Initialize cluster ok
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize cluster ok
Wait for observer init ok
+---------------------------------------------+
| observer |
+-----------+---------+------+-------+--------+
| ip | version | port | zone | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.0.0.0 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot -prootPWD123 -Doceanbase
+---------------------------------------------+
| obproxy |
+-----------+------+-----------------+--------+
| ip | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884 | active |
+-----------+------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -prootPWD123 -Doceanbase
obdemo running
查看集群状态
obd cluster display obdemo
Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer ok
Wait for observer init ok
+---------------------------------------------+
| observer |
+-----------+---------+------+-------+--------+
| ip | version | port | zone | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.0.0.0 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot -prootPWD123 -Doceanbase
Connect to obproxy ok
+---------------------------------------------+
| obproxy |
+-----------+------+-----------------+--------+
| ip | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884 | active |
+-----------+------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -prootPWD123 -Doceanbase
[admin@b6317918ab43 ~]$
查看集群配置
cat /home/admin/.obd/cluster/obdemo/config.yaml
获取初始密码
[admin@b6317918ab43 ~]$ grep -E "root_password|appname|cluster_name" /home/admin/.obd/cluster/obdemo/config.yaml
# observer cluster name, consistent with obproxy's cluster_name
appname: obdemo
root_password: rootPWD123 # root user password, can be empty
# observer cluster name, consistent with oceanbase-ce's appname. When a depends exists, OBD gets this value from the oceanbase-ce of the depends.
# cluster_name: obcluster
使用客户端进入数据库
[admin@b6317918ab43 ~]$ obclient -P2881 -h127.1 -uroot -p
Enter password:
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487632
Server version: OceanBase_CE 4.0.0.0 (r100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be) (Built Nov 1 2022 14:56:31)
Copyright (c) 2000, 2018, OB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
obclient [(none)]>
查看已有的资源规格
USE oceanbase;
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS;
+----------------+-----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
| UNIT_CONFIG_ID | NAME | CREATE_TIME | MODIFY_TIME | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
+----------------+-----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
| 1 | sys_unit_config | 2024-03-08 11:16:11.941333 | 2024-03-08 11:16:11.941333 | 1 | 1 | 2147483648 | 2147483648 | 10000 | 10000 | 1 |
+----------------+-----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
1 row in set (0.002 sec)
创建资源规格
CREATE RESOURCE UNIT S1_unit_config
MEMORY_SIZE = '3G',
MAX_CPU = 1, MIN_CPU = 1,
LOG_DISK_SIZE = '2G',
MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1;
查看资源池信息
USE oceanbase;
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
| RESOURCE_POOL_ID | NAME | TENANT_ID | CREATE_TIME | MODIFY_TIME | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE |
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
| 1 | sys_pool | 1 | 2024-03-08 11:16:12.008158 | 2024-03-08 11:16:12.032219 | 1 | 1 | zone1 | FULL |
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
1 row in set (0.003 sec)
创建资源池
CREATE RESOURCE POOL mq_pool_01
UNIT='S1_unit_config',
UNIT_NUM=1;
查看租户信息
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_TENANTS;
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------+-------------------+--------------------+--------+---------------+--------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME | MODIFY_TIME | PRIMARY_ZONE | LOCALITY | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------+-------------------+--------------------+--------+---------------+--------+
| 1 | sys | SYS | 2024-03-08 11:16:12.047096 | 2024-03-08 11:16:12.047096 | RANDOM | FULL{1}@zone1 | NULL | MYSQL | NORMAL | NO | NO |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------+-------------------+--------------------+--------+---------------+--------+
1 row in set (0.003 sec)
创建租户
obclient [oceanbase]> CREATE TENANT IF NOT EXISTS mq_t1
-> PRIMARY_ZONE='zone1',
-> RESOURCE_POOL_LIST=('mq_pool_01')
-> set OB_TCP_INVITED_NODES='%';
Query OK, 0 rows affected (17.005 sec)
使用新租户进入数据库
[admin@b6317918ab43 ~]$ obclient -P2881 -h127.1 -uroot@mq_t1 -A
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487639
Server version: OceanBase_CE 4.0.0.0 (r100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be) (Built Nov 1 2022 14:56:31)
Copyright (c) 2000, 2018, OB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
obclient [(none)]>
创建数据库
obclient [(none)]> create database db1;
Query OK, 1 row affected (0.137 sec)
创建表
obclient [db1]> create table t1(co1 int,co2 int);
Query OK, 0 rows affected (0.204 sec)
- 使用yum安装docker时遇到问题,改使用rpm安装解决.
- 参考文档:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000507934
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000507531
OceanBase Docker 初体验的更多相关文章
- Docker初体验
## Docker初体验 安装 因为我用的是mac,所以安装很简单,下载dmg下来之后拖拽安装即可完成. 需要注意的就是由于之前的docker是基于linux开发,不支持mac,所以就出现了docke ...
- 2.Docker初体验【Docker每天5分钟】
原文:2.Docker初体验[Docker每天5分钟] Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制.该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和 ...
- Docker深入浅出系列教程——Docker初体验
我是张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐.我喜欢把玩代码,琢磨词句!代码算法让我穿透规律,文章摘句让我洞察人情.如果你觉得和我的看法不一样,请关注我的头条号,那我们一定合得来. Do ...
- Docker学习系列(二)Docker初体验
一.系统要求 Docker的安装,需要在CentOS 7.0+版本,内核至少3.10,64-bit uname --r [randy@randysun ~]$ uname --r -.el7.x86_ ...
- docker初体验,搭建自用的gitlab服务
一.前言 git在如日中天的版本管理系统,现在如果不是工作在git版本管理系统下,几乎都不好意思给人打招呼.现在就有现成的互联网的git服务器提供给大家使用,例如号称程序的社交网络github. 正好 ...
- docker初体验:Docker部署SpringCloud项目eureka-server
Docker部署SpringCloud项目eureka-server 1 创建eureka-server工程 创建父工程cloud-demo,其pom.xml如下: <?xml version= ...
- Docker深入浅出系列 | 容器初体验
目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...
- 【docker Elasticsearch】Rest风格的分布式开源搜索和分析引擎Elasticsearch初体验
概述: Elasticsearch 是一个分布式.可扩展.实时的搜索与数据分析引擎. 它能从项目一开始就赋予你的数据以搜索.分析和探索的能力,这是通常没有预料到的. 它存在还因为原始数据如果只是躺在磁 ...
- Spring boot集成Rabbit MQ使用初体验
Spring boot集成Rabbit MQ使用初体验 1.rabbit mq基本特性 首先介绍一下rabbitMQ的几个特性 Asynchronous Messaging Supports mult ...
- kubeadm搭建K8s集群及Pod初体验
基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 ...
随机推荐
- 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等
1.引用Spire.Barcode 在Nuget包中安装Spire.Barcode 2.生成条形码 //创建 BarcodeSettings对象 BarcodeSettings settings = ...
- 使用七牛云上传文件报错incorrect region, please use up-z1.qiniup.com-迷恋自留地
最近用Git提交代码时,一直报如标题所示的错误.百度了很多都无法解决,包括改更改配置,SSh等.最后在一个论坛上,说可能之前输入的账号或密码有误.尝试后,完美解决. 解决方法: 找到如下图的位置: 可 ...
- IO介绍-下
中断 由外部设备引起的中断,称为外中断. 由内部错误引起的中断,称为内中断,或者是陷入.例如:非法指令,地址越界,电源故障等. 中断向量表 中断优先级 多中断源的处理方式 屏蔽中断 嵌套中断 根据 ...
- Vue-Router 面试题 (2023-09-13更新)
路由导航守卫 和 Vue 实例生成周期钩子函数的执行顺序? 路由导航守卫 都是在 Vue 实例生命周期钩子函数 之前执行的 Vue-Router 有哪几种导航钩子? 1. 全局守卫 全局前置守卫:be ...
- JWT相关知识点
目录 一.jwt介绍和原理 概念 构成与工作原理 1.header 2.payload 3.signature 本质原理 jwt认证算法:签发与校验 签发:根据登录请求提交来的 账号 + 密码 + 设 ...
- Android7 以上https抓包(无需root)- virtualXposed + justTrustMe
参考资料: https://www.cnblogs.com/boycelee/p/13418371.html 1. virtualXposed下载地址 https://github.com/andro ...
- Maven 插件 git-commit-id-plugin,打包包含提交信息
Maven打包发布版本可能会遇到自己的提交不起作用的情况,排查比较困难,可能需要拉下服务器上包,反编译查看是否包含自己的提交记录.如果使用的是GIT作为SCM,可以使用 git-commit-id-p ...
- Spring Boot中通过RabbitTemplate主动pull(get)消息的例子
import java.util.Properties; import java.util.function.Consumer; import org.slf4j.Logger; import org ...
- 龙哥量化:期货交易软件:文华、博易大师闪电手、快期,同花顺期货通,金字塔,MC,MT5,TB交易开拓者横向对比分析
如果您需要代写公式, 请联系我. 龙哥QQ:591438821 龙哥微信:Long622889 此文档做对比分析, 我有空后给详细分析
- 鸿蒙OS开发秘籍:打造优雅的登录状态管理系统
一.前言 在鸿蒙OS开发过程中,随着应用规模的扩大,登录状态管理逐渐成为系统设计中的一个挑战.一个清晰.高效的登录状态管理系统不仅可以简化开发流程,还能提升用户体验.本文将分享一种优雅的登录状态管理设 ...