小 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-6034端口负责客户端和服务端的通信。而6035-6040端口存在多节点集群之间的通讯和数据同步。

但是,为了覆盖单机和集群两种场景,我们要求大家开放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安装部署的逻辑的更多相关文章

  1. hadoop记录-[Flink]Flink三种运行模式安装部署以及实现WordCount(转载)

    [Flink]Flink三种运行模式安装部署以及实现WordCount 前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现word ...

  2. 10分钟学会RabbitMQ安装部署

    一.单机版的 RabbitMQ 的安装部署 1.安装 Erlang 环境 wget http://erlang.org/download/otp_src_19.3.tar.gz tar -zxvf o ...

  3. [Flink]Flink1.6三种运行模式安装部署以及实现WordCount

    前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现wordcount 环境 版本:Flink 1.6.2 集群环境:Hadoop2 ...

  4. 三分钟学会使用Docker部署.NET Core

    大概快有一年的时间没有碰过docker了,理由很简单,基本上都是在IIS上部署,看到很多大佬都开始Devops持续化集成了,但相对来说成本会更高,但对于大型团队来说还是不错的,这不?不想被大伙甩下,哈 ...

  5. Spark-Unit1-spark概述与安装部署

    一.Spark概述 spark官网:spark.apache.org Spark是用的大规模数据处理的统一计算引擎,它是为大数据处理而设计的快速通用的计算引擎.spark诞生于加油大学伯克利分校AMP ...

  6. Apache入门篇(一)之安装部署apache

    一.HTTPD特性 (1)高度模块化:core(核心) + modules(模块) = apache(2)动态模块加载DSO机制: Dynamic Shared Object(动态共享对象)(3)MP ...

  7. 三分钟部署Laxcus大数据管理系统

    Laxcus是Laxcus大数据实验室历时五年,全体系自主设计研发的国内首套大数据管理系统.能够支撑百万台级计算机节点,提供EB量级存储和计算能力,兼容SQL和关系数据库.最新的2.x版本已经实现对当 ...

  8. Storm入门教程 第三章Storm集群安装部署步骤、storm开发环境

    一. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...

  9. [转帖]VMware Vsphere 6.0安装部署 (三) vCenter Server安装

    VMware Vsphere 6.0安装部署 (三) vCenter Server安装 2016年08月29日 14:59:14 dAng1r0Us 阅读数:72942   版权声明:本文为博主原创文 ...

  10. 三分钟快速上手TensorFlow 2.0 (下)——模型的部署 、大规模训练、加速

    前文:三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署 TensorFlow 模型导出 使用 SavedModel 完整导出模型 不仅包含参数的权值,还包含计算的流程(即计算 ...

随机推荐

  1. 升级版本后,报错go: -i flag is deprecated

    环境 go version go1.18.6 升级go版本后,本地项目起不来 将-i去掉 应用,在重启,则正常启动

  2. Ubuntu下安装Node.js+ThreeJs

    以具有sudo特权的用户身份运行以下命令,以下载并执行NodeSource安装脚本 curl -sL https://deb.nodesource.com/setup_16.x | sudo -E b ...

  3. 【QT】打包QT程序

    发布QT程序时需要把依赖的库拷贝到程序所在文件夹下,可以使用如下方式: 命令行输入cmd,cd 到程序所在文件夹,输入windeployqt xx.exe --release 注xx.exe是程序的名 ...

  4. Java编码规范总结(腾讯)

    以下内容参考自:Java编码规范总结(腾讯+阿里)_pursue_vip的博客-CSDN博客_java编码规范 Java编码规范总结(参考腾讯编码规范) 一.java文件组织 文件组织规则:由于超过2 ...

  5. Golang(vs code) 调用其他自定义包解决方法

    初学Golang,昨天遇到一个问题:调用其他自定义包,会出现Gopath或者Goroot路径下找不到. 举个例子: 如图Gee文件夹下的三个.go 文件就是我main.go想调用的. 我有尝试过这种方 ...

  6. ES5中对象的继承

    1.继承的类型 在oo语言中,继承有两种方式,借口继承和实现继承,因为ECMAScript不支持方法签名,所以ECMAScript只支持实现继承. 2.原型链继承的实现 2.1.原型链 ES5继承可以 ...

  7. 了解了一下Cookie

    昨天做接口测试被Cookie折腾得云里雾里的,今天下午有时间特意了解了一下. 一:Edge浏览器查看Cookie的路径:设置->Cookie和网站权限 二:一个cookies包含以下信息:(1) ...

  8. JAVA常用类(一)Syatem类

    System类:系统类,主要用于获取系统的属性和方法,没有构造方法,其属性都是静态属性,方法都是静态方法 .System类是jdk提供的一个工具类,有final修饰,不可继承,由名字可以看出来,其中的 ...

  9. 解决linux多网卡线路选择----windows arp绑定

    1.arp -a 查看所有arp状态,有静态和动态 2.临时绑定ip和MACarp -s IP MAC //MAC用-分割 3.使用netsh做永久绑定a) 查看接口序号(Idx):netsh i i ...

  10. VS编译运行报错:找不到ucrtbased.dll文件

    VS编译运行报错:找不到ucrtbased.dll文件 在VS2019中配置OpenCV编译,报如下错误: 解决方法:下载缺少的ucrtbased.dll文件,在免费的dll下载网站搜索下载,对应的有 ...