暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

He3DB部署指南

原创 小小亮 2022-09-27
572

前提

  • 部署PostgreSQL数据库:作为he3fs的元数据库。

  • 部署redis服务:用来储存数据页与wal的链表关系,目前访问redis的url需要指定为“redis://:VlJi7uBV@127.0.0.1:6379/0”。

2、部署存储服务He3FS

2.1 安装客户端

  • 克隆源码
git clone https://gitee.com/he3db/he3fs.git


  • 进入源代码目录
cd he3fs


  • 在master分支下执行编译
make


编译好的he3fs二进制程序位于当前目录,然后把该文件放到/usr/local/bin目录下。

2.2 以单机模式运行

  • 创建文件系统

创建文件系统使用客户端提供的format命令,格式为:

he3fs format --trash-days 0 [command options] META-URL NAME


目前he3fs的META-URL仅支持PostgreSQL

  • 挂载文件系统

挂载文件系统使用客户端提供的mount命令,格式为:

he3fs mount --redis-meta=redis://:VlJi7uBV@127.0.0.1:6379/0 --enable-clean --he3data=dirname [command options] MEAT-URL MOUNTPOINT


he3fs在juicefs参数的基础上,mount的时候增加了三个参数选项:

--redis-meta:表示存储数据页与wal链表关系的redis库连接串。
--enable-clean:表示允许该he3fs的客户端清理redis中的链表关系。
--he3data: 表示推进节点的数据目录的相对路径,默认值是data。


3、部署计算服务He3PG

目前仅支持he3pg的主节点与推进节点部署在同一台机器,并且部署he3pg时需要以非root用户部署。

3.1 安装

  • Requirements

    he3pg与PostgreSQL的编译要求是相同的

  • 克隆源码

useradd postgres
su - postgres
git clone https://gitee.com/he3db/he3pg.git


  • 进入源代码目录
cd he3pg


  • 在master分支下执行编译
./configure
make
make install


3.2 配置主机环境变量

例:在执行configure命令时,设置--prefix参数为/home/postgres/psql14,则设置以下参数:

export LD_LIBRARY_PATH=/home/postgres/psql14/lib
export PGHOME=/home/postgres/psql14
export PATH=$PGHOME/bin:/home/postgres:$PATH


3.3 初始化数据

在第二步部署存储服务时,以挂载文件系统时指定的挂载点为/data/jfspg为例

mkdir ~/he3data
rm -rf ~/he3data/*
initdb -D  /data/jfspg/pg    //子目录pg为he3fs mount中--he3data配置的目录
cd /data/jfspg/
rsync -av --exclude pg/base --exclude pg/global --exclude pg/pg_wal --exclude pg/pg_tblspc pg ~/he3data                               //拷贝非共享数据给主目录
cd initdata		
cp -r pushconf/* /data/jfspg/pg/     //拷贝推进配置到共享存储目录,用于启动推进节点			
cp -r masterconf/* ~/he3data/pg/          //拷贝主配置数据到本地主库数据目录,用于启动主节点
ln -sf /data/jfspg/pg/base ~/he3data/pg/base
ln -sf /data/jfspg/pg/global ~/he3data/pg/global
ln -sf /data/jfspg/pg/pg_wal ~/he3data/pg/pg_wal
ln -sf /data/jfspg/pg/pg_tblspc ~/he3data/pg/pg_tblspc			//主节点与推进节点共享base、global、pg_wal、pg_tblspc这四个目录


3.4 启动主节点

pg_ctl start -D ~/he3data/pg  
psql -p15432 //在主节点操作
create role repl with replication login password '123456'; //创建流复制用户,如果不创建推进无法启动


3.5 启动推进节点

pg_ctl start -D  /data/jfspg/pg/
psql -p15431  //登录推进可以查看主操作的数据


文章来源:https://gitee.com/he3db/he3pg/blob/master/doc/he3db/deploy.md

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论