IoTDB安装部署指南
单节点
可以直接尝试官方的一键部署
https://iotdb.apache.org/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-Guide.html
下载
https://iotdb.apache.org/Download/
解压安装包
unzip apache-iotdb-1.3.0-all-bin.zip -d /data1/platform/
cd /data1/platform
ln -s apache-iotdb-1.3.0-all-bin iotdb
修改通用配置文件
vim conf/iotdb-common.properties
需要 cluster_name 参数以及将"Replication configuration "下的一些参数取消注释。
修改后结果如下:(这是多节点的,单节点自行调整,除了cluster_name按需求修改之外好像都是默认的,不改应该也没关系)
# 节点希望加入的集群的名称
cluster_name=defaultCluster
# ConfigNode 使用的共识协议
config_node_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus
# 元数据副本数,DataNode 数量不应少于此数目
schema_replication_factor=1
# 元数据副本组的共识协议
schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus
# 数据副本数,DataNode 数量不应少于此数目
data_replication_factor=1
# 数据副本组的共识协议。注:RatisConsensus 目前不支持多数据目录
data_region_consensus_protocol_class=org.apache.iotdb.consensus.iot.IoTConsensus
修改 ConfigNode 的配置文件
注意 ConfigNode 中有一个唯一的 Seed ConfigNode,这个我们选择 node1 (在系统的hosts文件中配置)作为 Seed ConfigNode。(单节点就一个,没得选,要配置多节点就把localhost改为node1的ip)
vim conf/iotdb-confignode.properties
涉及下列参数:
# ConfigNode 在集群内部通讯使用的地址,设置为本机的地址或域名
cn_internal_address=localhost
# ConfigNode 在集群内部通讯使用的端口(一般无需修改; 端口冲突则修改为任意未被占用端口)
cn_internal_port=10710
# ConfigNode 副本组共识协议通信使用的端口(一般无需修改;端口冲突则修改为任意未被占用端口)
cn_consensus_port=10720
# 节点注册加入集群时连接的 ConfigNode 的地址。注:只能配置一个
# 对于 Seed-ConfigNode,设置为自己的 cn_internal_address:cn_internal_port;
# 对于其它 ConfigNode,设置为另一个正在运行的 ConfigNode
# 的 cn_internal_address:cn_internal_port。我们统一设置成 Seed ConfigNode。
cn_seed_config_node=localhost:10710
修改 DataNode 的配置文件
vim conf/iotdb-datanode.properties
涉及下列参数:(主要也是几个localhost要改)
# 客户端 RPC 服务的地址,设置为服务器的 IPV4 地址或域名
# 如果有需要就改为node1或localhost,现在我先没改,看情况会不会有异常
dn_rpc_address=0.0.0.0
# 客户端 RPC 服务的端口,设置为任意未占用端口(不冲突则无需修改)
dn_rpc_port=6667
# DataNode 在集群内部接收控制流使用的地址, 设置为服务器的 IPV4 地址或域名
dn_internal_address=localhost
# DataNode 在集群内部接收控制流使用的端口,设置为任意未占用端口(不冲突则无需修改)
dn_internal_port=10730
# DataNode 在集群内部接收数据流使用的端口,设置为任意未占用端口(不冲突则无需修改)
dn_mpp_data_exchange_port=10740
# DataNode 的数据副本间共识协议通信的端口,设置为任意未占用端口(不冲突则无需修改)
dn_schema_region_consensus_port=10750
# DataNode 的元数据副本间共识协议通信的端口,设置为任意未占用端口(不冲突则无需修改)
dn_data_region_consensus_port=10760
# 集群中正在运行的 ConfigNode 地址,设置为任意正在运行的 ConfigNode
# 的 cn_internal_address:cn_internal_port,可设置多个,用逗号(",")隔开;
# 我们统一设置成 Seed ConfigNode。
dn_seed_config_node=localhost:10710
多节点可能用到的命令
将安装软件同步到其他节点并修改相关配置
需要几个节点之间配置ssh免密访问等
在 node1 上执行:
cd /data1/platform
rsync -av apache-iotdb-1.3.0-all-bin node2:/data1/platform/
rsync -av apache-iotdb-1.3.0-all-bin node3:/data1/platform/
并在 node2 上执行:
cd /data1/platform
ln -s apache-iotdb-1.3.0-all-bin iotdb
cd iotdb
vim conf/iotdb-confignode.properties
将 cn_internal_address 的值修改为 node2
vim conf/iotdb-datanode.properties
将 dn_rpc_address 和 dn_internal_address 修改为 node2
在 node3 上执行:
cd /data1/platform
ln -s apache-iotdb-1.3.0-all-bin iotdb
cd iotdb
vim conf/iotdb-confignode.properties
将 cn_internal_address 的值修改为 node3
vim conf/iotdb-datanode.properties
将 dn_rpc_address 和 dn_internal_address 修改为 node3
注意按上面配置安装的 iotdb 存储目录默认是"<iotdb 安装目录>/data"目录下,如果要进行专门的设置,修改各自配置文件(iotdb-confignode.properties, iotdb-datanode.properties)中"Directory Configuration"的目录设置(根据参数的说明正确修改)。
启动进程
cd /data1/platform/iotdb/sbin
nohup bash ./start-confignode.sh >/dev/null 2>&1 &
可以去软件根查看下日志:tail -f logs/log_confignode_all.log
nohup bash ./start-datanode.sh >/dev/null 2>&1 &
对于多节点来说需要注意,IoTdb 的进程启动有先后顺序。集群第一个启动的节点必须是ConfigNode, 第一个启动的 ConfigNode 称为 Seed-ConfigNode,标志着新集群的创建。我们已经将 node1 上的 ConfigNode 视作 Seed ConfigNode,因此我们现在 node1 上启动 ConfigNode。
在 node1 上执行:
cd /data1/platform/iotdb/sbin
nohup bash ./start-confignode.sh >/dev/null 2>&1 &
启动后查看日志:
tail -f logs/log_confignode_all.log
然后启动或新增剩下的两个 ConfigNode
在 node2 上和 node3 上分别都执行:
cd /data1/platform/iotdb/sbin
nohup bash ./start-confignode.sh >/dev/null 2>&1 &
新增 DataNode
在每个节点上执行:
cd /data1/platform/iotdb/sbin
nohup bash ./start-datanode.sh >/dev/null 2>&1 &
启动后验证
在任一节点上执行:
cd /data1/platform/iotdb/sbin
./start-cli.sh -h localhost
show cluster
exit
创建数据库指令
create database root.usergf
修改配置以支持 Prometheus
因为 3 个节点上都运行了 ConfigNode 和 DataNode,因此在所有节点进行用的配置修改。
对于 ConfigNode,修改 iotdb-confignode.properties,增加:cn_metric_reporter_list=PROMETHEUS cn_metric_level=IMPORTANT cn_metric_prometheus_reporter_port=9091
对于 DataNode,修改 iotdb-datanode.properties,增加:
dn_metric_reporter_list=PROMETHEUS dn_metric_level=IMPORTANT dn_metric_prometheus_reporter_port=9093
修改配置后重启 ConfigNode 和 DataNode。
并在 Prometheus 的配置文件 prometheus.yml 中增加相关配置项:scrape_configs: #The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" static_configs: - targets: ["localhost:9099"] - job_name: "confignode" static_configs: - targets: ["localhost:9091"] - job_name: "datanode" static_configs: - targets: ["localhost:9093"] job_name 为"confignode"和"datanode"的,是新增的内容。
可视化工具iotdb-workbench
- 下载
链接: https://pan.baidu.com/s/1zt1uGxq3xVVwNBEFRvOjNA?pwd=yrmg 提取码: yrmg - 解压
mkdir workbench
mv iotdb-enterprise-workbench-1.1.2.1.zip workbench
cd workbench
unzip iotdb-enterprise-workbench-1.1.2.1.zip
- 配置
使 用 默 认 配 置 即 可 , 如 果 要 修 改 服 务 访 问 端 口 , 可 以 在 配 置 文 件 中
config/application-prod.properties 修改端口号:server.port=9190 - 启动服务
java -jar workbench.jar
或(用这个吧)
nohup java -jar workbench.jar >/dev/null 2>&1 &
- 默认端口为 9090;
访问web界面。默认地址为IP:9090 - 登录
默认用户名为root,密码为123456
作者:winkeyDY