在CentOS / RHEL上安装ThingsBoard CE
1.安装之前
硬件要求:
要在一台机器上运行ThingsBoard和PostgreSQL,您将至少需要1Gb RAM。
要在单台计算机上运行ThingsBoard和Cassandra,您至少需要8Gb RAM。
执行以下命令以安装必要的工具:
sudo yum install -y wget
# Add latest EPEL release
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2.安装
2.1 安装Java 8(OpenJDK)
sudo yum install java-1.8.0-openjdk
将操作系统配置为默认使用OpenJDK 8
sudo update-alternatives --config java
您可以使用以下命令检查安装:
java -version
预期的命令输出为:
openjdk version “1.8.0_xxx”
OpenJDK Runtime Environment (…)
OpenJDK 64-Bit Server VM (build …)
2.2 ThingsBoard服务安装
下载安装包
wget https://github.com/thingsboard/thingsboard/releases/download/v2.4.3/thingsboard-2.4.3.rpm
将ThingsBoard作为服务安装
sudo rpm -Uvh thingsboard-2.4.3.rpm
2.3 配置ThingsBoard数据库
PostgreSQL安装
# Update your system
sudo yum update
# Install the repository RPM:
sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Install packages
sudo yum install postgresql96-server postgresql96-contrib
# Initialize your PostgreSQL DB
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
sudo systemctl start postgresql-9.6
# Optional: Configure PostgreSQL to start on boot
sudo systemctl enable postgresql-9.6
安装好会自动创建了一个PostgreSQL用户postgres
配置密码:
sudo su - postgres
psql
\password
123456
\q
这里的123456是我设置的密码。
然后,按“ Ctrl + D”返回主用户控制台。
编辑pg_hba.conf以对postgres用户使用MD5认证。
编辑pg_hba.conf文件:
vim /var/lib/pgsql/9.6/data/pg_hba.con
把这一行的ident改成md5f
最后,您应该重新启动PostgreSQL服务以初始化新配置:
sudo systemctl restart postgresql-9.6.service
连接到数据库以创建Thingsboard DB:
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
2.4 Cassandra安装
# Add cassandra repository
sudo touch /etc/yum.repos.d/datastax.repo
echo '[datastax]' | sudo tee --append /etc/yum.repos.d/datastax.repo > /dev/null
echo 'name = DataStax Repo for Apache Cassandra' | sudo tee --append /etc/yum.repos.d/datastax.repo > /dev/null
echo 'baseurl = http://rpm.datastax.com/community' | sudo tee --append /etc/yum.repos.d/datastax.repo > /dev/null
echo 'enabled = 1' | sudo tee --append /etc/yum.repos.d/datastax.repo > /dev/null
echo 'gpgcheck = 0' | sudo tee --append /etc/yum.repos.d/datastax.repo > /dev/null
# Cassandra installation
sudo yum install dsc30
# Tools installation
sudo yum install cassandra30-tools
# Start Cassandra
sudo service cassandra start
# Configure the database to start automatically when OS starts.
sudo chkconfig cassandra on
3.ThingsBoard配置
编辑ThingsBoard配置文件
Sudo vim /etc/thingsboard/conf/thingsboard.conf
将以下行添加到配置文件。不要忘记用您的真实postgres用户密码替换
# DB Configuration
# DB Configuration
export DATABASE_ENTITIES_TYPE=sql
export DATABASE_TS_TYPE=sql
export SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
export SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=123456
*您可以选择添加以下参数来重新配置ThingsBoard实例以连接到外部Cassandra节点:(我这里没有修改)
export CASSANDRA_CLUSTER_NAME=Thingsboard Cluster
export CASSANDRA_KEYSPACE_NAME=thingsboard
export CASSANDRA_URL=127.0.0.1:9042
export CASSANDRA_USE_CREDENTIALS=false
export CASSANDRA_USERNAME=
export CASSANDRA_PASSWORD=
4.运行安装脚本
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh –loadDemo
5.启动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
在windows的hosts文件中加入centos的ip和计算机名,方便浏览器查看。
C:\Windows\System32\drivers\etc\hosts
在windows打开浏览器通过
http://192.168.85.137:8080/访问
如果在执行安装脚本期间指定了*–loadDemo*,则可以使用以下默认账号密码:
Systen Administrator:
sysadmin@thingsboard.org / sysadmin
Tenant Administrator:
tenant@thingsboard.org / tenant
Customer User:
customer@thingsboard.org / customer
您始终可以在帐户资料页面中更改每个帐户的密码。