【IOT】Thingsboard学习笔记(1):开源IOT平台thingsboard部署-windows平台

云平台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!
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值