Thingsboard và những công nghệ liên quan – Cách cài đặt
Cách cài đặt thingsboard
Trên hệ điều hành CentOS
Các bước cài đặt
B1: Cài đặt JDK 8
B2: Cài đặt wget
B3: Tải gói cài đặt thingsboard với 2.x.x là phiên bản mới nhất của thingsboard
B4: Cài đặt thingsboard dưới dạng service
B5: Chạy script cài đặt
Log cài đặt thành công:
===================================================
:: ThingsBoard :: (v2.1)
===================================================
Starting ThingsBoard Installation…
Installing DataBase schema…
Installing Cassandra DataBase schema…
Loading system data…
Installation finished successfully!
2017-07-23 21:47:12,079 INFO – Starting ServiceWrapper in the CLI mode
2017-07-23 21:47:12,317 INFO – Completed. Exit code is 0
ThingsBoard installed successfully!
B6: Khai báo tường lửa:
firewall-cmd –permanent –add-port=8080/tcp (for default)
firewall-cmd –permanent –add-port=80/tcp (for port 80)
firewall-cmd –permanent –add-port=1883/tcp (for MQTT)
firewall-cmd –reload
B7: Chạy thingsboard service
[OPTIONAL] Hiệu chỉnh database và port cho thingsboard
Các config cho thingsboard được lưu vào file thingsboard.yml, để truy xuất file ta dùng lệnh:
Config database
Ngoài database mặc địnhlà HSQLDB (Hyper SQL database), thingsboard còn có thể cài đặt trên Postgre SQL và Cassandra
Comment ‘# HSQLDB block để code không build HSQLDB
# HSQLDB DAO Configuration
#spring:
# data:
# jpa:
# repositories:
# enabled: “true”
# jpa:
# hibernate:
# ddl-auto: “validate”
# database-platform: “org.hibernate.dialect.HSQLDialect”
# datasource:
# driverClassName:
“${SPRING_DRIVER_CLASS_NAME:org.hsqldb.jdbc.JDBCDriver}”
# url: “${SPRING_DATASOURCE_URL:jdbc:hsqldb:file:${SQL_DATA_FOLDER:/tmp}/thingsboard
Db;sql.enforce_size=false}”
# username: “${SPRING_DATASOURCE_USERNAME:sa}”
# password: “${SPRING_DATASOURCE_PASSWORD:}”
Để cài đặt thingsboard trên PostgreSQL:
Bỏ comment ‘# PostgreSQL DAO trên block config
# PostgreSQL DAO Configuration
spring:
data:
jpa:
repositories:
enabled: “true”
jpa:
hibernate:
ddl-auto: “validate”
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:postgres}”
For Cassandra DB:
Xác định và chuyển config thành ‘cassandra’.
database:
entities:
type: “${DATABASE_ENTITIES_TYPE:cassandra}” # cassandra OR sql
ts:
type: “${DATABASE_TS_TYPE:cassandra}” # cassandra OR sql (for hybrid mode, only this value should be cassandra)
Lưu ý
Nếu ở B5 ta gõ lệnh
thì ta phải tự tạo account tenant admin bằng cách:
+B1: Đăng nhập sysadmin
Username: sysadmin@thingsboard.org
Password: sysadmin
+B2: Tạo account tenant admin
Troubleshooting
Log của thingsboard được lưu thư mục có đường dẫn
Để truy xuất log và lỗi, ta dùng lệnh:
cat /var/log/thingsboard/thingsboard.log
cat /var/log/thingsboard/thingsboard.log | grep ERROR
Các lỗi thường gặp
1. Khởi động thingsboard thành công nhưng không vào được web
Nguyên nhân có thể do:
-Chưa khai báo tường lửa
-Thingsboard đang chạy trùng port với một service khác
Nếu chưa khai báo tường lửa ta dùng lệnh
firewall-cmd –permanent –add-port=[port]/tcp
firewall-cmd –reload
Nếu thingsboard đang chạy trùng port với một service khác, ta truy xuất file thingsboard.yml
và tìm dòng HTTP_BIND_PORT và đổi port sử dụng, sau đó restart lại service thingsboard bằng câu lệnh:
2. Không vào được account tenant admin
Nguyên nhân có thể là B5 không gõ –loadDemo, xem thêm phần “Lưu ý” để biết thêm
3. Cài đặt không thành công, reinstall báo lỗi database
Lúc này bạn tìm folder thingsboard\data\sql và xóa tất cả các file trừ những file:
schema.sql
system-data.sql
Vào Cassandra remove keyspace thingsboard
Chạy script install.sh để cài đặt lại.