1.安装
1.1 卸载旧版本tdengine
rmtaos
旧版本不会删除配置和数据日志相关文件,需要root权限手动删除:
rm -rf /etc/taos/taos.cfg
rm -rf /var/lib/taos
rm -rf /var/log/taos
1.2 从官网下载获得tar.gz安装包
网址:
使用安装包立即开始 | TDengine 文档 | 涛思数据
下载到一个节点,其他节点可通过命令同步文件:
scp /opt/software/TDengine-server-3.2.1.0-Linux-x64.tar.gz root@hadoop104:/opt/software/
1.3 安装
进入到TDengine-server-2.0.0.0-Linux-x64.tar.gz安装包所在目录,先解压文件后,进入子目录,执行其中的install.sh安装脚本:在所有物理节点安装 TDengine,且版本必须是一致的,但不要启动 taosd
tar -zxvf TDengine-server-3.2.1.0-Linux-x64.tar.gz -C /opt/module/
cd /opt/module/TDengine-server-3.2.1.0
./install.sh
1.4 检查/修改配置
vim /etc/taos/taos.cfg
// firstEp 是每个数据节点首次启动后连接的第一个数据节点
firstEp hadoop102:6030
// 必须配置为本数据节点的 FQDN,如果本机只有一个 hostname,可注释掉本项
fqdn hadoop102
// 配置本数据节点的端口号,缺省是 6030
serverPort 6030
注意:一定要修改的参数是 firstEp 和 fqdn。在每个数据节点,firstEp 需全部配置成一样,但 fqdn 一定要配置成其所在数据节点的值。其他参数可不做任何修改,除非你很清楚为什么要修改。
2. 启动
2.1 第一个数据节点:hadoop102
执行 taos,启动 TDengine CLI
systemctl start taosd #启动服务
taos # 进入TDengine CLI
SHOW DNODES # 查看节点
2.2 启动其他物理节点
注意:每个物理节点都需要在 taos.cfg 文件中将 firstEp 参数配置为新集群首个节点的 End Point——在本例中是 hadoop102:6030
在该节点启动taos服务
systemctl start taosd
2.3 在第一个数据节点cli中用命令增加其他几台节点
使用 CLI 程序 taos,登录进 TDengine 系统,执行命令:
taos
CREATE DNODE "hadoop103:6030";
CREATE DNODE "hadoop104:6030";
SHOW DNODES
此时hadoop103、hadoop104节点已被td集群加入:
3. 创建用户
hadoop102进入taos,执行:
CREATE USER xmx PASS 'xmx';
用户名:xmx 密码:xmx
修改用户密码:alter user root pass `your password`
用户登录:taos -uxmx -pxmx;
4. Java 连接
TDengine 集群和应用程序之间的连接是通过taosAdapter 实现的。taosAdapter 提供以下功能:
- RESTful 接口
- 兼容 InfluxDB v1 写接口
- 兼容 OpenTSDB JSON 和 telnet 格式写入
- 无缝连接到 Telegraf
- 无缝连接到 collectd
- 无缝连接到 StatsD
- 支持 Prometheus remote_read 和 remote_write
- 获取 table 所在的虚拟节点组(VGroup)的 VGroup ID
taosAdapter 是 TDengine 服务端软件 的一部分,此时无需额外安装,只需要将对应的服务启动即可:
systemctl start taosadapter
4.1 测试端口连通性
java代码执行所在服务器执行:(下图是windows IDEA中执行,因此在Windows cmd )
telnet hadoop102 6030
telnet hadoop102 6041
两次均出现以下说明连接成功
4.2 Java 测试连接
两种连接方式:
- JDBC 原生连接:Java 应用在物理节点 1(pnode1)上使用 TSDBDriver 直接调用客户端驱动(libtaos.so 或 taos.dll)的 API 将写入和查询请求发送到位于物理节点 2(pnode2)上的 taosd 实例。
- JDBC REST 连接:Java 应用通过 RestfulDriver 将 SQL 封装成一个 REST 请求,发送给物理节点 2 的 REST 服务器(taosAdapter),通过 REST 服务器请求 taosd 并返回结果。
此时为确保简单,使用JDBC REST 连接。
Maven 项目中,在 pom.xml 中添加以下依赖:
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbcdriver</artifactId>
<version>3.2.7</version>
</dependency>
代码:
package com.td;
import com.taosdata.jdbc.TSDBDriver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class Tdtest {
public static void main(String[] args) throws SQLException {
String jdbcUrl = "jdbc:TAOS-RS://hadoop102:6030?user=xmx&password=xmx";
Properties connProps = new Properties();
connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
connProps.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
Connection conn = DriverManager.getConnection(jdbcUrl, connProps);
System.out.println("Connected");
conn.close();
}
}
显示Connected表示连接成功: