1 前期准备
1.1 版本
TDengine :3.0.2.6
Linux:centos 7
1.2 机器规划
机器IP | hostname |
---|---|
192.168.3.21 | master.bafang.com |
192.168.3.22 | node1.bafang.com |
192.168.3.23 | node2.bafang.com |
1.3 修改这三个节点上的hostname
hostnamectl set-hostname master.bafang.com
hostnamectl set-hostname node1.bafang.com
hostnamectl set-hostname node2.bafang.com
1.4 修改每台机器上边的/etc/hosts
cat >> /etc/hosts << EOF
192.168.3.21 master.bafang.com
192.168.3.22 node1.bafang.com
192.168.3.23 node2.bafang.com
EOF
2 单节点部署
2.1 单节点部署参考地址
https://docs.taosdata.com/get-started/package/
2.2 安装方法
tar -zxvf TDengine-server-3.0.2.6-Linux-x64.tar.gz
cd TDengine-server-3.0.2.6
./install.sh
注意:如果希望采取无交互安装方式,那么可以运行 ./install.sh -e no。
当安装第一个节点时,出现 Enter FQDN: 提示的时候,不需要输入任何内容。只有当安装第二个或以后更多的节点时,才需要输入已有集群中任何一个可用节点的 FQDN,支持该新节点加入集群。当然也可以不输入,而是在新节点启动前,配置到新节点的配置文件中。
2.3 安装方法
2.3.1 linux 启动方法
启动服务进程:systemctl start taosd
停止服务进程:systemctl stop taosd
重启服务进程:systemctl restart taosd
查看服务状态:systemctl status taosd
注意:如果系统中不支持 systemd
,也可以用手动运行 /usr/local/taos/bin/taosd
方式启动 TDengine 服务。
TDengine 命令行(CLI)
taos
3 多节点部署
3.1 集群部署参考地址
https://docs.taosdata.com/deployment/deploy/
3.2 部署方法
先参考:前提准备的1.3和1.4
3.2.1 创建数据存储路径data和log目录
mkdir tdengine
mkdir log
mkdir data
3.2.2 安装mnode和nnode的节点
安装参考 2 单节点部署
mnode节点安装,一路回车,不输入任务内容
nnode节点安装时,提示是否加入其余他节点,输入
mnode节点:
nnode节点:
3.2.3 修改mnode和nnode节点的配置文件
修改文件: vi /etc/taos/taos.cfg
。
两台服务器配置不同的就是fqdn参数
3.2.3.1 mnode节点
firstEp master.bafang.com:6030
fqdn master.bafang.com
serverPort 6030
logDir /data/tdengine/log(根据实际修改)
dataDir /data/tdengine/data(根据实际修改)
3.2.3.2 node节点
firstEp master.bafang.com:6030
fqdn node1.bafang.com
serverPort 6030
logDir /data/tdengine/log(根据实际修改)
dataDir /data/tdengine/data(根据实际修改)
3.2.4 启动服务
注意:master.bafang.com和node1.bafang.com 两台服务器均启动
$ systemctl start taosd
查看状态 systemctl status taosd
3.2.5 验证集群
在mnode节点: master.bafang.com上边执行 taos
在执行 show dnodes;
查看相应的节点信息。
然后创建dnode
create dnode "node1.bafang.com:6030";
查看
同样方式添加node2节点
4 补充
4.1 taos.cfg文件
########################################################
# #
# TDengine Configuration #
# Any questions, please email support@taosdata.com #
# #
########################################################
######### 0. Client only configurations #############
# The interval for TDengine CLI to send heartbeat to mnode
# shellActivityTimer 3
############### 1. Cluster End point ############################
# The end point of the first dnode in the cluster to be connected to when this dnode or a TDengine CLI `taos` is started
# firstEp hostname:6030
# The end point of the second dnode to be connected to if the firstEp is not available
# secondEp
############### 2. Configuration Parameters of current dnode #####
# The FQDN of the host on which this dnode will be started. It can be IP address
# fqdn hostname
# The port for external access after this dnode is started
# serverPort 6030
# The maximum number of connections a dnode can accept
# maxShellConns 5000
# The directory for writing log files, if you are using Windows platform please change to Windows path
# logDir /var/log/taos
# All data files are stored in this directory, if you are using Windows platform please change to Windows path
# dataDir /var/lib/taos
# temporary file's directory, if you are using Windows platform please change to Windows path
# tempDir /tmp/
# Switch for allowing TDengine to collect and report service usage information
# telemetryReporting 1
# Switch for allowing TDengine to collect and report crash information
# crashReporting 1
# The maximum number of vnodes supported by this dnode
# supportVnodes 0
# The interval of this dnode reporting status to mnode, [1..10] seconds
# statusInterval 1
# The minimum sliding window time, milli-second
# minSlidingTime 10
# The minimum time window, milli-second
# minIntervalTime 10
# The maximum allowed query buffer size in MB during query processing for each data node
# -1 no limit (default)
# 0 no query allowed, queries are disabled
# queryBufferSize -1
# The compressed rpc message, option:
# -1 (no compression)
# 0 (all message compressed),
# > 0 (rpc message body which larger than this value will be compressed)
# compressMsgSize -1
# query retrieved column data compression option:
# -1 (no compression)
# 0 (all retrieved column data compressed),
# > 0 (any retrieved column size greater than this value all data will be compressed.)
# compressColData -1
# system time zone
# timezone UTC-8
# system time zone (for windows 10)
# timezone Asia/Shanghai (CST, +0800)
# system locale
# locale en_US.UTF-8
# system charset
# charset UTF-8
# stop writing logs when the disk size of the log folder is less than this value
# minimalLogDirGB 1.0
# stop writing temporary files when the disk size of the tmp folder is less than this value
# minimalTmpDirGB 1.0
# if free disk space is less than this value, this dnode will fail to start
# minimalDataDirGB 2.0
# enable/disable system monitor
# monitor 1
# The following parameter is used to limit the maximum number of lines in log files.
# max number of lines per log filters
# numOfLogLines 10000000
# write log in async way: 1 - async, 0 - sync
# asyncLog 1
# time period of keeping log files, in days
# logKeepDays 0
############ 3. Debug Flag and levels #############################################
# The following parameters are used for debug purpose only by this dnode.
# debugFlag is a 8 bits mask: FILE-SCREEN-UNUSED-HeartBeat-DUMP-TRACE_WARN-ERROR
# Available debug levels are:
# 131: output warning and error
# 135: output debug, warning and error
# 143: output trace, debug, warning and error to log
# 199: output debug, warning and error to both screen and file
# 207: output trace, debug, warning and error to both screen and file
# debug flag for all log type, take effect when non-zero value
# debugFlag 0
# debug flag for timer
# tmrDebugFlag 131
# debug flag for util
# uDebugFlag 131
# debug flag for rpc
# rpcDebugFlag 131
# debug flag for jni
# jniDebugFlag 131
# debug flag for query
# qDebugFlag 131
# debug flag for taosc driver
# cDebugFlag 131
# debug flag for dnode messages
# dDebugFlag 135
# debug flag for vnode
# vDebugFlag 131
# debug flag for meta management messages
# mDebugFlag 135
# debug flag for wal
# wDebugFlag 135
# debug flag for sync module
# sDebugFlag 135
# debug flag for tsdb
# tsdbDebugFlag 131
# debug flag for tq
# tqDebugFlag 131
# debug flag for fs
# fsDebugFlag 131
# debug flag for udf
# udfDebugFlag 131
# debug flag for sma
# smaDebugFlag 131
# debug flag for index
# idxDebugFlag 131
# debug flag for tdb
# tdbDebugFlag 131
# debug flag for meta
# metaDebugFlag 131
# generate core file when service crash
# enableCoreFile 1
序号 | 配置参数名称 | 含义 |
---|---|---|
1 | numOfMnodes | 系统中管理节点个数 |
2 | mnodeEqualVnodeNum | 一个mnode等同vnode消耗的个数 |
3 | offlineThreshold | dnode离线阈值,超过该时间将导致Dnode离线 |
4 | statusInterval | dnode向mnode报告状态时长 |
5 | arbitrator | 系统中裁决器的End Point |
6 | timezone | 时区 |
7 | balance | 是否启动负载均衡 |
8 | maxTablePerVnode | 每个vnode中能够创建的最大表个数 |
9 | maxVgroupsPerDb | 每个DB中能够使用的最大vgroup个数 |
4.2 开放端口
协议 | 默认端口 | 用途说明 | 修改方法 |
---|---|---|---|
TCP | 6030 | 客户端域服务端之间通讯 | 由配置文件设置serverPort决定 |
TCP | 6035 | 多节点集群的节点间通讯 | 随serverPort 端口变化 |
TCP | 6040 | 多节点集群的几点数据同步 | 随serverPort 端口变化 |
TCP | 6041 | 客户端与服务端之间的RESTful通讯 | 随serverPort 端口变化 |
TCP | 6042 | Arbitrator服务端口 | 随Arbitrator启动参数变化 |
TCP | 6043 | TaosKeeper监控服务端口 | 随TaosKeeper启动参数设置变化 |
TCP | 6044 | 支持StatsD的数据接入端口 | 随taosadapter启动参数设置变化 |
TCP | 6045 | 支持collectd数据接入端口 | 随taosadapter启动参数设置变化 |
TCP | 6060 | 企业版内Monittor服务的网络端口 | |
UDP | 6030~6034 | 客户端域服务端之间通讯 | 随serverPort端口变化 |
UDP | 6035~6039 | 多节点集群的节点间通讯 | 随serverPort端口变化 |
5 常见问题
问题1:taosd.service failed.
Mar 03 16:52:57 master systemd[1]: Unit taosd.service entered failed state.
Mar 03 16:52:57 master systemd[1]: taosd.service failed.
Mar 03 16:53:12 master polkitd[630]: Registered Authentication Agent for unix-process:5070:623893 (system bus name :1.54 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale
Mar 03 16:53:12 master systemd[1]: start request repeated too quickly for taosd.service
Mar 03 16:53:12 master systemd[1]: Failed to start TDengine server service.
-- Subject: Unit taosd.service has failed
解决方法:
修改/etc/taos/taos.cfg的firstEp为正确的值。
问题2:failed to connect to server, reason: Mnode not found
解决方法:修改/etc/taos/taos.cfg中的配置
问题3:提示status not received
现象:添加一个节点后,在主节点上执行taos
后,执行show dnodes
,查看添加的节点
排查方法:
第一步:查看TDengine的服务是否正常
第二步:两台机器用telnet ip 6030下,看是否正常连通。
实际情况:
master可以telnet node1,但是node1不能telnet master。通过ping master 可以通,加上端口后,不行。说明master节点上边的6030端口没有打开。
解决方法:
在master节点上
[root@k8s-node1 tdengine]#systemctl start firewalld //开启防火墙
[root@k8s-node1 tdengine]# firewall-cmd --zone=public --add-port=6030-6042/tcp --permanent
success
[root@k8s-node1 tdengine]# firewall-cmd --zone=public --add-port=6030-6042/udp --permanent
success
[root@k8s-node1 tdengine]#
[root@k8s-node1 tdengine]# firewall-cmd --reload
验证:
node1在telnet master,便可以通过。
问题4:修改hostname后,启动TDengine报错
解决方法:
先执行rm -rf /var/lib/taos/*
,然后在执行 systemctl start taosd
。