三分钟梳理TDengine安装部署的逻辑
小 T 导读:TDengine,是涛思数据面对高速增长的物联网大数据市场和技术挑战推出的创新性的大数据处理产品,除却读写性能、存储压缩能力强大之外,还有安装简单、操作难度低等优势。今天我们就从常见的使用方式开始,给大家梳理一下TDengine的安装配置过程。
目前,TDengine服务端仅支持Linux X64系统,推荐CentOS 7.9 和 Ubuntu 18.04。硬件平台支持X64和arm64。 客户端支持Windows X64、Linux X64。mac版仍在开发中,未来将提供有限功能,用于开发环境。
下面,我们来分别从四种使用模式的角度探讨一下TDengine的安装部署。
1.本地使用单机版TDengine:
第一步:下载安装包:https://www.taosdata.com/cn/all-downloads/,一键式安装:https://www.taosdata.com/cn/all-downloads/
第二步:安装成功后,使用 systemctl start taosd命令来启动 TDengine 的服务进程。接下来使用systemctl status taosd命令检查服务是否正常工作。
现在,你就可以通过 TDengine 的命令行程序 taos 来访问并体验 TDengine了。
2.远程客户端连接使用单机版TDengine:
第一步,分别下载安装客户端和服务端(请确保客户端和服务端版本号保持一致):https://www.taosdata.com/cn/all-downloads/,安装:https://www.taosdata.com/cn/all-downloads/
第二步,在服务端的/etc/taos/taos.cfg文件中配置正确的fqdn参数(请避免使用localhost等容易本身就在客户端机器hosts文件中存在的名字),在客户端的hosts文件(或dns服务中)配置这个参数值以及对应的正确ip。
第三步,打开6030-6040的TCP+UDP端口以及6041,6042的TCP端口。
最后, 使用systemctl start taosd + systemctl status taosd命令确保服务正常启动后,在客户端使用taos -h fqdn(或者ip)直接连上服务端正常使用。
可以看出,和本机试跑TDengine相比起来,TDengine服务端与客户端分离的情况下多出了两个步骤。本着知其然知其所以然的精神,强烈建议大家了解一下下文中TDengine在安装部署模块的设计。
上述两种环境的配置差异可以简单归纳为这个逻辑:
即在网络环境正常的大前提下,可以干扰到TDengine客户端连接的只有上面这两种因素——1.端口配置;2.FQDN机制。
我们先来说端口配置规则:
TDengine要求数据库服务端服务器至少要保证端口:6030 - 6042的TCP和UDP端口都是开放的,其各个端口的用途如下:
但是,为了覆盖单机和集群两种场景,我们要求大家开放6030-6040的TCP+UDP端口以及6041,6042的TCP端口。而为了最大幅度降低意外情况的发生,我们强烈建议先关闭防火墙,等环境搭建完毕之后,再来配置端口。
由于在单机试用TDengine的情况下是没有防火墙参与的,所以我们才会不需要配置TDengine端口开放规则。
第二个因素则是FQDN:
FQDN的全称是Fully Qualified Domain Name。与域名相对,我们暂且翻译成全域名比较好理解一点。
由于上一期文章的铺垫,关于TDengine的FQDN相关原理和配置问题可以直接通过该篇文章来获取—— 如何彻底搞懂TDengine的fqdn概念?这一篇文章就够了。
正因为默认的fqdn参数值是本机的hostname,所以,在单机试用情况下,用户才可以无需任何配置直接使用客户端访问TDengine。
3.远程客户端连接使用集群版TDengine:
首先我们需要搭建一个可用的集群,这个环节请大家严格根据《TDengine集群安装、管理》的指导进行操作,可确保万无一失。
最后,在集群搭建完毕后,一定要确保客户端的hosts文件中添加了所有的集群节点的ip和fqdn参数值,确保它可以正确解析每个节点的ip。这样客户端就可以顺利地访问并使用TDengine的集群了。
四.最后,我们梳理一下连接器的使用
TDengine提供了丰富的应用程序开发接口,其中包括C/C++、Java、Python、Go、Node.js、C# 、Rust、RESTful 等,便于用户快速开发应用。对于他们来说,各种连接器能否顺利访问并使用TDengine才是他们最关注的问题。
官方文档上说:“当在另一台服务器使用连接器(除RESTful外)访问 TDengine 数据库的时候,我们需要安装与服务端相同版本号的客户端来使应用驱动(Linux系统中文件名为libtaos.so,Windows系统中为taos.dll)被安装在系统中。否则,在连接时就会产生“无法找到相应库文件”的错误。”
因此,大家一定不要忽略这一点——客户端正常访问并使用TDengine才是你的应用可以顺利使用TDengine的前提。
有些不熟悉的用户在安装完客户端就以为万事大吉,然后就去弄应用的连接配置了。有的用户则是使用taos连接命令看一下,又用一下"show databases"之类的命令发现没问题,就去弄应用的连接配置了。以上这两种都是不严谨的,在测试中一定要确保select以及insert操作的顺利返回预期结果,如:
1
2
3
|
create table test (ts timestamp , value int ); insert into test values (now,1); select * from test; |
如果验证没有成功,请返回前文根据描述继续排查。如果仍然无效,请通过微信技术交流群,或者github上联系我们,我们会尽最大的努力帮助大家。衷心希望大家能对TDengine有一个清晰的入门理解,毕竟好的开始是成功的一半。
验证成功后,有应用程序使用需求的用户就可以移步到官方文档《TDengine连接器》,根据需要找到相应连接器的正确配置方式。
三分钟梳理TDengine安装部署的逻辑的更多相关文章
- hadoop记录-[Flink]Flink三种运行模式安装部署以及实现WordCount(转载)
[Flink]Flink三种运行模式安装部署以及实现WordCount 前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现word ...
- 10分钟学会RabbitMQ安装部署
一.单机版的 RabbitMQ 的安装部署 1.安装 Erlang 环境 wget http://erlang.org/download/otp_src_19.3.tar.gz tar -zxvf o ...
- [Flink]Flink1.6三种运行模式安装部署以及实现WordCount
前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现wordcount 环境 版本:Flink 1.6.2 集群环境:Hadoop2 ...
- 三分钟学会使用Docker部署.NET Core
大概快有一年的时间没有碰过docker了,理由很简单,基本上都是在IIS上部署,看到很多大佬都开始Devops持续化集成了,但相对来说成本会更高,但对于大型团队来说还是不错的,这不?不想被大伙甩下,哈 ...
- Spark-Unit1-spark概述与安装部署
一.Spark概述 spark官网:spark.apache.org Spark是用的大规模数据处理的统一计算引擎,它是为大数据处理而设计的快速通用的计算引擎.spark诞生于加油大学伯克利分校AMP ...
- Apache入门篇(一)之安装部署apache
一.HTTPD特性 (1)高度模块化:core(核心) + modules(模块) = apache(2)动态模块加载DSO机制: Dynamic Shared Object(动态共享对象)(3)MP ...
- 三分钟部署Laxcus大数据管理系统
Laxcus是Laxcus大数据实验室历时五年,全体系自主设计研发的国内首套大数据管理系统.能够支撑百万台级计算机节点,提供EB量级存储和计算能力,兼容SQL和关系数据库.最新的2.x版本已经实现对当 ...
- Storm入门教程 第三章Storm集群安装部署步骤、storm开发环境
一. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...
- [转帖]VMware Vsphere 6.0安装部署 (三) vCenter Server安装
VMware Vsphere 6.0安装部署 (三) vCenter Server安装 2016年08月29日 14:59:14 dAng1r0Us 阅读数:72942 版权声明:本文为博主原创文 ...
- 三分钟快速上手TensorFlow 2.0 (下)——模型的部署 、大规模训练、加速
前文:三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署 TensorFlow 模型导出 使用 SavedModel 完整导出模型 不仅包含参数的权值,还包含计算的流程(即计算 ...
随机推荐
- bpmn的依赖注入
主要对象 new BPMN对象时,流程及对象结构如下图 依赖注入 在初始化bpmn对象时有传入additionalModules进行自定义操作,具体是如何实现这种模块化的管理,主要是用到了依赖注入ht ...
- VS/QT--调用第三方库dll总结
假设外部第三方库为 test.h,test.lib,test.dll, 调用的函数是 int fnTest(int param); 一.VS中的静态调用和动态调用 1.1 静态调用 静态调用需要用到 ...
- shell语法3-expr命令、read命令、echo命令
一.expr命令(注:常常配合``或者$()来取得所求的值) 1.expr用于求表达式的值:expr 表达式 注意: (1)用空格隔开每一项(2)用反斜杠放在shell特定的字符前面(发现表达式运行错 ...
- starlette.routing.NoMatchFound
目前正在学习FastAPI, 目前是学习到了引入静态文件.这是我引入的本地文件的方式 url_for('/static', path='/imgs/favicon.ico') 只要启动服务,就会报错5 ...
- Java的JDK以及maven环境变量配置
右键我的电脑->属性->高级->环境变量->系统变量 新建变量名(win7,win10系统变量)JAVA_HOME变量值填写D:\Java\jdk1.8.0_172为jdk的安 ...
- 浏览器是如何区分http和https协议的
浏览器的默认解析 我们在浏览器的地址栏中输入一个域名 taobao.com(不要按回车), 然后将地址栏进行复制,粘贴到文本文件后,发现是 http://taobao.com/. 这是浏览器的默认解析 ...
- syntax_lead_x.txt
select lead( t1.field_date-1, 1, null ) over(partition by t1.field_str order by t1.field_str),*from ...
- Self-Attention学习
2个连接+1个视频推荐 Self-Attention 原理与代码实现_DonngZH的博客-CSDN博客_selfattention代码 Transformer模型详解(图解最完整版) - 知乎 (z ...
- 三.database阶段回顾
阶段回顾: 1.mysql:文件管理软件 2.三部分: 服务端 sql语句 客户端 3.客户端 mysql navicat 4.授权操作 用户操作 授权操作 5.sql语句 数据库操作 create ...
- [django]钩子函数的一些细节(clean)
函数名 说明:clean_后面跟着的是需要校验字段名称 示例: class RelUserReset(forms.ModelForm): def clean_confirm_password(self ...