Skip to content

todis on centos7

rockeet edited this page Jun 8, 2023 · 4 revisions

1、前置依赖

1.1、系统需求

  • 主机 1 (用作 todis 服务,系统 CentOS 7)
  • 主机 2 (用作 dcompact 服务,系统 CentOS 7)

1.2、下载安装 todis 软件包和依赖(两台主机都需要)

下载

wget https://todis-tar-and-tools.oss-cn-qingdao.aliyuncs.com/todis-centos7.tar.gz
sudo tar xf todis-centos7.tar.gz -C /

安装依赖

zstd 必须安装,否则运行中间可能出错

sudo yum install -y gflags glog libaio zstd rsync

2、主机 1: 启动 todis

2.1 修改配置

需要修改 /todis/conf/side-plugin.json 中的以下内容:

vim /todis/conf/side-plugin.json
    "instance_name": "todis_instance_01",
    ...
    "nfs_mnt_src": "todis_instance_ip:/todis/data",
    ...
    "http_workers": [
          {
            "url": "http://todis_dcompact_ip:8000/dcompact",
  • todis_instance_01 替换成 todis 实例的名字,由分布式计算节点使用,需要具有唯一性。
  • todis_instance_ip 替换成 todis 实例 ip 地址 (即主机 1 的私有 ip),用于分布式计算节点挂载 nfs。
  • todis_dcompact_ip 替换成分布式计算节点 ip 地址 (即主机 2 的私有 ip)。

可直接在上述 vim 界面中修改,或者通过以下 sed 命令完成修改 (将 todis_instance_01、192.168.1.2、192.168.1.3 改为你实际的名字和 ip 地址)

sed 命令实现修改:

sed -e "s/todis_instance_01/todis_instance_01/g" -i /todis/conf/side-plugin.json
sed -e "s/todis_instance_ip/192.168.1.2/g" -i /todis/conf/side-plugin.json
sed -e "s/todis_dcompact_ip/192.168.1.3/g" -i /todis/conf/side-plugin.json

2.2 安装 nfs

todis 使用分布式 compact,需要配置 nfs 服务 当前配置默认是 todis 所在主机提供该服务

nfs-server (todis)

sudo yum install epel-release -y 
sudo yum install libaio libcurl nfs-utils -y
sudo bash -c "echo '/todis/data *(rw,async,no_root_squash,fsid=1,insecure)' >> /etc/exports"
# 增加服务器线程数
sudo sed -i  's/#\[nfsd\]/\[nfsd\]/g' /etc/nfs.conf
sudo sed -i  's/# threads=8/threads=64/g' /etc/nfs.conf
sudo systemctl enable --now nfs-server

nfs-client (dcompact)

分布式 compact 计算结点,在大规模部署中,多个 todis 服务共享同一组分布式 compact 结点,实现平峰错谷,资源共享,降低整体的硬件成本

要禁用分布式 compact,需要修改 side-plugin.json

sudo bash -c 'echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf'
sudo bash -c 'echo "options sunrpc tcp_max_slot_table_entries=128" >>  /etc/modprobe.d/sunrpc.conf'
sudo sysctl -w sunrpc.tcp_slot_table_entries=128

2.3 启动服务

sudo sh /todis/todis.sh

3、主机 2: 启动 dcompact

输出错误信息 log 为:/todis/stdlog/stderr. 方便调试可以注释掉脚本输出重定向

sudo sh /todis/dcompact.sh

4、数据迁移

请参考:从 pika 迁移到 todis

5、todis 相关目录

/todis         todis 安装目录
/todis/data    todis 数据
/todis/conf    todis 配置文件
/todis/infolog todis 不同数据类型运行 log
/todis/lib     todis 运行依赖库
/todis/web     todis 运行状态网页默认首页文件目录