涛思数据 · 2019年12月12日

想在树莓派上跑 TDengine?没问题!TDengine 已支持 ARM64 位处理器

在 TDengine 的 Issue 集中搜索关键词“ARM”,所列条目不少,也有很多用户跟我们的研发人员反馈,希望 TDengine 能尽快在 ARM 平台上跑起来。这项任务一直都在我们的研发计划内,并且,在 TDengine 最近更新的 1.6.4.0 版本上,已正式支持 ARM 64 位处理器。今后如果你想在树莓派上处理物联网、车联网、工业互联网数据,完全不需要把时间花在数据库的选择上,直接使用 TDengine 就对了!

那么, TDengine 如何在 ARM 64 位版本上编译呢? 很简单,下面以开发调试环境为例,介绍一下 TDengine 的编译过程。

编译环境

硬件环境:华为泰山ARM云服务器

kylin@kylinos:~/git$ lscpu
Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
每个核的线程数:1
每个座的核数:  2
Socket(s):             1
NUMA 节点:         1
L1d 缓存:          64K
L1i 缓存:          64K
L2 缓存:           512K
L3 缓存:           32768K
NUMA node0 CPU(s):     0,1

OS环境:银河麒麟

kylin@kylinos:~/git$ uname -a
Linux kylinos 4.15.0-58-generic #64kord1k1 SMP Thu Aug 15 15:51:07 CST 2019 aarch64 aarch64 aarch64 GNU/Linux

注:在其他环境(比如不同的 ARM CPU 或其他 OS)中,可能会出现一些环境相关的问题,如果你在编译过程中遇到了,还请在 GitHub 上提交 Issue。

TDengine的编译方式

一、make方式

1、从GitHub 获取 TDengine工程

kylin@kylinos:~/git$ git clone https://github.com/taosdata/TDengine.git

2、进入工程目录完成编译

kylin@kylinos:~/git$ cd TDengine
kylin@kylinos:~/git/TDengine$ mkdir debug
kylin@kylinos:~/git/TDengine$ cd debug
kylin@kylinos:~/git/TDengine/debug$ sudo cmake .. -DARMVER=arm64
kylin@kylinos:~/git/TDengine/debug$ sudo make

编译成功后,在 build 目录下会生成 bin、lib 两个目录,其中 bin/taos、bin/taosd 就是客户端和服务端的执行程序;lib 目录里面库文件。

可以直接在 bin 目录下执行 ./taosd 启动服务端进程(使用缺省配置文件:/etc/taos/taos.cfg),执行 ./taos 启动客户端 shell。

二、打包方式

1、从GitHub获取TDengine工程:

kylin@kylinos:~/git$ git clone https://github.com/taosdata/TDengine.git

2、进入工程目录,执行编译、打包脚本:

kylin@kylinos:~/git$ cd TDengine
kylin@kylinos:~/git/TDengine$ sudo ./packaging/release.sh arm64

成功完成编译和打包后,在当前目录下,会生成debs、rpms、release三个目录:

kylin@kylinos:~/git/TDengine$ ll debs
总用量 2036
drwxr-xr-x  2 root  root     4096 12月  4 16:58 ./
drwxrwxr-x 13 kylin kylin    4096 12月  4 16:58 ../
-rw-r--r--  1 root  root  2073162 12月  4 16:58 TDengine-1.6.4.1-arm64.deb
kylin@kylinos:~/git/TDengine$ ll rpms
总用量 4364
drwxr-xr-x  2 root  root     4096 12月  4 16:58 ./
drwxrwxr-x 13 kylin kylin    4096 12月  4 16:58 ../
-rw-r--r--  1 root  root  4458442 12月  4 16:58 TDengine-1.6.4.1-arm64.rpm
kylin@kylinos:~/git/TDengine$ ll release/
总用量 6884
drwxr-xr-x  2 root  root     4096 12月  4 16:58 ./
drwxrwxr-x 13 kylin kylin    4096 12月  4 16:58 ../
-rw-r--r--  1 root  root  4426874 12月  4 16:58 TDengine-1.6.4.1-arm64.tar.gz
-rw-r--r--  1 root  root  2611591 12月  4 16:58 TDengine-client-1.6.4.1-arm64.tar.gz

debs目录下是TDengine服务端的deb安装包;

rpms目录下是TDengine服务端的rpm安装包;

release目录下是TDengine服务端和客户端的tar压缩安装包。

不妨试一试

都有哪些设备会用到 ARM 64 位处理器呢?

比如常见的手机、平板电脑、数字电视、机顶盒、服务器、智能家居、汽车驾驶系统、还有一些可穿戴设备。这时,就有人会问了,安卓手机上是否能跑起来 TDengine?

移植一款软件除了要看硬件系统外,也要考虑操作系统。目前,TDengine 客户端支持 Windows 和 Linux,也可以通过 RESTful 接口在任何平台上连接 TDengine 服务器,但是TDengine 服务器端只支持 Linux 系统。

如果你有把 TDengine 服务器跑在其他操作系统或 CPU 上的想法,我们建议你去试一试,毕竟想法还是要有的,万一实现了呢。最近就有网友分享,将 TDengine 成功的跑在了国产 CPU 龙芯上,运行起来没有遇到任何问题。

也非常欢迎到时候你能把实现过程分享出来,集优秀想法之大成,我想,这才是 TDengine 开源的意义。

点击wwww.taosdata.com,体验 TDengine!

推荐阅读
关注数
1
内容数
2
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息