Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN产品汪
TDengine
提交
e25766c4
T
TDengine
项目概览
CSDN产品汪
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e25766c4
编写于
8月 26, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
8月 26, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3235 from taosdata/develop
Merge from develop into master
上级
40fe9520
abe58721
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
93 addition
and
35 deletion
+93
-35
documentation20/webdocs/markdowndocs/administrator-ch.md
documentation20/webdocs/markdowndocs/administrator-ch.md
+1
-1
documentation20/webdocs/markdowndocs/cluster-ch.md
documentation20/webdocs/markdowndocs/cluster-ch.md
+3
-3
documentation20/webdocs/markdowndocs/faq-ch.md
documentation20/webdocs/markdowndocs/faq-ch.md
+29
-5
tests/perftest-scripts/tdengineTestWriteLoop.sh
tests/perftest-scripts/tdengineTestWriteLoop.sh
+60
-26
未找到文件。
documentation20/webdocs/markdowndocs/administrator-ch.md
浏览文件 @
e25766c4
...
...
@@ -94,7 +94,7 @@ TDengine系统后台服务由taosd提供,可以在配置文件taos.cfg里修
-
maxSQLLength:单条SQL语句允许最长限制。默认值:65380字节。
-
telemetryReporting: 是否允许 TDengine 采集和上报基本使用信息,0表示不允许,1表示允许。 默认值:1。
**注意:**
对于端口,TDengine会使用从serverPort起1
2个连续的TCP和UDP端口号,请务必在防火墙打开。因此如果是缺省配置,需要打开从6030都6041共12
个端口,而且必须TCP和UDP都打开。
**注意:**
对于端口,TDengine会使用从serverPort起1
3个连续的TCP和UDP端口号,请务必在防火墙打开。因此如果是缺省配置,需要打开从6030都6042共13
个端口,而且必须TCP和UDP都打开。
不同应用场景的数据往往具有不同的数据特征,比如保留天数、副本数、采集频次、记录大小、采集点的数量、压缩等都可完全不同。为获得在存储上的最高效率,TDengine提供如下存储相关的系统配置参数:
...
...
documentation20/webdocs/markdowndocs/cluster-ch.md
浏览文件 @
e25766c4
...
...
@@ -10,7 +10,7 @@ TDengine的集群管理极其简单,除添加和删除节点需要人工干预
**第一步**
:如果搭建集群的节点中,存有之前的测试数据、装过1.X的版本,或者装过其他版本的TDengine,请先将其删除,并清空所有数据,具体步骤请参考博客
[
《TDengine多种安装包的安装和卸载》
](
https://www.taosdata.com/blog/2019/08/09/566.html
)
**第二步**
:建议关闭防火墙,至少保证端口:6030 - 604
1
的TCP和UDP端口都是开放的。
**强烈建议**
先关闭防火墙,集群搭建完毕之后,再来配置端口;
**第二步**
:建议关闭防火墙,至少保证端口:6030 - 604
2
的TCP和UDP端口都是开放的。
**强烈建议**
先关闭防火墙,集群搭建完毕之后,再来配置端口;
**第三步**
:在所有节点安装TDengine,且版本必须是一致的,
**但不要启动taosd**
;
...
...
@@ -33,7 +33,7 @@ fqdn h1.taosdata.com
serverPort 6030
// 副本数为偶数的时候,需要配置,请参考《Arbitrator的使用》的部分
arbitrator ha.taosdata.com:60
30
arbitrator ha.taosdata.com:60
42
```
一定要修改的参数是firstEp, 其他参数可不做任何修改,除非你很清楚为什么要修改。
...
...
@@ -169,5 +169,5 @@ SHOW MNODES;
如果副本数为偶数,当一个vnode group里一半或超过一半的vnode不工作时,是无法从中选出master的。同理,一半或超过一半的mnode不工作时,是无法选出mnode的master的,因为存在“split brain”问题。为解决这个问题,TDengine引入了arbitrator的概念。Arbitrator模拟一个vnode或mnode在工作,但只简单的负责网络连接,不处理任何数据插入或访问。只要包含arbitrator在内,超过半数的vnode或mnode工作,那么该vnode group或mnode组就可以正常的提供数据插入或查询服务。比如对于副本数为2的情形,如果一个节点A离线,但另外一个节点B正常,而且能连接到arbitrator, 那么节点B就能正常工作。
TDengine安装包里带有一个执行程序tarbitrator, 找任何一台Linux服务器运行它即可。该程序对系统资源几乎没有要求,只需要保证有网络连接即可。该应用的命令行参数
`-p`
可以指定其对外服务的端口号,缺省是60
30
。配置每个taosd实例时,可以在配置文件taos.cfg里将参数arbitrator设置为arbitrator的End Point。如果该参数配置了,当副本数为偶数数,系统将自动连接配置的arbitrator。
TDengine安装包里带有一个执行程序tarbitrator, 找任何一台Linux服务器运行它即可。该程序对系统资源几乎没有要求,只需要保证有网络连接即可。该应用的命令行参数
`-p`
可以指定其对外服务的端口号,缺省是60
42
。配置每个taosd实例时,可以在配置文件taos.cfg里将参数arbitrator设置为arbitrator的End Point。如果该参数配置了,当副本数为偶数数,系统将自动连接配置的arbitrator。
documentation20/webdocs/markdowndocs/faq-ch.md
浏览文件 @
e25766c4
...
...
@@ -36,25 +36,34 @@
检查客户端侧TCP端口链接是否工作:
`nc {hostIP} {port}`
## 6. 虽然语法正确,为什么我还是得到 "Invalid SQL" 错误
## 6. 遇到错误“Unexpected generic error in RPC”, 我怎么办?
产生这个错误,是由于客户端或数据节点无法解析FQDN(Fully Qualified Domain Name)导致。对于TAOS Shell或客户端应用,请做如下检查:
1.
请检查连接的服务器的FQDN是否正确
2.
如果网络配置有DNS server, 请检查是否正常工作
3.
如果网络没有配置DNS server, 请检查客户端所在机器的hosts文件,查看该FQDN是否配置,并是否有正确的IP地址。
4.
如果网络配置OK,从客户端所在机器,你需要能Ping该连接的FQDN,否则客户端是无法链接服务器的
## 7. 虽然语法正确,为什么我还是得到 "Invalid SQL" 错误
如果你确认语法正确,2.0之前版本,请检查SQL语句长度是否超过64K。如果超过,也会返回这个错误。
##
7
. 是否支持validation queries?
##
8
. 是否支持validation queries?
TDengine还没有一组专用的validation queries。然而建议你使用系统监测的数据库”log"来做。
##
8
. 我可以删除或更新一条记录吗?
##
9
. 我可以删除或更新一条记录吗?
不能。因为TDengine是为联网设备采集的数据设计的,不容许修改。但TDengine提供数据保留策略,只要数据记录超过保留时长,就会被自动删除。
## 10. 我怎么创建超过
250
列的表?
## 10. 我怎么创建超过
1024
列的表?
使用2.0及其以上版本,默认支持1024列;2.0之前的版本,TDengine最大允许创建250列的表。但是如果确实超过限值,建议按照数据特性,逻辑地将这个宽表分解成几个小表。
## 10. 最有效的写入数据的方法是什么?
批量插入。每条写入语句可以一张表同时插入多条记录,也可以同时插入多张表的记录。
批量插入。每条写入语句可以一张表同时插入多条记录,也可以同时插入多张表的
多条
记录。
## 11. 最有效的写入数据的方法是什么?windows系统下插入的nchar类数据中的汉字被解析成了乱码如何解决?
...
...
@@ -68,5 +77,20 @@ Connection = DriverManager.getConnection(url, properties);
## 12.TDengine GO windows驱动的如何编译?
请看为此问题撰写的
<a
href=
'blog/2020/01/06/tdengine-go-windows驱动的编译/'
>
技术博客
## 13.JDBC报错: the excuted SQL is not a DML or a DDL?
请更新至最新的JDBC驱动
```
JAVA
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbcdriver</artifactId>
<version>2.0.4</version>
</dependency>
```
## 14. 怎么报告问题?
如果 FAQ 中的信息不能够帮到您,需要 TDengine 技术团队的技术支持与协助,请将以下两个目录中内容打包:
1.
/var/log/taos
2.
/etc/taos
附上必要的问题描述,以及发生该问题的执行操作,出现问题的表征及大概的时间,在
<a
href=
'https://github.com/taosdata/TDengine'
>
GitHub
</a>
提交Issue。
为了保证有足够的debug信息,如果问题能够重复,请修改/etc/taos/taos.cfg文件,最后面添加一行“debugFlag 135"(不带引号本身),然后重启taosd, 重复问题,然后再递交。但系统正常运行时,请一定将debugFlag设置为131,否则会产生大量的日志信息,降低系统效率。
tests/perftest-scripts/tdengineTestWriteLoop.sh
浏览文件 @
e25766c4
...
...
@@ -24,22 +24,46 @@ function runTest {
for
r
in
${
!rowsPerRequest[@]
}
;
do
for
c
in
`
seq
1
$clients
`
;
do
totalRPR
=
0
OUTPUT_FILE
=
tdengineTestWrite-RPR
${
rowsPerRequest
[
$r
]
}
-clients
$c
.out
if
$v16
;
then
OUTPUT_FILE
=
tdengineTestWrite-v16-RPR
${
rowsPerRequest
[
$r
]
}
-clients
$c
.out
else
OUTPUT_FILE
=
tdengineTestWrite-v20-RPR
${
rowsPerRequest
[
$r
]
}
-clients
$c
.out
fi
for
i
in
`
seq
1
$NUM_LOOP
`
;
do
restartTaosd
$TAOSD_DIR
/taos
-s
"drop database db"
>
/dev/null 2>&1
printTo
"loop i:
$i
,
$TDTEST_DIR
/tdengineTest
\
if
!
$printresultonly
;
then
restartTaosd
$TAOSD_DIR
/taos
-s
"drop database db"
>
/dev/null 2>&1
if
$v16
;
then
printTo
"loop i:
$i
,
$TDTEST_DIR
/tdengineTest
\
-dataDir
$DATA_DIR
\
-numOfFiles
$NUM_OF_FILES
\
-w -clients
$c
\
-rowsPerRequest
${
rowsPerRequest
[
$r
]
}
"
$TDTEST_DIR
/tdengineTest
\
-dataDir
$DATA_DIR
\
-numOfFiles
$NUM_OF_FILES
\
-w
-clients
$c
\
-rowsPerRequest
${
rowsPerRequest
[
$r
]
}
\
|
tee
$OUTPUT_FILE
-writeClients
$c
\
-rowsPerRequest
${
rowsPerRequest
[
$r
]
}
\
| tee
$OUTPUT_FILE
"
$TDTEST_DIR
/tdengineTest
\
-dataDir
$DATA_DIR
\
-numOfFiles
$NUM_OF_FILES
\
-writeClients
$c
\
-rowsPerRequest
${
rowsPerRequest
[
$r
]
}
\
|
tee
$OUTPUT_FILE
else
printTo
"loop i:
$i
,
$TDTEST_DIR
/tdengineTest
\
-dataDir
$DATA_DIR
\
-numOfFiles
$NUM_OF_FILES
\
-w -clients
$c
\
-rowsPerRequest
${
rowsPerRequest
[
$r
]
}
\
| tee
$OUTPUT_FILE
"
$TDTEST_DIR
/tdengineTest
\
-dataDir
$DATA_DIR
\
-numOfFiles
$NUM_OF_FILES
\
-w
-clients
$c
\
-rowsPerRequest
${
rowsPerRequest
[
$r
]
}
\
|
tee
$OUTPUT_FILE
fi
fi
RPR
=
`
cat
$OUTPUT_FILE
|
grep
speed |
awk
'{print $(NF-1)}'
`
totalRPR
=
`
echo
"scale=4;
$totalRPR
+
$RPR
"
| bc
`
printTo
"rows:
${
rowsPerRequest
[
$r
]
}
, clients:
$c
, i:
$i
RPR:
$RPR
"
...
...
@@ -86,25 +110,30 @@ function restartTaosd {
################ Main ################
master
=
false
develop
=
true
v16
=
false
v20
=
true
verbose
=
false
clients
=
1
printresultonly
=
false
while
:
;
do
case
$1
in
printresultonly
)
printresultonly
=
true
shift
;;
-v
)
verbose
=
true
shift
;;
master
)
master
=
true
develop
=
false
v16
)
v16
=
true
v20
=
false
shift
;;
develop
)
master
=
false
develop
=
true
v20
)
v16
=
false
v20
=
true
shift
;;
-c
)
...
...
@@ -120,19 +149,24 @@ while : ; do
esac
done
if
$
master
;
then
echo
"Test
master
branch.."
cp
/mnt/root/cfg/master/taos.cfg /etc/taos/taos.cfg
WORK_DIR
=
/mnt/root/TDengine.master
if
$
v16
;
then
echo
"Test
v16
branch.."
WORK_DIR
=
/mnt/root/TDengine.v16
cp
/mnt/root/cfg/v16/taos.cfg /etc/taos/taos.cfg
else
echo
"Test
develop
branch.."
cp
/mnt/root/cfg/
develop
/taos.cfg /etc/taos/taos.cfg
echo
"Test
v20
branch.."
cp
/mnt/root/cfg/
v20
/taos.cfg /etc/taos/taos.cfg
WORK_DIR
=
/mnt/root/TDengine
fi
TAOSD_DIR
=
$WORK_DIR
/debug/build/bin
TDTEST_DIR
=
$WORK_DIR
/tests/comparisonTest/tdengine
if
[
!
-f
$TDTEST_DIR
/tdengineTest
]
;
then
echo
"Please build tdengineTest first!"
exit
1
fi
runTest
echo
"Test done!"
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录