TDEngine数据库生产级集群安装部署方案

一、说明

TDengine是按照分布式高可靠架构设计,支持水平扩展,能够有效保障系统的可用性和可靠性,生产环境中一般都是多节点部署,TDengine集群部署需要三个以上节点,如果只部署两个数据节点也是可行, 但需要署Arbitrator节点(为模拟节点,不处理任何数据)。

二、集群部署结构

  1. 部署信息

    机器IP与端口:

    10.16.161.186:6030

    10.16.161.187:6030

    10.16.161.188:6030

在这里插入图片描述

  1. 节点类型

    共有三个数据节点(DNODE),两个管理节点(MNODE),这里讲解TDEngine涉及的主要节点类型:

在这里插入图片描述

  • 数据节点(DNODE)

    DNODE负责数据的存取, 包含多个逻辑的虚拟节点,或者至多一个管理节点(mnode)。

  • 管理节点(MNODE)

    MNODE即META NODE,是一个虚拟的逻辑单元、负责所有数据节点状态的监控与维护,以及负载均衡;另外也负责元数据(用户、数据库、表、静态标签)的存储和管理。

  • 虚拟节点(VNODE)

    VNODE是由数据节点所虚拟而来, 一个数据节点可以划分为多个虚拟节点,目的是为了更好的支持数据分片、负载均衡、防止数据过热或倾斜。

三、安装前配置

  1. 修改hosts信息

    TDEngine是通过FQDN进行访问, 规划好三个节点对应的域名

    10.16.161.186 taos1

    10.16.161.187 taos2

    10.16.161.188 taos3

    将配置写入/etc/hosts文件:

    10.16.161.186  taos1
    10.16.161.187  taos2
    10.16.161.188  taos3
    

    验证:

    root@node1:~# ping -c2 taos2
    PING taos2 (10.16.161.187) 56(84) bytes of data.
    64 bytes from ubuntu (10.16.161.187): icmp_seq=1 ttl=64 time=0.028 ms
    64 bytes from ubuntu (10.16.161.187): icmp_seq=2 ttl=64 time=0.035 ms
    
  2. 关闭防火墙

    //临时关闭
    systemctl stop firewalld
    //永久禁止
    systemctl disable firewalld
    

    安装集群建议关闭防火墙,安装完后再配置端口, 保证端口6030 - 6042是开放的。

四、集群安装

  1. 下载安装包

    从官网下载安装包,需要配置邮件才能获取下载链接。

  2. 解压安装包

    [root@localhost TDengine-server-2.2.2.0] # tar -xvf TDengine-server-2.2.2.0-Linux-x64.tar.gz
    [root@localhost TDengine-server-2.2.2.0] # ll
    total 2176
    drwxr-xr-x 5 root root  83 Nov 17 15:56 connector
    drwxr-xr-x 6 root root  62 Dec 62 16:23 data
    drwxr-xr-x 2 root root  51 Nov 11 15:56 driver
    drwxr-xr-x 10 root root 98 Nov 15:56 examples
    -rwxr-xr-x 1 root root  38220 Nov 15:56 install.sh
    drwxr-xr-x 2 root root  60 Dec 29 19:52 log
    -rw-r--r-- 1 root root  2184998 Nov 17 15:56 taos.tar.gz
    drwxr-xr-x 2 root root  6 Dec 29 16:22 tmp
    
    
  3. 执行安装

    内置已经提供好安装脚本, 进入安装目录, 直接执行install.sh

    [root@10 TDengine-server-2.2.2.0] #./install.sh
     osinfo:RedHat Enterprise Linux Server
    RedHat Enterprise Linux Server 7.6(Maipo)
    cpe:/o:redhat:enterprise_1inux:7.6:GA:server
    This is an officially unverified 1inux system,
    if there are any problems with the instal1ation and operation,
    please feel free to contact taosdata.com for support.
    start to install TDengine...
    created symlink from /etc/system d/system/multi-user.target.wants/taosd.service to /etc/systemd/system/taosd.service.
    system hostname is:10.16.161.186
    Enter FQDN:port(like hl.taos data.com:6030) of an existing TDengine cluster node to join
    OR leave it blank to build one:
    Enter your emailaddress for priority support or enter empty to skip:
    To configure TDengine : edit /etc/taos/taos.cfg
    To start TDengine     : sudo systemctl start taosd
    To access TDengine    :  taos -h 10.16.161.186 to login into TDengine server
    TDengine is installed successfully!
    
    

    输入提示时, 直接回车即可。

    提示: 如果出现错误或需重装,执行内置删除命令rmtaos

    [root@10 TDengine-server-2.2.2.0]$ rmtaos 
    TDEngine is removed successfully!
    

    此命令并不会清除data和log目录, 建议手工清理彻底删除。(默认路径/var/log/taos、/var/lib/taos)

  4. 修改配置文件

    配置文件路径默认在/etc/taos/taos.cfg,以下几项是必须修改的地方, 每个节点根据实际信息都需做相应地修改, 以第一个节点为例:

    # firstEp 是每个数据节点首次启动后连接的第一个数据节点
    firstEp               taos1:6030
    # 必须配置为本数据节点的FQDN,如果本机只有一个hostname, 可注释掉本项
    fqdn                  taos1
    # 配置本数据节点的端口号,缺省是6030
    serverPort            6030
    # 副本数为偶数的时候,需要配置,比如两台数据节点,可以在任意一台安装arbitrator节点
    # arbitrator            ha.taosdata.com:6042
    

    生产集群调优参数的完整配置:

    #first fully qualified domainname(FQDN) for TD engine system
    firstEp taos1:6030
    #local fully qualified domainname(FQDN)
    fqdn taos1
    #first port number for the connection ( 12 continuous UDP/TCP portnumber are used)
    serverPort 6030
    #logfile'sdirectory
    logDir  /usr/local/TDengine-server-2.2.2.0/log
    #datafile'sdirectory
    dataDir /usr/local/TDengine-server-2.2.2.0/data
    #temporaryfile'sdirectory
    tempDir /usr/local/TDengine-server-2.2.2.0/tmp
    #numberofthreads per CPU core
    numOfThreadsPerCore 2.0
    #numberofthreads to commit cache data
    numOfCommitThreads 40
    #theproportionof total CPU cores available for query processing
    #2.0:thequerythreads will be set to double of the CPU cores.
    #1.0:allCPUcores are available for query processing[default] .
    #0.5:onlyhalfof the CPU cores are available for query.
    #0.0:onlyonecore available.
    ratioOfQueryCores  2.0
    #thelast_row/first/lastaggregator will not change the original columnname in the result fields
    keepColumnName  1
    #numberofmanagement nodes in the system
    numOfMnodes  2
    #enable/disableloadbalancing
    balance  0
    #numberofseconds allowed for ad node to be offline, for cluster only
    offlineThreshold  86400
    #maxnumberof v groups per db, 0 means configured automatically
    maxVgroupsPerDb 30
    #numberofcache blocks per vnode
    blocks  60
    #thenumberof acknowledgments required for successful data writing
    quorum  2
    #max length of an SQL
    maxSQLLength  1048576
    #system timezone
    timezone  Asia/Shanghai(CST, +0800)
    #system locale
    locale enUS.UTF-8
    # default system charset
    charset UTF-8
    # max number of connections allowed in dnode
    maxShellConns  50000
    # max number of connections allowed in client
    maxConnections  50000
    # enable/disable system monitor
    monitor  1
    wallevel  1 
    

    主要配置说明:

    #配置参数名称含义
    1numOfMnodes系统中管理节点个数
    2mnodeEqualVnodeNum一个mnode等同于vnode消耗的个数
    3offlineThresholddnode离线阈值,超过该时间将导致Dnode离线
    4statusIntervaldnode向mnode报告状态时长
    5arbitrator系统中裁决器的End Point
    6timezone时区
    7balance是否启动负载均衡
    8maxTablesPerVnode每个vnode中能够创建的最大表个数
    9maxVgroupsPerDb每个DB中能够使用的最大vgroup个数

    如果指定数据、日志的存储路径,先创建好对应的文件夹:

    mkdir -p /usr/local/TDengine-server-2.2.2.0/log
    mkdir -p /usr/local/TDengine-server-2.2.2.0/data
    mkdir -p /usr/local/TDengine-server-2.2.2.0/tmp
    

    实际生产集群中,数据可能会分配到多个硬盘目录, TDEngine是能够支持多个目录的存储, 配置示例:

    dataDir /data/tdengine/data1 0 1
    dataDir /data/tdengine/data2 0 0
    dataDir /data/tdengine/data3 0 0
    
  5. 启动服务节点

    1) 确保每个节点配置修改完成后, 先启动第一个节点

    sytemctl start taosd
    

    在这里插入图片描述
    如果命令不能识别, 说明没有成功安装, 按照上述步骤重新安装。
    2) 启动其余节点

    按照上述命令,依次在各节点启动服务。

  6. 创建集群

    进入主节点, 逐个加入其它节点:

    CREATE DNODE "fqdn:port"; 
    

    在这里插入图片描述

    创建完成后, 通过show dnodes命令可以查看集群所有节点信息:

    在这里插入图片描述

    能够查看到三个节点的信息, 并且状态为“ready”, 代表集群搭建正常。

    如果节点创建错误, 可以删除节点, 执行命令:

    DROP DNODE "fqdn:port"
    

    一旦被drop之后,不能重新加入集群。需要将此节点重新部署, 并且要清空数据文件夹。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦神-mirson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值