内存需求

内存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)

OceanBase Docker 初体验的更多相关文章

  1. Docker初体验

    ## Docker初体验 安装 因为我用的是mac,所以安装很简单,下载dmg下来之后拖拽安装即可完成. 需要注意的就是由于之前的docker是基于linux开发,不支持mac,所以就出现了docke ...

  2. 2.Docker初体验【Docker每天5分钟】

    原文:2.Docker初体验[Docker每天5分钟] Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制.该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和 ...

  3. Docker深入浅出系列教程——Docker初体验

    我是张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐.我喜欢把玩代码,琢磨词句!代码算法让我穿透规律,文章摘句让我洞察人情.如果你觉得和我的看法不一样,请关注我的头条号,那我们一定合得来. Do ...

  4. Docker学习系列(二)Docker初体验

    一.系统要求 Docker的安装,需要在CentOS 7.0+版本,内核至少3.10,64-bit uname --r [randy@randysun ~]$ uname --r -.el7.x86_ ...

  5. docker初体验,搭建自用的gitlab服务

    一.前言 git在如日中天的版本管理系统,现在如果不是工作在git版本管理系统下,几乎都不好意思给人打招呼.现在就有现成的互联网的git服务器提供给大家使用,例如号称程序的社交网络github. 正好 ...

  6. docker初体验:Docker部署SpringCloud项目eureka-server

    Docker部署SpringCloud项目eureka-server 1 创建eureka-server工程 创建父工程cloud-demo,其pom.xml如下: <?xml version= ...

  7. Docker深入浅出系列 | 容器初体验

    目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...

  8. 【docker Elasticsearch】Rest风格的分布式开源搜索和分析引擎Elasticsearch初体验

    概述: Elasticsearch 是一个分布式.可扩展.实时的搜索与数据分析引擎. 它能从项目一开始就赋予你的数据以搜索.分析和探索的能力,这是通常没有预料到的. 它存在还因为原始数据如果只是躺在磁 ...

  9. Spring boot集成Rabbit MQ使用初体验

    Spring boot集成Rabbit MQ使用初体验 1.rabbit mq基本特性 首先介绍一下rabbitMQ的几个特性 Asynchronous Messaging Supports mult ...

  10. kubeadm搭建K8s集群及Pod初体验

    基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 ...

随机推荐

  1. AtCoder Beginner Contest 296

    Transition Game 给定序列\(a\),\(1<=a_i<=n\),一场游戏有\(n\)个回合,第\(i\)回合时,第一个人先指定一个任意数\(k\),第二个人任意选定一个\( ...

  2. Java 动态设置 JVM 参数的方法

    Java虚拟机(JVM)在运行Java应用时,其性能调优和资源管理至关重要.虽然许多JVM参数在启动时通过命令行设置,但在应用运行期间动态调整某些参数也是可行的.通过动态设置JVM参数,开发者可以更有 ...

  3. StarBlog博客Vue前端开发笔记:(1)准备篇

    前言 之前在[基于.NetCore 开发博客项目 StarBlog - (32) 第一期完结]里说到 StarBlog 的 Vue 前端系列已经写好了 本来打算后面再发的,不过最近有点懒没去写新的文章 ...

  4. Asp.net MVC,屏蔽类属性

    将一个类序列化成JSON或XML时,如果某个字段或属性不想被序列化,一般可以使用以下注解: 1.[Newtonsoft.Json.JsonIgnore]特性:使用Newtonsoft.Json序列化时 ...

  5. MAC清理

    今日分享 Mac清理 有很多三方软件可以清理,以前用过腾讯的柠檬lite,每次就清个几百兆,系统数据感觉还是得自己手动清理才行 今天电脑又在提醒储存空间不足了,一看占用发现系统数据占了100多个G,学 ...

  6. cocos2d 的故事

    https://en.wikipedia.org/wiki/Cocos2d The history of Cocos2d in a glimpse – RETRO.MOE http://los-coc ...

  7. Ubuntu 下安装oh-my-zsh

    Ubuntu系统默认状况下的终端样式如下: Ubuntu default terminal's style 有个知名的神奇:Oh-My-Zsh 可以让终端及美观又实用: Oh-My-Zsh agnos ...

  8. Qt音视频开发19-海康sdk录像存储

    一.前言 关于调用海康sdk来进行录像存储,整体的框架架构处理流程沿袭了之前vlc内核.ffmpeg内核.mpv内核的做法,定时存储这块,开个定时器判断,到了时间则先关闭原来的录像存储,然后在开始一个 ...

  9. TypeScript学习(一) - 一些基本的数据类型

    1. 数据类型 1.1 原始数据类型 boolean number string null undefiend Array Map Tuple 1.2 特殊类型 任意值类型(any) 联合类型 1. ...

  10. linux输出文件名及全路径

    有时候需要输出一个文件夹下的文件名及所以绝对路径,在网上找到是这个命令 ls | sed "s:^:`pwd`/:" 看命令不难理解,先是ls列出所有文件名,再使用管道符进行后续操 ...