首页 > 系统相关 >在Centos8安装ThingsBoard

在Centos8安装ThingsBoard

时间:2024-09-26 15:45:31浏览次数:6  
标签:postgres -- sudo conf ThingsBoard 安装 thingsboard Centos8

硬件要求取决于所选数据库和连接到系统的设备数量。要在单台机器上运行 ThingsBoard 和 PostgreSQL,您至少需要 4Gb 的 RAM。

本文以Centos8系统为例,演示安装部署ThingsBoard全过程。

安装必要的工具

# Install wget
sudo dnf install -y nano wget
# Add latest EPEL release for CentOS 8
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

1.安装 Java 17(OpenJDK)

ThingsBoard 服务在 Java 17 上运行

# 安装 OpenJDK 17
sudo dnf install java-17-openjdk
# 将操作系统配置为默认使用 OpenJDK 17
sudo update-alternatives --config java
# 检查安装
java -version

2. ThingsBoard 服务安装

下载安装包。

wget https://github.com/thingsboard/thingsboard/releases/download/v3.7/thingsboard-3.7.rpm

安装 ThingsBoard 作为服务

sudo rpm -Uvh thingsboard-3.7.rpm

如果执行命令出现超时或其他原因无法下载,可以直接先把文件下载下来,再拷贝到linux机器上,定位到thingsboard-3.7.rpm文件所在的目录,再执行 sudo rpm -Uvh thingsboard-3.7.rpm

无法建立连接报错

 定位到指定文件的路径,再执行命令:

 

3.配置ThingsBoard数据库

PostgreSQL 安装

# Update your system
sudo dnf update

安装存储库

# Install the repository RPM:
sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

 

 

安装该包

# Install packages
sudo dnf -qy module disable postgresql
sudo dnf -y install postgresql15 postgresql15-server
# Initialize your PostgreSQL DB
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl start postgresql-15
# Optional: Configure PostgreSQL to start on boot
sudo systemctl enable --now postgresql-15

 

安装 PostgreSQL 后,您可能需要创建新用户或设置主用户的密码。以下说明将有助于设置主 postgresql 用户的密码

# 切换到postgres用户
sudo su - postgres
# 执行psql psql
# 设置密码命令 \password
# 退出psql命令 \q

 

然后,按“Ctrl+D”返回主用户控制台。

配置完密码后,连接数据库创建thingsboard DB:

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

执行创建数据库语句

CREATE DATABASE thingsboard;
\q

 

 远程连接服务器数据库配置

由于安装数据库后,进入了postgres用户,记得切回root用户,否则回遇到一些命令权限不足的问题。

(1)开放5432端口:

sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

 

 (2)修改配置文件

找到postgresql.conf和pg_hba.conf配置文件

如果找不到,可以切换到数据库用户,执行命令找到配置文件路径:

# 切换到postgres用户
sudo -i -u postgres 
# 执行查询
psql -d postgres -c "SHOW config_file;"
# 切换会root用户
su

 

 

 修改postgresql.conf,找到listen_addresses,将localhost改成*,去掉#注释:

 修改pg_hba.conf:

在文件末尾或适当的位置添加一条规则,以允许来自您希望连接的客户端 IP 地址或 IP 地址范围的连接。

例如,如果您想允许来自任何 IP 地址的连接(出于测试目的,不推荐在生产环境中这样做),您可以添加类似这样的规则:

host    all             all             0.0.0.0/0               md5

 

 但是,出于安全考虑,应该指定具体的 IP 地址或 IP 地址范围。本文主要用做测试,就不限制IP了。

(3)重启 PostgreSQL 服务

使用适当的命令(如 systemctl restart postgresql-15 )重启 PostgreSQL 服务,以使更改生效

(4)测试连接

使用适当的客户端工具(如 psql、pgAdmin、DBeaver、navicat 等)从远程机器尝试连接到 PostgreSQL 数据库服务器

以Navicat为例,输入主机、端口以及数据库、用户名、密码即可连接:

 

ThingsBoard 配置

编辑 ThingsBoard 配置文件

sudo nano /etc/thingsboard/conf/thingsboard.conf

配置文件中添加以下几行。不要忘记将“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”替换为你真实的 postgres 用户密码:

# 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

 

或者直接使用xftp打开文本编辑器进行编辑:

 

4. 选择 内存作为ThingsBoard 队列服务

编辑 ThingsBoard 配置文件

sudo nano /etc/thingsboard/conf/thingsboard.conf

将以下行添加到配置文件。

# Update ThingsBoard memory usage and restrict it to 2G in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms2G -Xmx2G"

5. 运行安装脚本

一旦安装了 ThingsBoard 服务并更新了 DB 配置,您就可以执行以下脚本

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

注意:记得切回root用户,如果没有切回postgres用户执行一些命令可能会权限不足,如:

6. 启动 ThingsBoard 服务

ThingsBoard UI 默认可通过 8080 端口访问。请确保您的 8080 端口可通过防火墙访问。要打开 8080 端口,请执行以下命令

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

执行以下命令启动ThingsBoard:

sudo service thingsboard start

 

一旦启动,您将能够使用以下链接打开 Web UI:

http://localhost:8080/

 

如果在执行安装脚本期间指定了–loadDemo,则可以使用以下默认凭据:

如果要更换端口,比如8077,请修改配置文件,搜索8080端口都更改为8077:

 执行以上命令:

 系统运行示例:

 

7. 故障排除

ThingsBoard 日志存储在以下目录中:

/var/log/thingsboard

您可以发出以下命令来检查后端是否存在任何错误:

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

 

 

参考文档:https://thingsboard.io/docs/user-guide/install/rhel/?ubuntuThingsboardQueue=inmemory

<本文完>

 

标签:postgres,--,sudo,conf,ThingsBoard,安装,thingsboard,Centos8
From: https://www.cnblogs.com/kk8085/p/18433576

相关文章

  • Windows 允许用户自定义和安装网络协议。以下是一些方法和步骤,帮助您在 Windows 中进
    Windows允许用户自定义和安装网络协议。以下是一些方法和步骤,帮助您在Windows中进行此操作。1.使用设备管理器安装协议您可以通过设备管理器来安装特定的网络协议:打开设备管理器:右键点击“开始”菜单,选择“设备管理器”。找到网络适配器:展开“网络适配器”部分。......
  • beef-xss 安装使用
    beef-xss安装参考:https://cloud.tencent.com/developer/article/2196746apt-getinstallbeef-xss启动beef-xssbeef-xss关闭beef-xssbeef-xss-stop钓鱼精华就在于把下面这句js代码插入前端文件中(要在实战环境中利用需要端口转发)<scriptsrc="http://ip:3000/hook......
  • (Centos7/麒麟V10)服务器 Redis安装指南
    1.下载或上传安装包安装包官方下载地址:https://download.redis.io/releases/2.准备GCC编译环境查看gcc编译器版本:gcc-v若不存在则执行:yuminstall-ygcc或参考服务器gcc离线安装指南3.解压安装包并移至目标目录本文以redis-7.0.8.tar.gz安装包,部署路径/home/redis为......
  • Linux系统之温度监控工具——lm_sensors的安装和基本使用
    Linux系统之温度监控工具——lm_sensors的安装和基本使用一、lm_sensors介绍lm_sensors,是一款基于linux系统的硬件监控的软件。可以监控主板,CPU的工作电压,温度等数据。rpm包下载地址获取码2344:lm_sensors-3.4.0-6.20160601gitf9185e5.el7.x86_64.rpm二、检测安装环境1.检查......
  • Flink(二)集群安装
    集群安装Standalone模式安装解压缩[user@hadoop102software]$tar-zxvfflink-1.10.1-bin-scala_2.12.tgz-C/opt/module/修改flink/conf/flink-conf.yaml文件jobmanager.rpc.address:hadoop102修改/conf/slaves文件hadoop103hadoop104分发给其他两台虚拟......
  • centos7编译安装Hadoop3
    一、安装编译相关依赖此篇文档及Hadoop相关文档相关软件包统一在此百度网盘:链接:https://pan.baidu.com/s/11F4THdIfgrULMn2gNcObRA?pwd=cjllyuminstallsnappysnappy-develbzip2bzip2-devellzolzo-devellzoplibXtstlzo-develzlib-developensslopenssl-develncurse......
  • centos7二进制安装Hadoop3
    一、Hadoop简介1.1Hadoop3核心组件HDFS:分布式文件系统:解决海量数据存储YARN:集群资源管理和任务调度框架:解决资源任务调度MapReduce:分布式计算框架:解决海量数据计算1.2Hadoop集群简介Hadoop集群包括两个集群:HDFSYARN两个集群逻辑上分离(互不影响、互不依赖)物理上一......
  • Linux服务器运维管理面板1Panel快速安装及安全配置
    1Panel是一个现代化、开源的Linux服务器运维管理面板,旨在帮助运维人员简化服务器管理任务。它提供了直观的界面和强大的功能,使用户可以通过图形化操作界面对服务器进行管理,减少了对命令行的依赖。1Panel支持多种操作系统,适用于Linux服务器,提供了如网站管理、数据库管......
  • CentOS7.4安装部署openstack [Liberty版] (一)
    一、OpenStack简介OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简......
  • CentOS7.4安装部署openstack [Liberty版] (二)
    继上一篇博客CentOS7.4安装部署openstack[Liberty版](一),本篇继续讲述后续部分的内容一、添加块设备存储服务1.服务简述:OpenStack块存储服务为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等等。块存......