【3FS】搭建foundationdb集群

搭建foundationdb集群

对stor01、stor02、stor03设置如下配置文件:

1. fdb.cluster配置文件

foundationdb:fdb@192.168.0.20:4500,192.168.0.21:4500,192.168.0.22:4500

foundationdb.conf配置文件:

## foundationdb.conf
##
## Configuration file for FoundationDB server processes
## Full documentation is available at
## https://apple.github.io/foundationdb/configuration.html#the-configuration-file

[fdbmonitor]
user = foundationdb
group = foundationdb

[general]
restart-delay = 60
## by default, restart-backoff = restart-delay-reset-interval = restart-delay
# initial-restart-delay = 0
# restart-backoff = 60
# restart-delay-reset-interval = 60
cluster-file = /etc/foundationdb/fdb.cluster
# delete-envvars =
# kill-on-configuration-change = true

## Default parameters for individual fdbserver processes
[fdbserver]
command = /usr/sbin/fdbserver
public-address = auto:$ID
listen-address = public
# datadir = /var/lib/foundationdb/data/$ID
# logdir = /var/log/foundationdb
# logsize = 10MiB
# maxlogssize = 100MiB
# machine-id =
# datacenter-id =
# class = 
# memory = 8GiB
# storage-memory = 1GiB
# cache-memory = 2GiB
# metrics-cluster =
# metrics-prefix =

## An individual fdbserver process with id 4500
## Parameters set here override defaults from the [fdbserver] section
[fdbserver.4500]
class=stateless
datadir=/storage/foundationdb/data/4500
logdir=/storage/foundationdb/log

[fdbserver.4501]
class=transaction
datadir=/storage/foundationdb/data/4501
logdir=/storage/foundationdb/log

[fdbserver.4502]
class=storage
datadir=/storage/foundationdb/data/4502
logdir=/storage/foundationdb/log

[fdbserver.4503]
class=stateless
datadir=/storage/data/lib/foundationdb/data/4503
logdir=/storage/foundationdb/log

[backup_agent]
command = /usr/lib/foundationdb/backup_agent/backup_agent
logdir = /var/log/foundationdb

[backup_agent.1]

确保 datadir 和 logdir 所有目录归属用户是 foundationdb,且有写权限:

chown -R foundationdb:foundationdb /storage/foundationdb
chmod -R 755 /storage/foundationdb

在任意一个容器中进行初始配置创建数据库(冗余模式设置为double,会创建3个coordinator,因为数据量较大使用ssd而非memory存储数据)

/usr/bin/fdbcli --exec "configure FORCE new ssd double"

 

fdb清空数据:即清除整个 Key-Value 空间内的所有用户数据,但保留数据库配置、集群不重建。

fdbcli --exec 'writemode on; clearrange \x00 \xff'
  • \x00 到 \xff 是 FDB 的全 Key 范围。
  • 这会删除 所有用户 Key-Value 数据。
  • 不会重置集群,不影响系统 Key(例如 tenant、cluster config)。

3. 没有初始化数据库

如果你是新装的 FDB,还需要在 fdbcli 里执行一次配置:

 
fdbcli # 进入交互模式后执行 configure new single ssd
  • single 表示单机模式

  • ssd 表示使用 SSD 优化存储引擎

这一步会创建数据库,分配 data distributor 等角色。

参考资料

1. FoundationDB源码学习

 

posted @ 2023-10-16 09:13  苏格拉底的落泪  阅读(425)  评论(0)    收藏  举报