docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.5.2
TDengine数据更新
发表于
分类于
TDengine
TDengine数据建模
发表于
分类于
TDengine
创建库
-- 创建一个名为 power 的库,这个库的数据将保留 365 天(超过 365 天将被自动删除),副本数为3,每 10 天一个数据文件,内存块数为 6,允许更新数据
CREATE DATABASE power KEEP 365 REPLICA 3 DAYS 10 BLOCKS 6 UPDATE 1;
use power;
创建超级表
CREATE STABLE meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);
创建子表
CREATE TABLE d1001 USING meters TAGS ("Beijing.Chaoyang", 2);
插入数据
-- 如果该子表没有创建会自动创建
INSERT INTO d1001 USING meters TAGS ("Beijng.Chaoyang", 2) VALUES (now, 10.2, 219, 0.32);
TDengine客户端安装
发表于
分类于
TDengine
TDengine集群部署
发表于
分类于
TDengine
准备工作
- 准备3台服务器,搭建3节点集群
- 所有节点准备RPM安装包
- 建议关闭所有物理节点的防火墙,至少保证端口:6030 - 6042的TCP和UDP端口都是开放的
- 每台服务器执行
hostname -f,获取机器名,在各个节点都配置好/etc/hosts - 节点保证时区一致,时间相差不大
所有节点安装服务端(注意不要启动taosd服务)
# 安装命令
rpm -vi TDengine-server-2.2.1.1-Linux-x64.rpm
# 卸载命令
rpm -e tdengine
注意关键步骤:
Enter FQDN:port (like h1.taosdata.com:6030) of an existing TDengine cluster node to join OR leave it blank to build one :
- 第一台节点可以一路
回车,也可以输入自己的hostname:6030- 之后的节点到这一步时输入第一台节点的
hostname:6030
自动生成配置文件目录、数据库目录、日志目录。
- 配置文件缺省目录:
/etc/taos/taos.cfg, 软链接到/usr/local/taos/cfg/taos.cfg; - 数据库缺省目录:
/var/lib/taos, 软链接到/usr/local/taos/data; - 日志缺省目录:
/var/log/taos, 软链接到/usr/local/taos/log; /usr/local/taos/bin目录下的可执行文件,会软链接到/usr/bin目录下;/usr/local/taos/driver目录下的动态库文件,会软链接到/usr/lib目录下;/usr/local/taos/include目录下的头文件,会软链接到到/usr/include目录下;
修改TDengine的配置文件(所有节点的文件/etc/taos/taos.cfg都需要修改)
// firstEp 是每个数据节点首次启动后连接的第一个数据节点
firstEp h1.taosdata.com:6030
// 必须配置为本数据节点的FQDN,如果本机只有一个hostname, 可注释掉本项
fqdn h1.taosdata.com
// 配置本数据节点的端口号,缺省是6030
serverPort 6030
// 副本数为偶数的时候,需要配置,请参考《Arbitrator的使用》的部分
arbitrator ha.taosdata.com:6042
注意:一定要修改的参数是
firstEp和fqdn。在每个数据节点,firstEp需全部配置成一样,但fqdn一定要配置成其所在数据节点的值。
启动集群
# 启动服务命令
systemctl start taosd
systemctl status taosd
- 在第一台节点执行
taos命令进入控制台:
[root@data1 tdengine]# taos
Welcome to the TDengine shell from Linux, Client Version:2.2.1.1
Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.
-- 查看节点列表
taos> show dnodes;
id | end_point | vnodes | cores | status | role | create_time | offline reason |
======================================================================================================================================
1 | data1:6030 | 1 | 4 | ready | any | 2021-10-29 09:50:55.154 | |
Query OK, 1 row(s) in set (0.000985s)
启动第二、三台节点的服务
在第一台节点控制台执行加入节点的命令
-- 加入节点2
taos> create dnode "data2:6030";
Query OK, 0 of 0 row(s) in database (0.000578s)
-- 加入节点3
taos> create dnode "data2:6030";
Query OK, 0 of 0 row(s) in database (0.000578s)
-- 查看节点列表
taos> show dnodes;
id | end_point | vnodes | cores | status | role | create_time | offline reason |
======================================================================================================================================
1 | data1:6030 | 1 | 4 | ready | any | 2021-10-29 09:50:55.154 | |
2 | data2:6030 | 1 | 4 | ready | any | 2021-10-29 09:52:37.821 | |
3 | data3:6030 | 0 | 4 | ready | any | 2021-10-29 09:52:58.892 | |
TDengine单机体验
发表于
分类于
TDengine
# docker安装
docker run -d --name tdengine tdengine/tdengine
# 进入容器
docker exec -it tdengine /bin/bash
# 容器内执行命令
taosdemo
# 上述命令运行结束,进入tdengine终端
taos
taosdemo命令将在数据库 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 被设置为 “beijing” 或者 “shanghai”。
taosdemo命令本身带有很多选项,配置表的数目、记录条数等等,请执行 taosdemo –help详细列出
-- 查看数据库。
show databases;
-- 查看超级表
use test;
show stables;
-- 查看表,限制输出十条
select * from test.t0 limit 10;
-- 查看 d0 表的标签值
select groupid, location from test.d0;
-- 查询超级表下记录总条数
select count(*) from test.meters;
-- 查询1亿条记录的平均值、最大值、最小值等
select avg(current), max(voltage), min(phase) from test.meters;
-- 查询location="beijing"的记录总条数
select count(*) from test.meters where location="beijing";
-- 查询groupId=10的所有记录的平均值、最大值、最小值等
select avg(current), max(voltage), min(phase) from test.meters where groupId=10;
-- 对表d10按10s进行平均值、最大值和最小值聚合统计
select avg(current), max(voltage), min(phase) from test.d10 interval(10s);