• OB入门到实践1Docker上运行Oceanbase


    实践练习一:OceanBase Docker 体验

    练习内容

    1. (必选)下载Docker 镜像:https://hub.docker.com/repository/docker/obpilot/oceanbase-ce
    2. (必选)使用 OBD 命令完成后续的 OceanBase 集群部署。
    3. (必选)创建一个业务租户、一个业务数据库,以及一些表等。

    具体实现

    搭建docker环境

    软件安装

    # 查看可用的社区版
    yum list docker-ce --showduplicates | sort 
    
    # 安装指定版本
    yum install -y docker-ce-20.10.9-3.el7 docker-ce-cli-20.10.9-3.el7 containerd.io
    

    配置docker参数

    mkdir -p /etc/docker
    cat > /etc/docker/daemon.json <<-'EOF'
    {
      "graph": "/data/docker",
      "storage-driver": "overlay2",
      "insecure-registries": [ "registry.access.redhat.com" ],
      "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ],
      "exec-opts": ["native.cgroupdriver=systemd"],
      "live-restore": true
    }
    EOF
    

    启动服务

    systemctl enable --now docker
    # 检查服务状态
    systemctl status -l docker
    

    查看信息

    # 查看docker版本
    docker version
    # 显示docker系统的信息
    docker info
    # 日志信息
    docker logs
    # 查看镜像
    docker images
    

    下载oceanbase的docker镜像

    docker search oceanbase    # 搜索 oceanbase 相关镜像
    
    # 拉取最新社区版镜像
    docker pull obpilot/oceanbase-ce:latest
    

    image-20211208132852060

    部署OB集群

    启动 OceanBase Docker 容器

    # 内存容量10G
    docker run -p 2881:2881 -p 2883:2883 --name obce -itd -m 10G obpilot/oceanbase-ce:latest
    
    
    # 查看进程
    docker ps
    
    # 可以查看容器启动日志
    docker logs -f obce
    

    image-20211208152735763

    检查容器运行情况

    # 进入到容器内部
    docker exec -it obce bash
    
    # 获取集群信息
    obd cluster list
    

    image-20211208152844766

    OBD工具启动集群

    # obd cluster start <deploy name> [-s]
    obd cluster start obdemo
    

    image-20211208153050740

    obd自动部署了1台observer和1台obproxy

    检查OB集群状态

    # 获取集群详细信息
    obd cluster display obdemo
    
    集群配置文件信息
    cat /home/admin/.obd/cluster/obdemo/config.yaml
    
    grep -E "root_password|appname|cluster_name" /home/admin/.obd/cluster/obdemo/config.yam
    

    可以从odb配置文件中获取root密码,集群名称等配置信息

    image-20211208153352213

    root 用户的密码是 : rootPWD123

    创建业务数据

    obclient客户端使用

    obclient -u[用户名]@[租户名]#[集群名称] -P[端口号] -h[ip地址] -p[密码] -D[数据库名] -c
    

    相关知识

    租户(tenant)使用的资源建立在资源池(resource pool)上,而资源池包含了资源单元(resource unit),而资源单元规定了具体资源数目(如: CPU数、Memory容量、 IOPS 、session数量、Disk_Size)。

    创建mysql租户

    # 登陆
    ## obclient -h127.1 -uroot@sys -P2881 -c -A oceanbase
    obclient -h127.1 -uroot@sys#obce-single -P2883 -prootPWD123 -c -A oceanbase
    
    show databases;
    
    alter resource unit sys_unit_config min_cpu=2;
    # 创建资源单元
    CREATE resource unit S2C1G max_cpu=2, min_cpu=2, max_memory='1G', min_memory='1G', max_iops=10000, min_iops=1000, max_session_num=10000, max_disk_size='10G'; 
    # 创建资源池
    CREATE resource pool my_pool unit = 'S2C1G', unit_num = 1;
    # 创建租户obmysql
    create tenant obmysql resource_pool_list=('my_pool'), primary_zone='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%', ob_compatibility_mode='mysql';
    
    exit;
    

    image-20211208153834744

    创建数据库

    # 使用新建的租户登陆并创建业务数据库db1
    obclient -h 127.1 -uroot@obmysql#obce-single -P2883 -c -A test
    
    create database db1;
    

    image-20211208154019616

    创建表

    use db1;
    create table t1(id int) ;
    insert into t1 values (1),(2);
    select * from t1;
    

    image-20211208154608098

    总结

    通过本次实践,再次重温一遍docker部分基础信息以及使用OBD工具部署单节点OB集群(1 observer + 1 obproxy)环境。联网在线的环境中,使用obd工具管理集群非常方便高效。同时,可以在实验中使用obclient工具执行SQL。

    总体上来说,主要对ob有了一个简单入门级的了解。期待后续可以深入接触和交流学习OB。

    附录

    https://open.oceanbase.com/answer/detail?id=13700695&sou=0a001

    https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/2-2-how-to-quickly-experience-oceanbase

    https://open.oceanbase.com/answer/detail?id=508

    参考资料

    1. 社区版官网-文档-学习中心-入门教程:实战教程第二章2.2:如何快速体验 OceanBase
    2. 社区版官网-博客-入门实战:实战教程第二章2.2:如何快速体验 OceanBase
    3. 社区版官网-问答:OceanBase CE 容器下载使用简介
    4. 教程视频:【2-2-OceanBase Docker 体验.mp4]
  • 相关阅读:
    time模块
    time模块,计算时间差
    re模块
    Python之常用文件操作
    Django运行错误常见问题及解决方法1
    用JetBrains PyCharm 2017.2创建运行Django程序
    wsgi Python的WEB框架
    django模块安装环境变量
    Django
    DOM
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15661989.html
Copyright © 2020-2023  润新知