實踐練習一:OceanBase Docker 體驗
1.環境準備(於2022.12)
VM虛擬機器系統環境Centos7.9 2009 內 核 3.10.0
關防火牆 selinux
systemctl disable firewalld
systemctl stop firewalld.service
關 selinux
S etenforce 0
vi /etc/selinux/config SELINUX=enforcin g 修改為 "SELINUX=disabled"
安裝系統工具
yum install -y yum-utils device-mapper-persistent-data lvm2
新增阿里雲 yum源
yum-config-manager --add-repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum makecache fast 生成索引快取索引提 高 搜尋安裝速度
安裝 Docker-CE 並啟動
yum -y install docker-ce 目前安裝版本為 20.10
systemctl start docker 啟動
systemctl enable docker 設自啟動
拉取 docker映象
直播影片( https://open.oceanbase.com/blog/10900164?currentPage=1?sou=0a001 ) 2.2中的oceanbase/obce-mini為3.1版本 特點是 啟動時可手動初始化叢集及租戶體驗過程。但 如下所述已失效無法下載(此段可忽略)
docker pull oceanbase/obce-mini
發現報錯進 hub.docker搜尋發現過期
拉取 oceanbase 映象
完整的官方映象版 oceanbase-ce 有多個版本可選 但是啟動時會自動初始化叢集及租戶不能體驗過程。
官網可查到多個版本
查詢映象
docker search oceanbase
docker search oceanbase/oceanbase-ce
docker search obpilot/oceanbase-ce
拉取 ”ob領航員”版本(估計是替代 obce-mini )
docker pull obpilot/oceanbase-ce :rabbit
能看到 obpilot/oceanbase-ce的dockerfile內容
docker images 檢視擁有的映象
2.執行oceanbase容器
docker run -itd -m 10G --name oceanbase-ce obpilot/oceanbase-ce:rabbit
-i互動式執行容器 -t為容器分配偽輸入終端 -d後臺執行並顯示ID -m設定最大記憶體
--name指定容器名稱 必須指定tag標籤rabbit否則會下載最新版映象
docker ps -a 顯示所有容器 docker ps 顯示執行的容器
當使用 docker exec進入容器時,容器預設不是root使用者,如果想改root密碼可sudo passwd root。如報錯-bash: sudo: command not found,可
docker exec -it --user root {容器名} /bin/bash
附容器七種狀態 created(已建立)restarting(重啟中)running(執行中)
removing(遷移中)paused(暫停)exited(停止)dead(死亡)
容器雖啟動了但報錯 IPv4轉發已禁用
vim /etc/sysctl.conf
net.ipv4.ip_forward=1 #儲存退出就可以了
systemctl restart network 重啟網路卡
systemctl restart docker 重啟docker
docker start oceanbase-ce 啟動容器 (出現過奇怪報錯docker: 'start ' is not a docker command,過一會再試成功)
docker exec -it oceanbase-ce bash 進入容器
obd cluster list 檢視叢集 狀態為已部署
obd cluster start obdemo 啟動或初始化叢集
直連地址為 2881 代理地址為2883 普羅米修斯埠2884
處理警告 fs.aio-max-nr
#該引數決定了系統中所允許的檔案控制程式碼最大數目,檔案控制程式碼設定代表 系統中可以開啟的檔案的數量。
vi m /etc/sysctl.conf fs.aio-max-nr = 1048576
sysctl -p 生效
sysctl -a |grep fs.aio-max-nr 查設定
注意:如果想從新的配置還原到預設配置,只把自己的配置註釋掉是不行的,必須改成原來的配置然後重新整理才行!
3.進入租戶及Mysql
登入 MySQL租戶
登入單節點 (密碼在官網倉庫的 obpilot/oceanbase-ce
的概述中可見)
[admin@ffd94a946881 ~]$ obclient -h127.1 -uroot@sys -P2881 -prootPWD123 -c -A oceanbase
語法
obclient -u[使用者名稱]@[租戶名]#[叢集名稱] -P[埠號] -h[ip地址] -p[密碼] -D[資料庫名] -c
如果連線語句中不帶 -c 項,則連線至租戶後 Hint 無法生效。即MySQL 執行環境中不要忽略註釋。
如果連線語句中不帶 -D[資料庫名] 項,則預設資料庫名與使用者名稱一致
A:表示在 MySQL 連線資料庫時不自動獲取統計資訊
oceanbase:訪問的資料庫名,可以更改為業務資料庫
show parameters like 'cluster';
獲取叢集名稱( obdemo)注意obproxy連線的時候會使用這個叢集名
使用 obproxy 2883埠登入
[admin@ffd94a946881 ~]$ obclient -h127.1 -uroot@sys#obdemo -P2883 -prootPWD123 -c -A oceanbase
show tables;
show databases;
建立租戶
建資源單元 unit起名為 S4C1G
CREATE resource unit S4C1G max_cpu=4, min_cpu=4, max_memory='1G', min_memory='1G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='1024G';
建資源池起名為 my_pool
CREATE resource pool my_pool unit = 'S4C1G', unit_num = 1;
建租戶(例項)起名為 obmysql 使用剛建的資源池 my_pool
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';
預設的 優先策略 primary_zone='RANDOM' 翻譯為隨機任意 , 等同於 zone1,zone2,zone3 。
相容模式 compatibility 設為 mysql
登入新建的租戶 (叢集名不變,密碼為空)
obclient -h 127.1 -uroot@obmysql#ob demo -P2883 -p -c -A test
alter user root identified by '111111'; 設密碼
建庫
create database testdb;
進入新建庫
use testdb;
建表
CREATE TABLE tb_emp1 (id INT(11),name VARCHAR(25),deptId INT(11),salary FLOAT);
observer的啟動引數
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22333459/viewspace-2928124/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OceanBase學習之路15|體驗 Operational OLAP
- OceanBase初體驗之Docker快速部署試用環境Docker
- OceanBase學習之路16|體驗 OceanBase 資料庫熱點行更新能力資料庫
- OceanBase學習之路13|體驗多租戶特性
- 混沌演練實踐(一)
- 靜態路由練習實驗路由
- OceanBase 的探索與實踐
- OceanBase學習之路11|體驗 DDL 新特性(Oracle 模式)Oracle模式
- OceanBase學習之路12|體驗 DDL 新特性(MySQL 模式)MySql模式
- 利用docker部署深度學習模型的一個最佳實踐Docker深度學習模型
- FlinkCDC 2.0使用實踐體驗
- Appium 實戰練習一APP
- Etcd 實戰練習(一)
- Nodejs Docker 映象體積優化實踐NodeJSDocker優化
- Taro實踐 - 深度開發實踐體驗及總結
- 開源實踐 | 攜程在OceanBase的探索與實踐
- 開源實踐 | 攜程在 OceanBase 的探索與實踐
- OceanBase物理備份恢復實踐
- OceanBase學習之路14|體驗並行匯入 & 資料壓縮並行
- docker映象體積優化方法與實踐Docker優化
- 多執行緒基礎練習實踐篇執行緒
- 程式設計實踐(Pandas)綜合練習1程式設計
- Docker進階與實踐之一:CgroupDocker
- OceanBase 資料檔案縮容實踐
- 阿里雲體驗實驗室 教你《快速搭建Docker環境》阿里Docker
- 4.0體驗站|我對OceanBase 4.0社群版的體驗與看法
- 【快速學習】docker構建java專案實踐DockerJava
- Docker筆記之Docker初體驗Docker筆記
- Docker入門實踐Docker
- OpenHarmony Docker移植實踐Docker
- 這是一次 docker 入門實踐Docker
- 【Docker 系列】docker 學習九,Compose 內容編排官網初步體驗Docker
- [Docker 系列]docker 學習九,Compose 內容編排官網初步體驗Docker
- Taro實踐 - TOPLIFE小程式 開發體驗
- Taro實踐 – TOPLIFE小程式 開發體驗
- 攜程MySQL遷移OceanBase最佳實踐|分享MySql
- 練習時的docker部署指令碼Docker指令碼
- docker初體驗:docker部署nginx服務DockerNginx