• 开源物联网系统 ThingsBoard 上手


    开源物联网系统 ThingsBoard 上手

    在这里插入图片描述

    centos yum 被占用问题解决:
    描述:Another app is currently holding the yum lock; waiting for it to exit
    参考:https://blog.csdn.net/Dan1374219106/article/details/112450922

    查看yum占用:
    ps aux | grep yum
    解除占用
    rm -f /var/run/yum.pid
    
    • 1
    • 2
    • 3
    • 4

    安装环境:CentOS 7;ThingsBoard CE 3.4.1

    0. 预备

    # Install wget
    sudo yum install -y nano wget
    # Add latest EPEL release for CentOS 7
    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    • 1
    • 2
    • 3
    • 4

    1. 安装 Java 11(OpenJDK)

    sudo yum install java-11-openjdk
    
    • 1

    设置 Java 11 为系统jdk默认版本

    sudo update-alternatives --config java
    
    • 1

    检查 java 版本

    java -version
    输出:
    openjdk version "11.0.xx"
    OpenJDK Runtime Environment (...)
    OpenJDK 64-Bit Server VM (build ...)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2. ThingsBoard 服务安装

    下载安装包

    wget https://github.com/thingsboard/thingsboard/releases/download/v3.4.1/thingsboard-3.4.1.rpm
    
    • 1

    安装 ThingsBoard 服务

    # 这里有个坑,网速慢,下载下来有两个,实际我是安装的  thingsboard-3.4.1.rpm.1
    sudo rpm -Uvh thingsboard-3.4.1.rpm
    
    • 1
    • 2

    3. 配置 ThingsBoard 数据库

    ThingsBoard 支持关系型数据库,或者关系型数据库+时序数据库(Cassandra,TimescaleDB), 这里使用 PostgreSQL。

    # 升级系统
    sudo yum update
    
    • 1
    • 2

    安装 PostgreSQL

    # Install the repository RPM (for CentOS 7):
    sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    # Install packages
    sudo yum -y install epel-release yum-utils
    sudo yum-config-manager --enable pgdg12
    sudo yum install postgresql12-server postgresql12
    # Initialize your PostgreSQL DB
    sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
    sudo systemctl start postgresql-12
    # Optional: Configure PostgreSQL to start on boot
    sudo systemctl enable --now postgresql-12
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    为 postgres 用户设置密码:

    sudo su - postgres
    psql
    \password
    \q
    
    • 1
    • 2
    • 3
    • 4

    Ctrl+D 退出。

    设置验证模式为 MD5:

    sudo vim /var/lib/pgsql/12/data/pg_hba.conf
    
    • 1

    定位到以下内容:

    # IPv4 local connections:
    host    all             all             127.0.0.1/32            ident
    
    • 1
    • 2

    将 ident 替换为 md5

    host    all             all             127.0.0.1/32            md5
    
    • 1

    重启 PostgreSQL 服务,重载新的配置

    sudo systemctl restart postgresql-12.service
    
    • 1

    创建 thingsboard 数据库

    psql -U postgres -d postgres -h 127.0.0.1 -W
    
    • 1

    执行以下 SQL 语句:

    CREATE DATABASE thingsboard;
    \q
    
    
    • 1
    • 2
    • 3

    编辑 ThingsBoard 配置文件

    sudo vim /etc/thingsboard/conf/thingsboard.conf
    
    • 1

    添加如下内容,并配置相应的数据库密码:

    # DB Configuration 
    export DATABASE_TS_TYPE=sql
    export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
    export SPRING_DATASOURCE_USERNAME=postgres
    export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
    # Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
    export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4. 选择 ThingsBoard 队列服务

    默认为 内存 方式

    5. 内存低的电脑,可以更改配置文件(可选)

    sudo vim /etc/thingsboard/conf/thingsboard.conf
    
    • 1

    增加以下内容:

    # Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
    export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
    
    • 1
    • 2

    6. 运行安装脚本

    # --loadDemo option will load demo data: users, devices, assets, rules, widgets.
    sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
    
    • 1
    • 2

    在这里插入图片描述

    7. 启动 ThingsBoard 服务

    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
    sudo firewall-cmd --reload
    
    • 1
    • 2

    启动 ThingsBoard:

    sudo service thingsboard start
    
    • 1

    访问地址:

    http://localhost:8080/
    
    • 1

    如果执行了第六步,会有示例用户信息:

    System Administrator: sysadmin@thingsboard.org / sysadmin
    Tenant Administrator: tenant@thingsboard.org / tenant
    Customer User: customer@thingsboard.org / customer
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    安装后

    1. 故障排查,ThingsBoard 日志位置:

      /var/log/thingsboard
      
      • 1
    2. 查看错误日志:

      cat /var/log/thingsboard/thingsboard.log | grep ERROR
      
      • 1

    初次练手

    参考:Getting Started with ThingsBoard | ThingsBoard Community Edition

    在这里插入图片描述

  • 相关阅读:
    漫谈:C语言 C++ 所有编程语言 =和==的麻烦
    发必收藏的好用API接口,可领取免费次数
    Windows10专业版系统安装Hyper-V虚拟机软件
    Kafka线上问题优化
    实现动态大数结构
    实现客户端pineline的思路
    Mysq查询性能调优
    浅谈量子纠缠,易经,能量,世界(一)
    微服务 | Springboot整合Seata+Nacos实现分布式事务
    双非一本 大一 就业方向选择
  • 原文地址:https://blog.csdn.net/xingkongtianyuzhao/article/details/128059376