前言:
希望新手同学多动手。有问题多学会搜索和看类似文章,而不是投喂一些AI,下面继续用docker进行部署。
Docker验证启动:
接上一篇文章国产IOTDB(1.3.2):第1集 本地Docker部署之1-CSDN博客当启动好本地的iotdb数据库后,可以使用下面的命令登录到iotdb中:
docker exec -ti iotdb-service /iotdb/sbin/start-cli.sh -h iotdb-service
注意:官方在之前的版本中上面的命令后面需要增加额外的参数 -p 6667 -u root -pw root -disableISO8601 -maxPRC 10 目前1.3.2版本不需要。
登录成功截图:
上面有完整的数据库版本和端口信息。接下来输入exit退出内部控制台。
复制Docker容器中的目录到本地文件夹中:
为了后期方便需改iotdb的一些配置,需要将容器中的关键目录复制到本地特定的文件夹中,我这边定的路径/opt/iotdb_132/ 这个路径也是我的docker-compose.yml存放路径。
复制文件的命令为(可以根据自己的实际情况进行修改):
docker cp iotdb-service:/iotdb/conf /opt/iotdb_132/
此外如果需要复制lib和ext目录的话可以使用下面的语句,注意更换对应的路径信息。
docker cp iotdb-service:/iotdb/lib /opt/iotdb_132/
docker cp iotdb-service:/iotdb/ext /opt/iotdb_132/
在复制完路径后建议对相应的目录进行修改权限,防止后续启动因为权限问题,Docker容器中的iotdb数据库可能没法使用本地的文件:
chmod -R 777 /opt/iotdb_132/
注: 我这边不知道是不是虚拟化环境的问题,有时候执行一次之后,还是会因为权限问题无法启动,需要多执行几次才能生效,启动成功。
修改docker-compose.yml
在目录复制完成之后,(建议相关linux上的操作,均使用命令,这样能进行练习和记忆,不要使用一些可视化的功能,很可能复制的文件看着可能复制过去了,没有问题,但是实际上是不完成的。)就可以停止之前的iotdb的Docker容器然后对之前的docker-compose.yml进行修改了。
1、停止之前的iotdb的Docker容器:
(需要命令行进入docker-compose.yml所在的文件夹执行!必须是docker-compose.yml所在的文件夹!必须是docker-compose.yml所在的文件夹!必须是docker-compose.yml所在的文件夹!)
docker-compose down
2、修改docker-compose.yml
当服务停掉的时候,删除之前的data目录和logs目录(因为之前启动的数据库就是为了将所需文件复制出来,删除data目录是为了防止出现可能得权限问题。删除logs目录可以实现,万一本次启动数据库出现问题,这样保留的日志都是本次启动产生的,不会收到之前的影响。)
修改后的文件:
# docker-compose.yml
# 在所在文件目录执行 docker-compose up -d即可
version: "3"
services:
iotdb-service:
image: apache/iotdb:1.3.2-standalone
hostname: iotdb-service
container_name: iotdb-service
ports:
- "6667:6667"
environment:
- cn_internal_address=iotdb-service
- cn_internal_port=10710
- cn_consensus_port=10720
- cn_seed_config_node=iotdb-service:10710
- dn_rpc_address=iotdb-service
- dn_internal_address=iotdb-service
- dn_rpc_port=6667
- dn_mpp_data_exchange_port=10740
- dn_schema_region_consensus_port=10750
- dn_data_region_consensus_port=10760
- dn_seed_config_node=iotdb-service:10710
volumes:
- ./conf:/iotdb/conf
- ./data:/iotdb/data
- ./logs:/iotdb/logs
networks:
iotdb:
ipv4_address: 172.88.0.6
networks:
iotdb:
external: true
注意:因为浏览器的兼容性问题,如果各位看官再使用上面的文件直接复制的时候,最好先复制到txt里面或者一些编辑器里面,看看内容是否和上面的一样进行对齐了,如果没有最好进行对齐,防止启动失败!
3、再次启动Iotdb
在docker-compose.yml目录下,执行命令
docker-compose up -d
结束:
至此,iotdb的docker容器就修改完毕,但是结束只是刚刚开始,毕竟上面只是启动了Iotdb,方便后期修改一些配置,比如内存大小,如果不需要其他功能,比如restful接口,mqtt调用的话上面的配置已经完成足够。有人可能会说,我直接修改配置文件不就可以了么?(提醒一句,老手略过,如果用host模式启动docker的话,直接修改配置文件,重启服务是没有问题的,但是我这里是通过映射的方式,所以需要把端口映射加上。)下一篇文章将讲解一些配置参数和端口映射的内容,最后会搭建简单的监控界面方便维护和查看情况。
还有iotdb是时序数据库!时序数据库≠实施数据库!