3.1.5 Docker模式部署
Docker是一个开源的应用容器引擎,允许开发者将应用及依赖包打包到一个可移植的容器中,然后发布到任意一种流行的Linux机器上。不同容器之间不会有任何接口,完全采用沙箱机制。Docker也支持虚拟化,能利用LXC(Linux Container)来实现类似虚拟机(VM)的功能,以通过节省硬件资源为用户提供更多计算资源。
SequoiaDB提供了Docker镜像,可用来快速部署集群,以及进行开发和测试工作。下面讲解如何在Linux系统中安装Docker,并通过拉取镜像进行SequoiaDB的部署,同时也将展示如何在部署后的环境中进行MySQL实例的增查改删操作。
1.集群配置
如表3-7所示,我们将演示在5个容器中部署多节点、高可用的SequoiaDB集群。集群包含协调节点与编目节点各1个,3个三副本数据节点,以及1个MySQL实例节点。
表3-7 SequoiaDB的集群配置
2.在Linux Docker环境中部署SequoiaDB
SequoiaDB在Linux Docker环境中的部署,可参考如下步骤。
(1)下载镜像并上传至docker服务器:
(2)对sequoiadb_docker_image.gz进行解压:
(3)恢复镜像sequoiadb.tar与sequoiasql-mysql.tar:
(4)启动4个SequoiaDB容器:
(5)查看4个容器的容器ID:
(6)查看4个容器对应的IP地址:
(7)部署SequoiaDB集群。根据集群规划及各容器的IP地址,在对应参数处填入地址与端口号。建议存储空间在30GB以上:
(8)启动一个MySQL实例容器,并查看容器的ID:
(9)查看容器的IP地址:
(10)将MySQL实例注册到协调节点:
(11)进入MySQL容器:
(12)查看MySQL实例的状态:
(13)进入coord_catalog容器,查看SequoiaDB存储引擎节点列。
首先查看SequoiaDB容器的名称:
然后进入coord_catalog容器,查看编目节点和协调节点:
再切换为sdbamdin用户,默认用户密码为sdbadmin:
接着查看编目节点和协调节点列表:
最后退出容器:
3.数据库对接开发
具体操作步骤如下。
(1)进入MySQL容器:
如果未启动MySQL,则需要先启动:
(2)登录到MySQL Shell:
(3)创建新数据库company,并切换到company:
(4)在company数据库中创建数据表employee:
(5)在表employee中插入如下数据:
(6)查询employee表中的数据:
(7)退出MySQL容器:
(8)进入coord_catalog容器并进入SequoiaDB Shell交互式界面,使用JavaScript连接协调节点并获取数据库连接:
(9)使用insert()向SequoiaDB集合中写入数据记录:
(10)使用find()从集合中查询数据记录:
(11)使用update()对集合中的数据记录进行修改:
(12)使用find()从集合中查询数据记录,确认数据记录是否已被修改:
(13)使用remove()从集合中删除数据记录:
(14)使用find()从集合中查询数据记录,确认数据记录是否已被删除:
从本节3项任务的实现步骤可以看出,使用基于Docker的SequoiaDB镜像,可快速创建一个数据库集群,并执行SequoiaDB操作。