云平台Ubuntu系统下安装Thinsboard请参考:Ubuntu下安装Thingsboard
安装Java 8(OpenJDK)
ThingsBoard服务运行在Java 8上。请按照以下说明安装OpenJDK 8。
访问Open JDK下载页面以下载最新的OpenJDK 8(LTS) MSI软件包。
运行下载的MSI软件包并按照说明进行操作。 确保已选择“添加到路径”和“设置JAVA_HOME变量”选项为“将在本地硬盘驱动器上安装”状态。
您可以使用以下命令(使用命令提示符)检查安装:
java -version
命令输出结果:
C:\Users\User>java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b04, mixed mode)
2. 安装服务
下载安装包。
https://github.com/thingsboard/thingsboard/releases/download/v3.1.1/thingsboard-windows-3.1.1.zip
注意:我们假设你已将ThingsBoard软件包解压缩到默认位置:C:\Program Files (x86)\thingsboard
步骤3. 配置数据库
ThingsBoard能够使用SQL或hybrid数据库方式。 有关更多详细信息请参见相应的体系结构页面 。
PostgreSQL
(建议<5K消息/秒)
Hybrid
PostgreSQL+Cassandra
(建议<5K消息/秒)
Hybrid
PostgreSQL+TimescaleDB
PostgreSQL安装
下载安装文件(PostgreSQL 11.7或更高版本此处并按照安装说明进行操作。
下载地址:
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows
在PostgreSQL安装时系统将提示您输入超级用户(postgres)密码。
请一定牢记此密码,为了方便记忆我们将密码替换为postgres。
创建ThingsBoard数据库
安装成功后启动”pgAdmin”并使用超级用户(postgres)身份登录。
打开服务器并用”postgres”用户创建数据库”thingsboard”。
ThingsBoard配置
如果您已将PostgreSQL超级用户密码指定为”postgres”则可以跳过此步骤。
以管理员用户身份打开记事本或其他编辑器(右键单击应用程序图标然后选择”以管理员身份运行”)。
打开以下文件进行编辑(在文件选择对话框中选择“所有文件”而不是“文本文档”,编码为UTF-8):
C:\Program Files (x86)\thingsboard\conf\thingsboard.yml
找到”SQL DAO Configuration”代码块将postgres用户密码替换”postgres”:
SQL DAO Configuration
spring:
data:
jpa:
repositories:
enabled: "true"
jpa:
open-in-view: "false"
hibernate:
ddl-auto: "none"
database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}"
datasource:
driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
username: "${SPRING_DATASOURCE_USERNAME:postgres}"
password: "${SPRING_DATASOURCE_PASSWORD:YOUR_POSTGRES_PASSWORD_HERE}"
hikari:
maximumPoolSize: "${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:5}"
找到”SQL_POSTGRES_TS_KV_PARTITIONING”参数以覆盖时间戳键值存储分区大小的默认值:
sql:
postgres:
# Specify partitioning size for timestamp key-value storage. Example: DAYS, MONTHS, YEARS, INDEFINITE.
ts_key_value_partitioning: "${SQL_POSTGRES_TS_KV_PARTITIONING:MONTHS}"
步骤4. 选择消息队列服务
选择下面消息中间件代理服务之前的通信。
内存 默认队列适用于开发环境很有用请勿用于生产环境。
Kafka 对于本地和私有云部署可以独立于云服务供应商生产环境中使用。
RabbitMQ 如果没有太多负载并且已经具备一定的使用经验建议使用此方式。
AWS SQS 如是你打算在AWS上使用ThingsBoard则可以使用此消息队列。
Google发布/订阅 如果你打算在Google Cloud上部署ThingsBoard则可以使用此消息队列。
Azure服务总线 如果你打算在Azure上部署ThingsBoard则可以使用此消息队列。
Confluent云 基于Kafka的完全托管的事件流平台。
参见相应的架构页面和规则引擎页面以获取更多详细信息。
内存
(默认内置)
Kafka
(本地安装)
AWS
(AWS托管)
Google发布/订阅
(Google托管)
Azure服务总线
(Azure托管)
RabbitMQ
(本地最小安装)
Confluent云
(基于Kafka事件流)
默认使用内置的内存队列无需其他配置。
步骤5. [可选]低性能配置(1GB内存)
以管理员用户身份打开记事本或其他编辑器(右键单击应用程序图标,然后选择“以管理员身份运行”)。
打开以下文件进行编辑(在文件选择对话框中选择“所有文件”而不是“文本文档”,编码为UTF-8):
C:\Program Files (x86)\thingsboard\thingsboard.xml
在配置文件中找到以下几行。
<startargument>-Xms512m</startargument>
<startargument>-Xmx1024m</startargument>
并将它们更改为
<startargument>-Xms256m</startargument>
<startargument>-Xmx256m</startargument>
步骤6. 运行安装脚本
以管理员身份启动Windows Shell(命令提示符)将目录更改为ThingsBoard安装目录。
执行install.bat脚本将ThingsBoard作为Windows服务安装(或运行“install.bat –loadDemo”以安装和添加演示数据)。
这样在系统启动时自动启动服务。
执行uninstall.bat将从Windows服务中删除ThingsBoard。
输出以下内容:
C:\Program Files (x86)\thingsboard>install.bat --loadDemo
Detecting Java version installed.
CurrentVersion 18
Java 1.8 found!
Installing thingsboard ...
...
ThingsBoard installed successfully!
启动服务
以管理员身份打开命令提示符并执行以下命令:
net start thingsboard
执行输出结果:
您可以执行以下命令重新启动ThingsBoard服务:
net stop thingsboard
net start thingsboard
登录
输入URL地址:
http://127.0.0.1:8080
登录
如果在安装脚本的执行过程中指定了-loadDemo则可以使用以下默认凭据:
系统管理员: sysadmin@thingsboard.org / sysadmin
租户管理员: tenant@thingsboard.org / tenant
客户: customer@thingsboard.org / customer
常见错误
8080端口被占用
有其他服务占用了8080端口,将对应服务关闭即可。
不支持IO验证类型
在运行install过程中,出现不支持IO验证类型
数据库版本更改为了V11.14后正常了
说明安装的数据库版本不支持,尽量使用11.7以上的V11版本数据库。实测V13版本不支持,未测试V12版本
C:\Program Files (x86)\thingsboard>install
Detecting Java version installed.
CurrentVersion 18
Java 1.8 found!
Installing thingsboard ...
===================================================
:: ThingsBoard :: (v3.1.1)
===================================================
Starting ThingsBoard Installation...
Installing DataBase schema for entities...
Installing SQL DataBase schema part: schema-entities.sql
Unexpected error during ThingsBoard installation!
org.postgresql.util.PSQLException: 不支援 10 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网路区段,以及驱动程序所支援的验证架构模式已被支援。
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:634)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:217)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:52)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:216)
at org.postgresql.Driver.makeConnection(Driver.java:404)
at org.postgresql.Driver.connect(Driver.java:272)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.thingsboard.server.service.install.SqlAbstractDatabaseSchemaService.createDatabaseSchema(SqlAbstractDatabaseSchemaService.java:66)
at org.thingsboard.server.service.install.SqlAbstractDatabaseSchemaService.createDatabaseSchema(SqlAbstractDatabaseSchemaService.java:57)
at org.thingsboard.server.install.ThingsboardInstallService.performInstall(ThingsboardInstallService.java:194)
at org.thingsboard.server.ThingsboardInstallApplication.main(ThingsboardInstallApplication.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:597)
Unexpected error during ThingsBoard installation!
ThingsBoard installation failed!