用docker搭建环境快速体验刚开源的TDengine

本文介绍了如何使用Docker搭建TDengine数据库环境,并进行了简单的性能测试。通过创建Docker镜像,运行服务,进行写入和查询操作,展示了TDengine在4核8G服务器上的性能表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前两天国产的时序数据库TDengine开源了。为了测试其写入和读取性能,笔者特意写了这篇文章,方便读者们能跟我一块探究下这号称比Hadoop快10倍的国产开源数据库到底有什么样的特性。为了统一测试环境,笔者特意用docker在一台4核8G的服务器上进行了TDengine性能的初步测试。

Docker环境的搭建

安装docker

笔者参考docker的社区版安装文档在服务器上安装了docker。需要提示的一点是,如果登录用户名不是 root,那么每次执行 docker 命令必须要添加 sudo 命令,非常麻烦。这一点可以通过将登录用户加入到 docker 群组,然后登出服务器并重新登录服务器来解决。如果登出后重新登录服务器没有起作用,可以考虑重启服务器。

sudo usermod -aG docker <your_username>

安装 docker 成功后,下载 centos 镜像的image:

docker image pull centos

下载源代码并创建TDengine的镜像

TDengine的github主页下载源码:

git clone git@github.com:taosdata/TDengine.git
cd TDengine
</
<think>嗯,用户想让我介绍一下如何使用EMQX搭建MQTT服务器。首先,我需要确认EMQX是什么,它是一个开源的MQTT消息服务器,对吧?然后得考虑用户的使用场景,可能是物联网项目,或者需要实时消息传递的应用。用户可能对MQTT协议有一定了解,但可能不太清楚具体怎么搭建服务器。 接下来,我需要分步骤讲解安装过程。记得EMQX支持多种安装方式,比如Docker、二进制包、源码编译等。用户可能更喜欢简单的方法,比如Docker安装,这样步骤少,容易操作。不过也要提及其他安装方式,供有不同需求的用户参考。 然后,配置部分也很重要。默认配置可能就够用了,但用户可能需要修改监听端口、启用认证,比如用户名密码或者SSL证书。这里需要说明如何修改配置文件,或者通过Dashboard进行设置。特别是Web Dashboard的访问方式,默认端口是18083,用户可能需要知道如何访问。 验证部分,安装完成后如何测试服务器是否正常运行。可以用命令行工具如mosquitto_pub和mosquitto_sub,或者推荐一些客户端工具,比如MQTTX。这样用户能快速确认服务是否工作。 另外,用户可能关心高可用和集群配置,特别是如果他们需要处理大量连接或高并发情况。需要简单提到集群的搭建方法,比如通过手动配置或者Kubernetes,但不需要太深入,毕竟这可能属于进阶内容。 最后,安全性和性能调优也是需要考虑的。比如如何设置ACL,TLS加密,以及根据服务器硬件调整参数。用户可能没有提到这些,但作为最佳实践应该涵盖。 在组织回答时,要结构清晰,分步骤说明,语言简洁。避免使用太专业的术语,但也要准确。可能需要检查各个步骤是否正确,比如Docker命令是否正确,配置文件路径是否准确。另外,注意用户可能是在不同的操作系统上操作,比如Linux、Windows或者macOS,所以安装步骤可能需要涵盖不同平台,但EMQX主要支持Linux,所以可能以Linux为例,其他平台用Docker更方便。 还要考虑用户可能遇到的问题,比如端口被占用,防火墙设置,或者认证配置错误。可能需要在注意事项里提醒检查端口开放和防火墙设置。另外,EMQX企业版和开源版的区别,是否需要付费,这些可能也需要提及,但用户主要关注搭建,可能暂时不需要深入。 总结一下,回答的结构应该是:介绍EMQX,安装步骤,配置说明,验证方法,进阶配置(集群、安全、性能),以及注意事项。确保每个部分都简明扼要,用户能一步步跟着操作。以下</think>是如何使用 EMQX 搭建 MQTT 服务器的分步指南,适合物联网或实时消息场景的快速部署: ### 一、EMQX 简介 EMQX 是一款开源分布式 MQTT 消息服务器,支持: - 千万级设备并发连接 - 毫秒级消息传输 - TLS/SSL 加密通信 - SQL 规则引擎(企业版) - 跨平台部署(Linux/Docker/K8s) ### 二、极速安装(Docker版) ```bash # 单节点模式(适合测试) docker run -d --name emqx \ -p 1883:1883 \ -p 8083:8083 \ -p 8084:8084 \ -p 8883:8883 \ -p 18083:18083 \ emqx/emqx:5.6.0 # 生产环境推荐使用 Docker Compose 配置集群 ``` ### 三、关键配置调整 1. **配置文件路径**:`/etc/emqx/emqx.conf` (Docker容器内路径为 `/opt/emqx/etc/emqx.conf`) 2. **常用配置项: ```conf # 监听端口 listeners.tcp.default.bind = 0.0.0.0:1883 # 认证配置(示例:用户名密码) authentication = [ { mechanism = password_based backend = built_in_database user_id_type = username } ] # 开启 Dashboard dashboard = { listeners.http = { default = { bind = 0.0.0.0:18083 } } } ``` ### 四、管理控制台 1. 访问 `http://服务器IP:18083` 2. 默认账号:`admin/public`(首次登录后强制修改) ### 五、客户端测试(命令行) ```bash # 订阅主题(新终端) mosquitto_sub -h your_server_ip -t "test" -u username -P password # 发布消息(新终端) mosquitto_pub -h your_server_ip -t "test" -m "Hello EMQX" -u username -P password ``` ### 六、生产环境优化建议 1. **集群部署**:通过 `emqx ctl cluster join` 命令构建多节点集群 2. **安全加固**: - 启用 TLS:修改 `8883` 端口配置 - 配置 ACL 访问控制 - 禁用匿名认证 3. **性能调优**: ```conf # 调整 TCP 缓冲区 listeners.tcp.default.sndbuf = 4MB listeners.tcp.default.recbuf = 4MB # 连接数限制 zone.external.max_connections = 1000000 ``` ### 七、常见问题排查 1. **端口不通**:检查防火墙 `firewall-cmd --list-ports` 2. **认证失败**:通过 Dashboard 的「访问控制」模块检查凭证 3. **高负载优化**:调整 Linux 内核参数(最大文件描述符数等) ### 进阶功能 - 数据桥接:支持 Kafka/MySQL/TDengine 等 40+ 种数据源 - 规则引擎:实时处理消息(如 JSON 数据解析) - 速率限制:防止设备异常流量冲击 企业版提供更强大的监控报警、数据持久化和技术支持服务,开源版已覆盖大部分物联网场景需求。部署完成后建议通过 `emqx_ctl status` 命令验证节点状态。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值