一、IoTDB 介绍
IoTDB 是一种面向物联网(IoT)场景的开源时序数据库。它专门设计用于高效地存储和查询大规模物联网设备产生的时序数据。IoTDB 提供了高吞吐量、低延迟、灵活的数据模型以及多种数据查询和存储引擎等特性,使其成为处理物联网数据的理想选择。
以下是 IoTDB 的一些特点和功能:
时序数据存储: IoTDB 将时序数据作为其核心数据模型,能够高效地存储和管理时间序列数据。
高性能: IoTDB 采用了多种优化技术,如数据压缩、索引、多级缓存等,以实现高吞吐量和低延迟的数据读写操作。
灵活的数据模型: IoTDB 提供了灵活的数据模型,支持多种数据类型和结构,可以满足不同应用场景的数据存储需求。
多种数据查询: IoTDB 支持多种数据查询方式,包括 SQL 查询、连续查询、聚合查询等,能够灵活地满足不同的查询需求。
分布式部署: IoTDB 支持分布式部署,能够水平扩展以应对大规模数据存储和处理需求。
多种存储引擎: IoTDB 提供了多种存储引擎,包括本地存储、HDFS 存储等,可以根据实际需求选择合适的存储方式。
二、k8s 部署 IoTDB
Apache IoTDB 的 Docker 镜像已经上传至 https://hub.docker.com/r/apache/iotdb
docker pull apache/iotdb:latest 即可获取最新的 docker 镜像
vi IoTDB.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: iotdb-service
spec:
replicas: 1
selector:
matchLabels:
app: iotdb-service
template:
metadata:
labels:
app: iotdb-service
spec:
nodeName: k8s-work01
hostname: iotdb-service
containers:
- name: iotdb
image: apache/iotdb:1.3.0-standalone
env:
- name: cn_internal_address
value: iotdb-service
- name: cn_seed_config_node
value: iotdb-service:10710
- name: cn_internal_port
value: "10710"
- name: cn_consensus_port
value: "10720"
- name: dn_rpc_address
value: iotdb-service
- name: dn_internal_address
value: iotdb-service
- name: dn_seed_config_node
value: iotdb-service:10710
- name: dn_mpp_data_exchange_port
value: "10740"
- name: dn_schema_region_consensus_port
value: "10750"
- name: dn_data_region_consensus_port
value: "10760"
- name: dn_rpc_port
value: "6667"
ports:
- containerPort: 6667
protocol: TCP
注意:不要忘记在目标节点创建hostPath目录
kubectl apply -f IoTDB.yaml
kubectl get pods
kubectl exec -it iotdb-6d544b6cc-68h9n bash
start-cli.sh -h iotdb-service
kubectl exec iotdb-service2-866d6d6485-xqpgl – /iotdb/sbin/start-cli.sh -h iotdb-service2
service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: iotdb-service
name: iotdb-service
spec:
ports:
- port: 6667
protocol: TCP
targetPort: 6667
nodePort: 30077
selector:
app: iotdb-service
type: NodePort