juicefs 1.0.3 集成 oceanbase 4.0 测试
以前我写过oceanbase ce 3.x 版本的,当时处理需要自己hack,目前测试的版本是juicefs 1.0.3 ,oceanbase ce 4.0 容器版
环境说明
oceanbase ce 4.0 基于docker-compose部署,juicefs 部署在linux 以及mac 机器中
- 环境准备
注意默认运行的ob root 密码为空,测试可以,实际使用需要调整
version: '3'
services:
ob:
image: dockerimage.yonyou.com/library/oceanbase-ce:4.0.0.0
environment:
- MINI_MODE=0
volumes:
- ./ob:/root/ob
- ./obd:/root/.obd
ports:
- 2881:2881
s3:
image: minio/minio
environment:
- "MINIO_ACCESS_KEY=minio"
- "MINIO_SECRET_KEY=minio123"
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
资源准备
- 数据库创建
创建一个juicefsv2 的数据库
- minio s3
格式化
./juicefs format --storage minio \
--bucket http://127.0.0.1:9000/juicefs2 \
--access-key minio \
--secret-key minio123 \
"mysql://root@(127.0.0.1:2881)/juicefsv2" \
pics
挂载
注意需要fuse 的安装,mac 与linux 是不一样的
sudo ./juicefs mount "mysql://root@(127.0.0.1:2881)/juicefs2" appv2
文件操作
就按照正常文件操作就行了,没有什么异常
fstab 挂载
对于linux 基于fstab 的挂载方法如下
// copy juicefs
sudo cp /usr/local/bin/juicefs /sbin/mount.juicefs
// /etc/fstab
mysql://root@(<ip>:2881)/juicefs /opt/juicefsapps juicefs _netdev,allow_other 0 0
说明
通过测试发现新那本ob 与juicefs 兼容是很不错的,直接就可以很流畅的配置,不像老版本需要自己hack 处理下, 对于需要一个可靠以及支持都租户数据隔离场景的juicefs
元数据存储方案来说,ob 是一个不错的选择(多租户隔离,强大的周边能力),比如我以前就写过一个基于juicefs+s3 开发一个简单git server ,利用s3 bucket 分离以及ob多租户能力,我们就可以开发一个比较灵活的简单 git server,玩法如如下图
参考资料
https://www.oceanbase.com/docs/community-observer-cn-10000000000900534
https://juicefs.com/docs/community/getting-started/for_distributed/
https://www.cnblogs.com/rongfengliang/p/15779969.html
https://github.com/juicedata/juicefs/releases/tag/v1.0.3
https://www.cnblogs.com/rongfengliang/p/15860306.html
https://www.cnblogs.com/rongfengliang/p/15860286.html