【Docker、Sharding Sphere】Docker安装Sharding Sphere Proxy-5.0.0
一、官方相关文档介绍
快速入门 | Docker镜像
二、安装
1、拉取官网镜像
docker pull apache/shardingsphere-proxy
2、获取/conf中的配置到本地路径,用于挂载
运行容器
docker run -d apache/shardingsphere-proxy
PS C:\Windows\system32> docker run -d apache/shardingsphere-proxy
cd2477174763df3f121326a89ba0d67f8cc0893417256e4e35c56dbe89239255
复制容器中conf中所有的配置文件到本地,用于后面得挂载。使用命令docker update 容器ID:容器中对应路径 本地路径
docker cp cd2477174763df3f121326a89ba0d67f8cc0893417256e4e35c56dbe89239255:/opt/shardingsphere-proxy/conf D:\docker\sharding-sphere-proxy
删除容器
docker rm -f cd2477174763df3f121326a89ba0d67f8cc0893417256e4e35c56dbe89239255
3、运行Docker容器
运行容器并挂载配置地址和扩展包地址
docker run --name sharding-sphere-proxy -d -v D:\docker\sharding-sphere-proxy\conf:/opt/shardingsphere-proxy/conf -v D:\docker\sharding-sphere-proxy\ext-lib:/opt/shardingsphere-proxy/ext-lib -e PORT=3308 -p 7009:3308 apache/shardingsphere-proxy:latest
PS C:\Windows\system32> docker run --name sharding-sphere-proxy -d -v D:\docker\sharding-sphere-proxy\conf:/opt/shardingsphere-proxy/conf -v D:\docker\sharding-sphere-proxy\ext-lib:/opt/shardingsphere-proxy/ext-lib -e PORT=3308 -p 7009:3308 apache/shardingsphere-proxy:latest
568560a9c957d8c9b7b15e33e83968e8ad5c064333730623ba93316b44937b97
三、实现数据分片(样例)
1、复制mysql依赖到扩展包中
下载地址:mysql-connector-java-5.1.47.jar或者mysql-connector-java-8.0.11.jar
下载并复制
2、配置文件说明,具体可看官网配置手册
3、权限配置(server.yaml)
rules:- !AUTHORITYusers:- root@%:root # <username>@<hostname>:<password>- sharding@:shardingprovider:type: ALL_PRIVILEGES_PERMITTED
4、数据分片配置(config-sharding.yaml)
sql脚本
CREATE DATABASE cyun_sharding_sphere_proxy CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE cyun_sharding_sphere_proxy;-- auto-generated definition
create table t_sys_log_0
(id varchar(32) not null comment '日志ID'primary key,application_name varchar(32) not null comment '服务名称',log_type int(2) default 0 not null comment '日志类型(0-未知、1-登录日志、2-操作日志、3-定时任务日志)',operate_type int(2) null comment '操作类型(0-未知、1-查询、2-添加、3-更新、4-删除、5-导入、6-导出)',log_content varchar(1000) null comment '日志描述信息',ip varchar(100) null comment 'IP',method varchar(500) null comment '请求java方法',request_url varchar(255) null comment '请求路径',request_param longtext null comment '请求参数',request_type varchar(10) null comment '请求类型',cost_time bigint null comment '耗时(单位:毫秒)',create_by varchar(32) null comment '创建人',create_time datetime null comment '创建时间',update_by varchar(32) null comment '更新人',update_time datetime null comment '更新时间'
)comment '系统日志表' charset = utf8mb4;-- auto-generated definition
create table t_sys_log_1
(id varchar(32) not null comment '日志ID'primary key,application_name varchar(32) not null comment '服务名称',log_type int(2) default 0 not null comment '日志类型(0-未知、1-登录日志、2-操作日志、3-定时任务日志)',operate_type int(2) null comment '操作类型(0-未知、1-查询、2-添加、3-更新、4-删除、5-导入、6-导出)',log_content varchar(1000) null comment '日志描述信息',ip varchar(100) null comment 'IP',method varchar(500) null comment '请求java方法',request_url varchar(255) null comment '请求路径',request_param longtext null comment '请求参数',request_type varchar(10) null comment '请求类型',cost_time bigint null comment '耗时(单位:毫秒)',create_by varchar(32) null comment '创建人',create_time datetime null comment '创建时间',update_by varchar(32) null comment '更新人',update_time datetime null comment '更新时间'
)comment '系统日志表' charset = utf8mb4;
配置config-sharding.yaml
schemaName: sharding_proxy_dbdataSources:ds_0:url: jdbc:mysql://101.101.101.101:7000/cyun_sharding_sphere_proxy?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: rootconnectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50minPoolSize: 1rules:- !SHARDINGtables:t_sys_log:actualDataNodes: ds_0.t_sys_log_${0..1}tableStrategy:standard:shardingColumn: log_typeshardingAlgorithmName: log_type_inlinekeyGenerateStrategy:column: idkeyGeneratorName: snowflakebindingTables:- t_sys_logdefaultDatabaseStrategy:none:defaultTableStrategy:none:shardingAlgorithms:log_type_inline:type: INLINEprops:algorithm-expression: t_sys_log_${log_type % 2}
5、重启服务
四、使用数据库工具连接
使用DBeaver工具进行连接
五、问题总结
1、使用工具连接时报错
工具错误截图
sharding sphere proxy容器报错截图
问题原因: 创建连接时,未填写Sharding Sphere Proxy代理的数据库。
2、使用工具查看表结构报错
工具错误截图
sharding sphere proxy容器报错截图
该错误不影响使用。
【Docker、Sharding Sphere】Docker安装Sharding Sphere Proxy-5.0.0相关推荐
- docker守护式安装tomcat(汤姆猫)报错:Error starting userland proxy: listen tcp 0.0.0.0:8888: bind: address alrea
用docker安装tomcat的时候,运行镜像,安装tomcat容器出现报错 [root@localhost ~]# docker run -it -p 8888:8080 tomcat docker ...
- Docker实践:Centos下安装Docker并简单的使用
1 环境介绍 版本信息: [root@localhost]# cat /proc/version Linux version 3.10.0-514.el7.x86_64 (builder@kbuil ...
- docker的介绍、安装、镜像命令
一. 为什么要使用 Docker 1.1Docker 容器虚拟化的好处 在云时代,开发者创建的应用必须要能很方便地在网络上传播,也就是说应用必须脱离底层物理硬件的限制: 同时必须满足"任何时 ...
- docker入门实践,安装指定版本的mysql镜像
本文以安装mysql5.7为例 查找镜像仓库 含有mysql关键字的记录,这里选择了stars最高,即第1条 $ docker search mysql NAME DESCRIPTION STARS ...
- Docker学习 (一) 下载安装及基本常用命令
Docker快速入门笔记 1.docker概述 1.1.docker基本介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源,让开发者可以打包他们的应用 ...
- Docker学习(一)-----Docker简介与安装
一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...
- Docker入门之 - 如何安装Docker CE
本文将介绍如何在Ubantu.CentOS.Windows.Mac上安装Docker Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和 ...
- 根据镜像安装oracle插件,docker镜像alpine中安装oracle客户端
1.背景 有项目需使用python连接oracle数据库,然后查询一些数据进行分析.在安装oracle客户端驱动过程中遇到了一些问题,在此记录下来分享读者. 一点限制: oracle数据库与本应用程序 ...
- 在docker中haproxy的安装以及mysql的负载均衡配置
HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案 1 什么是haproxy HAProxy提供高可用性.负载均衡以及基于TCP ...
最新文章
- 【GDI+】 线段 文字 定位的问题(二)
- python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...
- 数组的扩展-搜集自无忧脚本
- Ubuntu12.04安装小记
- 51单片机中使用ucos ii的优缺点(好文)
- gcc的简单使用教程
- 石子合并(洛谷-P1880)
- html cdn不缓存,【前端开发日常 - 6】七牛CDN上的网页缓存问题及HTML禁止缓存(续)...
- cpu核心分配给不同进程linux,Linux技巧:多核下绑定硬件/进程到不同CPU
- 面向电缆行业的高级计划与排程(商简SPS)解决方案
- atmega168p与328p_ATMEGA328P-MU产品说明
- wireshark显示过滤器和捕获过滤器
- 数值计算之 插值法(6)样条插值
- SDHC和SDXC的区别总结
- java实现 图片转ico
- trackingmore快递查询平台_快递查询API接口(trackingmore)
- DBeaver(其他可视化工具一样的逻辑)连接IoTDBDriver教程
- 哪些方法可以用来提高微信小程序的应用速度?
- 微众银行Solidity智能合约库:区块链工程师的随身工具箱
- java 坦克世界源代码教程_译文教程:坦克世界游戏制作技术分享