IoTDB 安装与部署1.3.0
# IoTDB 安装与部署
Ambari Plus Monitor 会把采集到的时序指标写入 IoTDB,所以在安装 Monitor 服务前,我会先把 IoTDB 单独准备好。本文示例使用单机 IoTDB 1.3.0,部署在 hadoop1.test.com,后续 Monitor 安装向导里也会使用这台机器作为 IoTDB 入口。
本篇环境继续沿用三台 FQDN 主机,不过 IoTDB 只放在核心节点:
| 主机 | 本次角色 | 说明 |
|---|---|---|
hadoop1.test.com | ConfigNode、DataNode | IoTDB 服务端,提供 26667 写入入口。 |
hadoop2.test.com | 无 | 后续只安装 Monitor Agent。 |
hadoop3.test.com | 无 | 后续只安装 Monitor Agent。 |
提示
本文为了演示方便使用 IoTDB 默认账号 root / root。生产环境建议按安全规范修改密码,并把 Monitor 连接账号收敛到最小权限。
# 1. 准备 IoTDB 安装包
在 hadoop1.test.com 上创建安装包目录,把 iotdb-distribution-1.3.0-all-bin.zip 放到 /data/modules/iotdb。我这里使用 1.3.0,是因为当前 Ambari Plus Monitor 的 IoTDB 客户端依赖也按这个版本准备,先保证服务端和客户端版本口径一致。
mkdir -p /data/modules/iotdb
cd /data/modules/iotdb
ls -lh iotdb-distribution-1.3.0-all-bin.zip
2
3
如果安装包来自离线介质,建议顺手做一次校验:
sha1sum iotdb-distribution-1.3.0-all-bin.zip
本文环境的校验值如下:
afd3040847db44a836d6c2501d9ac436adea508f iotdb-distribution-1.3.0-all-bin.zip
# 2. 解压并创建固定软链接
把安装包解压到 /opt/modules,然后创建 /opt/modules/iotdb 软链接。后续写配置、启动服务、填写 Monitor 参数时都使用软链接路径,升级时也更容易切版本。
unzip -q iotdb-distribution-1.3.0-all-bin.zip -d /opt/modules
ln -sfn /opt/modules/apache-iotdb-1.3.0-all-bin /opt/modules/iotdb
ls -lh /opt/modules/iotdb
2
3
解压完成后,目录里能看到 conf、sbin、lib 等子目录。
# 3. 配置 ConfigNode 和 DataNode
IoTDB 1.3.0 会同时启动 ConfigNode 和 DataNode。单机部署时,ConfigNode 内部地址、DataNode 内部地址、seed config node 都指向 hadoop1.test.com 即可。
cd /opt/modules/iotdb
cat >> conf/iotdb-common.properties <<'EOF'
cluster_name=TtbigdataMonitor
EOF
cat >> conf/iotdb-confignode.properties <<'EOF'
cn_internal_address=hadoop1.test.com
cn_internal_port=10710
cn_seed_config_node=hadoop1.test.com:10710
EOF
cat >> conf/iotdb-datanode.properties <<'EOF'
dn_rpc_address=0.0.0.0
dn_rpc_port=26667
dn_internal_address=hadoop1.test.com
dn_seed_config_node=hadoop1.test.com:10710
EOF
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
内存先按小集群演示值设置,后面如果采集量变大,再结合主机资源调整。
sed -i 's/^MEMORY_SIZE=.*/MEMORY_SIZE=1024M/' conf/confignode-env.sh
sed -i 's/^MEMORY_SIZE=.*/MEMORY_SIZE=2048M/' conf/datanode-env.sh
2
配置完成后,我会先 grep 一遍关键参数,避免把 localhost、短主机名或默认端口漏在配置里。

# 4. 启动 IoTDB
先启动 ConfigNode,再启动 DataNode。
cd /opt/modules/iotdb
sbin/start-confignode.sh -d
sbin/start-datanode.sh -d
2
3
启动后看两个结果:Java 进程在不在,26667 和 10710 端口是否监听。
jps -l | egrep 'ConfigNode|DataNode'
ss -lntp | egrep '26667|10710'
2
如果 jps 能看到 org.apache.iotdb.confignode.service.ConfigNode 和 org.apache.iotdb.db.service.DataNode,并且端口监听正常,就可以进 CLI 做最终确认。
# 5. 验证 IoTDB 集群状态
使用 IoTDB 自带 CLI 连接 hadoop1.test.com:26667:
/opt/modules/iotdb/sbin/start-cli.sh \
-h hadoop1.test.com \
-p 26667 \
-u root \
-pw root
2
3
4
5
进入 CLI 后执行:
show cluster;
ConfigNode 和 DataNode 都是 Running,版本显示 1.3.0,说明 Monitor 后续可以使用这个入口写入指标。

# 6. 留给 Monitor 的连接参数
IoTDB 准备好以后,后面安装 Ambari Plus Monitor 时就按下面这组参数填写。
| 配置项 | 本文示例值 | 说明 |
|---|---|---|
| IoTDB Host | hadoop1.test.com | 使用 FQDN,和集群主机名保持一致。 |
| IoTDB Port | 26667 | DataNode RPC 端口。 |
| IoTDB User | root | 教程环境使用默认用户。 |
| IoTDB Password | root | 教程环境使用默认密码,生产环境请修改。 |
| IoTDB Storage Group | root.monitor | Monitor 指标写入的存储组。 |
到这里,Monitor 依赖的时序库已经准备完成。下一步先导入 Monitor 元数据库初始化 SQL,再进入 Ambari Plus 页面安装 Monitor 服务。