首页 > 其他分享 >shardingsphere配置读写分离集群(1主2从结构)

shardingsphere配置读写分离集群(1主2从结构)

时间:2023-07-18 22:56:59浏览次数:29  
标签:slave shardingsphere 读写 mysql 数据库 集群 demo master ds

第一章、shardingsphere的安装

1、使用ftp将离线安装包放到/opt

2、进入opt目录,解压,移动到/usr/local,重命名

cd /opt
tar -xzvf mysql-5.7,29-linux-glibc2.12-x86_64.tar.gz
mv apache-shardingsphere-4.1.1-sharding-proxy-bin /usr/local
cd /usr/local
mv apache-shardingsphere-4.1.1-sharding-proxy-bin shardingsphere

3、安装mysql连接器

tar -xzvf mysql-connector-java-5.1.48.tar.gz
mv /usr/local/shardingphere/lib

4、启动和停止

cd shrdingsphere/bin
./start.sh
./stop.sh

第二章、配置读写分离多用户集群

1、结构

2、config-master_slave.yaml

cd ..
cd shardingsphere/conf
vi config-master_slave.yaml

配置如下内容:

schemaName:demo #数据库名 demo
dataSources:
    master_ds: # 主库配置
        url:jdbc:mysql://主库ip:3306/demo?serverTimezone=UTC&useSSL=false
        username:demo # 数据库用户,
        password:demo # 数据库密码
        connectionTimeoutMilliseconds:30000
        idleTimeoutMillisecond:60000
        maxLifetimeMillliseconds:1800000
        maxPoolSize:50
    slave_ds_0: # 从库1配置
        url:jdbc:mysql://从库ip1:3306/demo?serverTimezone=UTC&useSSL=false
        username:demo # 数据库用户,
        password:demo # 数据库密码
        connectionTimeoutMilliseconds:30000
        idleTimeoutMillisecond:60000
        maxLifetimeMillliseconds:1800000
        maxPoolSize:50
     slave_ds_1: # 从库2配置
        url:jdbc:mysql://从库ip2:3306/demo?serverTimezone=UTC&useSSL=false
        username:demo # 数据库用户,
        password:demo # 数据库密码
        connectionTimeoutMilliseconds:30000
        idleTimeoutMillisecond:60000
        maxLifetimeMillliseconds:1800000
        maxPoolSize:50

masterSlaveRule:
    name:ms_ds
    masterDataSourceName:master_ds
    slaveDataSourceNames:
        - slave_ds_0
        - slave_ds_1

3、配置数据库2

在另外复制一个config-master_slave.yaml配置文件,改个名称即可。

cp config-master_slave.yaml config-master_slave-2.yaml
vi config-master_slave-2.yaml

按如下配置

schemaName:demo #数据库名 demo
dataSources:
    master_ds: # 主库配置
        url:jdbc:mysql://主库ip:3306/demo1?serverTimezone=UTC&useSSL=false
        username:demo # 数据库用户,
        password:demo # 数据库密码
        connectionTimeoutMilliseconds:30000
        idleTimeoutMillisecond:60000
        maxLifetimeMillliseconds:1800000
        maxPoolSize:50
    slave_ds_0: # 从库1配置
        url:jdbc:mysql://从库ip1:3306/demo1?serverTimezone=UTC&useSSL=false
        username:demo # 数据库用户,
        password:demo # 数据库密码
        connectionTimeoutMilliseconds:30000
        idleTimeoutMillisecond:60000
        maxLifetimeMillliseconds:1800000
        maxPoolSize:50
     slave_ds_1: # 从库2配置
        url:jdbc:mysql://从库ip2:3306/demo1?serverTimezone=UTC&useSSL=false
        username:demo # 数据库用户,
        password:demo # 数据库密码
        connectionTimeoutMilliseconds:30000
        idleTimeoutMillisecond:60000
        maxLifetimeMillliseconds:1800000
        maxPoolSize:50

masterSlaveRule:
    name:ms_ds
    masterDataSourceName:master_ds
    slaveDataSourceNames:
        - slave_ds_0
        - slave_ds_1

3、server.xml

在server.xml中配置如下内容

authentication:
    user:
        demo: # demo数据库
            password:demo
            authorizedSchemas:demo
        demo1: # demo1数据库
            password:demo1
            authorizedSchemas:demo1
    sharding:
        password:sharding
        authorizedSchemas:sharding_db

props:
    executor.size:16
    sql.show:false

4、重启

cd shrdingsphere/bin
./start.sh
./stop.sh

 

标签:slave,shardingsphere,读写,mysql,数据库,集群,demo,master,ds
From: https://www.cnblogs.com/songwmeta/p/17564345.html

相关文章

  • Kafka 集群参数配置介绍
    目录Broker端存储信息相关参数ZooKeeper相关参数Topic相关参数数据存留相关参数Topic级别参数保存消息JVM参数操作系统参数文件描述符限制文件系统类型Swappiness提交时间Broker端Broker端参数也被称为静态参数(StaticConfigs),必须在Kafka的配置文件server.properties......
  • 第三章 Flink 集群搭建
    Flink集群搭建Flink可以选择的部署方式有:Local、Standalone(资源利用率低)、Yarn、Mesos、Docker、Kubernetes、AWS。我们主要对Standalone模式和Yarn模式下的Flink集群部署进行分析。我们对standalone模式的Flink集群进行安装,准备三台虚拟机,其中一台作为JobManager(hadoo......
  • 通过kubectl连接Kubernetes集群
    1、安装kubectl本地客户端安装kubectl添加kubernete阿里云yum源#cat>/etc/yum.repos.d/kubernetes.repo<<EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0gp......
  • docker分布式存储之哈希槽3主3从redis集群配置+主从扩容缩容
    创建开启六台redis容器systemctlrestartdockerdockerpullredis:6.0.8根据需求下载redis的镜像版本配置3主3从开启六台redis容器分别用node-1~node-6来区分dockerrun-d--nameredis-node-1--nethost--privileged=true-v/tmp/redis/share/redis-node......
  • python操作mongodb实现读写分离
    读写分离默认情况下,MongoClient实例将查询发送到副本集的主要成员。要使用副节点作为查询,以实现读写分离,我们必须更改读取首选项:读取首选项在模块pymongo.ReadPreference下:PRIMARY:从主节点中读取(默认)PRIMARY_PREFERRED:优先从主节点读取,如果不可用则从副节点读取、SECOND......
  • ES集群搭建和Kibana管理集群
    搭建实例先复制2份解压后的完整目录,将里面的data和log删除.elasticsearch-6.8.23-node2elasticsearch-6.8.23-node3修改3个实例的配置文件:(只列出一份,其他的改一下节点名和监听端口、节点内部通信端口就可以了)#同一个集群中每个节点的集群名要一样。#集群是由一个或者多......
  • Java 实现 WebSocket 集群转发:使用 Redis 发布订阅
    场景浏览器客户端client1连接到了服务端A的websocket节点。浏览器客户端通过弹性负载均衡,把请求分配到了服务端B,服务端B上没有client1的连接。需求服务端B把消息转发到服务端A上,找到客户端client1的连接,发送出去。画示意图......
  • redis-cli查看集群信息
    Redis-CLI查看集群信息Redis是一种高性能的内存数据库,广泛用于缓存、消息队列和数据存储等场景。Redis集群是Redis的一种分布式部署方式,能够提供高可用性和可扩展性。为了管理和监控Redis集群,我们可以使用Redis-CLI提供的命令来查看集群信息。Redis-CLI简介Redis-CLI是Redis自带......
  • redis spring boot 集群 配置
    RedisSpringBoot集群配置1.概述在使用SpringBoot开发应用程序时,我们可能会遇到需要使用Redis集群来存储和缓存数据的情况。Redis是一个高性能的键值存储数据库,而SpringBoot提供了与Redis集群进行集成的便捷方式。本文将介绍在SpringBoot应用程序中配置Redis集群的步骤,包......
  • 如何使用C#中的Lambda表达式操作Redis Hash结构,简化缓存中对象属性的读写操作
    Redis是一个开源的、高性能的、基于内存的键值数据库,它支持多种数据结构,如字符串、列表、集合、散列、有序集合等。其中,Redis的散列(Hash)结构是一个常用的结构,今天跟大家分享一个我的日常操作,如何使用Redis的散列(Hash)结构来缓存和查询对象的属性值,以及如何用Lambda表达式树来简化......