ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

docker 集群搭建SequoiaDB 巨杉数据库

2022-09-14 10:03:46  阅读:235  来源: 互联网

标签:SequoiaDB 巨杉 集群 SDB MySQL test docker


SequoiaDB的更多信息和软件下载,请访问 http://www.sequoiadb.com

第一步:下载 SequoiaDB Docker 镜像

docker pull sequoiadb/sequoiadb:v5.0.1

docker pull sequoiadb/sequoiasql-mysql:v5.0.1

 

第二步:查看一镜像:docker images

 

 

 

搭建单副本单机集群

我们首先在容器中创建单副本 SequoiaDB 集群(该集群部署在单一容器中,且不提供数据冗余功能)。高可用集群的搭建方案,将在后面章节进行描述。

  • 集群配置

本Docker 镜像示范中,将采用单台服务器搭建一个SequoiaDB 数据库集群,其中包括:MySQL 实例和SequoiaDB 存储引擎。配置如下:

主机名IP部署软件服务
sdbmysql 192.168.1.10 SequoiaSQL-MySQL MySQL实例
sdbserver 192.168.1.11 SequoiaDB SequoiaDB存储引擎
  • 环境变量
变量名样例说明
SDB_DEPLOY true 是否进行集群部署
SDB_CATALOG sdbserver1:11800,... 集群编目节点列表(以逗号分隔)
SDB_COORD sdbserver1:11810,... 集群协调节点列表(以逗号分隔)
SDB_DATA group1=sdbserver1:11820,sdbserver2:11820;... 集群数据节点列表(以逗号分隔,不同组用分号分隔)
SDB_STP_SERVER sdbserver1:9622,... 集群时序服务端节点列表(以逗号分隔)
SDB_STP_CLIENT sdbserver2:9622,... 集群时序客户端节点列表(以逗号分隔)
MYSQL_SDB_COORD sdbserver1:11810,... MySQL协调节点列表(以逗号分隔)
第三步:单副本 docker-compose 编排文件
cat > docker-compose.yml <<EOF
version: "3"
services:
   sdbserver:
      image: sequoiadb/sequoiadb:v5.0.1
      container_name: sdbserver
      hostname: "sdbserver"
      ports:
         - "11810:11810"
         - "11814:11814"
      restart: always
      environment:
         SDB_DEPLOY:     "true"
         SDB_CATALOG:    "sdbserver:11800"
         SDB_COORD:      "sdbserver:11810"
         SDB_DATA:       "group1=sdbserver:11820;group2=sdbserver:11830"
         SDB_STP_SERVER: "sdbserver:9622"
      networks:
         sdb-net:
            ipv4_address: "192.168.1.11"
      extra_hosts:
         - "sdbmysql:192.168.1.10"
         - "sdbserver:192.168.1.11"
      dns:
         - 223.5.5.5
         - 223.6.6.6
   sdbmysql:
      image: sequoiadb/sequoiasql-mysql:v5.0.1
      container_name: sdbmysql
      hostname: "sdbmysql"
      ports:
         - "3306:3306"
      restart: always
      environment:
         MYSQL_SDB_COORD: "sdbserver:11810"
      networks:
         sdb-net:
            ipv4_address: "192.168.1.10"
      extra_hosts:
         - "sdbmysql:192.168.1.10"
         - "sdbserver:192.168.1.11"
      dns:
         - 223.5.5.5
         - 223.6.6.6
      depends_on:
         - sdbserver
networks:
   sdb-net:
      ipam:
         config:
            - subnet: 192.168.1.0/16
EOF

 

第四步:启动 SequoiaDB 集群

docker-compose -f docker-compose.yml up -d

 出现done的字样就是安装好了

注意:如果启动时报以下的错误,请重启docker服务:service docker restart

 

如果报错 listen tcp 0.0.0.0:3306: bind: address already in use ,说明宿主机的相应端口被占用,需要修改上述 docker-compose.yml 文件中 ports 部分的内容, 将前面的 3306 修改为其他端口,例如改为下面所示 3307

      ports:
         - "3307:3306"
  • 查看 MySQL 服务状态,直到输出 " Your sequoiadb-mysql service started successfully ! "
docker logs -f sdbmysql

测试部署的集群

  • 连接 SequoiaSQL-MySQL
mysql -h127.0.0.1 -P3306 -uroot -p

默认没有设置密码,输入以上命令后,回车即可进入 MySQL shell

如果没有 mysql 客户端,可以使用 yum 安装

yum -y install mysql
  • 创建测试库 test,并切换到 test
CREATE DATABASE test;
USE test;
  • 在 test数据库中创建测试表 test
CREATE TABLE test (
    empno INT AUTO_INCREMENT PRIMARY KEY,
    ename VARCHAR(128),
    age INT
);
注意:如果创建不了表报Got error 40179 from storage engine


 

创建表的时候请指定相应的引擎:ENGINE=InnoDB DEFAULT CHARSET=utf8

  • 在表 test 中插入数据
INSERT INTO test (ename, age) VALUES ("Jacky", 36);
INSERT INTO test (ename, age) VALUES ("Alice", 18);
  • 查询 test 表中的数据
SELECT * FROM test;
  • 退出mysql
quit

标签:SequoiaDB,巨杉,集群,SDB,MySQL,test,docker
来源: https://www.cnblogs.com/daiss314/p/16691957.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有