一、选择安装文件版本
TDengine分为服务端和客户端,通常安装服务端即可,如果服务端和客户端不在一台主机上的话需要单独安装客户端。
二、将下载好的tar包上传到服务器即可
上传服务器后解压即可,
#替换为下载的安装包版本
tar -zxvf TDengine-server--Linux-x64.tar.gz
里面有两个文件夹、一个压缩文件和install.sh安装执行文件,进入对应的安装目录,也就是./install.sh文件所在目录,执行命令:
#需要管理员权限,如果不是管理员账户登录,加上sudo授予对应权限
sudo ./install.sh
至此,安装完成!
注意:
1、当安装第一个节点时,出现 Enter FQDN:提示的时候,不需要输入任何内容。只有当安装第二个或以后更多的节点时,才需要输入已有集群中任何一个可用节点的 FQDN,支持该新节点加入集群。当然也可以不输入,而是在新节点启动前,配置到新节点的配置文件中。
2、TDengine 使用 FQDN 来访问,而不是IP地址,因为在生产环境下IP地址可能会发生变化,所以要配置下hostname
修改hosts文件,命令:vim /etc/hosts
笔者的配置是:
其中:192.168.1.106是服务器(虚拟机IP地址,可使用命令ifconfig -a来查看),localdomain.com是linux主机名(这可不是随便写的,可使用命令hostname -f 来查看)
三、启动
#安装后,请使用 systemctl 命令来启动 TDengine 的服务进程。
systemctl start taosd
#检查服务是否正常工作:
systemctl status taosd
如果 TDengine 服务正常工作,那么您可以通过 TDengine 的命令行程序 taos 来访问并体验 TDengine。
systemctl 命令汇总:
启动服务进程:systemctl start taosd
停止服务进程:systemctl stop taosd
重启服务进程:systemctl restart taosd
查看服务状态:systemctl status taosd
注意:
systemctl stop taosd 指令在执行后并不会马上停止 TDengine 服务,而是会等待系统中必要的落盘工作正常完成。在数据量很大的情况下,这可能会消耗较长时间;
如果系统中不支持 systemd,也可以用手动运行 /usr/local/taos/bin/taosd 方式启动 TDengine 服务。
四、TDengine命令行快速体验
终端输入命令:
taos
至此,服务连接成功!
我们可以通过 SQL 命令来创建/删除数据库、表等,并进行数据库(database)插入查询操作,
例如:
1:创建数据库:
2:创建表
3、插入记录
4、查询记录
五、读写测试
5.1 写性能
InfluxDB作为目前业界最流行的一个TSDB,以性能作为突出特点而闻名,作为行业标杆,而TDengine官方称道在InfluxDB最优的环境条件下,TDengine的写入速度是它的两倍!并且在设备数量放大到1000的时候,TDengine的写入速度是InfluxDB的5.2倍!
TDengine官方已内置taosBenchmark命令为方便用户快速体验TDengine的写库性能,
启动 TDengine 的服务后,在终端输入:
taosBenchmark
该命令将在数据库 test 下面自动创建一张超级表 meters,该超级表下有 1 万张表,表名为 “d0” 到 “d9999”,每张表有 1 万条记录,每条记录有 (ts, current, voltage, phase) 四个字段,时间戳从 “2017-07-14 10:40:00 000” 到 “2017-07-14 10:40:09 999”,每张表带有标签 location 和 groupId,groupId 被设置为 1 到 10, location 被设置为 “California.SanFrancisco” 或者 “California.LosAngeles”。共计记录1亿条!
笔者目前虚拟机配置:2核3G 20G存储
实际测试如下:
**开启8个线程从创建表、插入记录1亿条共耗时84.6秒,平均每秒写1180000条记录!**记得之前笔者在mybatisPlus批量插入性能优化中测试mysql的批量插入时,写5w条数据就要耗时4秒左右(当然这只是粗略类比,毕竟两者适用业务不同)。TDengine的表现确实令人震惊!
5.2 读性能
查询超级表下的记录总数:(耗时0.35s,amazing!)
查询 1 亿条记录的平均值、最大值、最小值等:(耗时8.4秒)
查询 groupId=10 的所有记录的平均值、最大值、最小值等:(耗时0.86秒)