专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 分布式数据库搭建教程

分布式数据库搭建教程

更新时间:2022-01-13 09:56:22 来源:动力节点 浏览792次

本文准备使用中间件的架构,实现分布式数据库的构建。简单点说,调用者与中间件通信,有中间件与各个数据库通讯,完成基本数据操作,将结果返回给调用者。

注意:本文篇幅看似短小,文字间引用的文章链接都是需要各位读者详细阅读的。

1.在虚拟机上构建Mysql server

本文使用的VM虚拟机,系统为ubuntu 14.04,安装好系统之后,通过apt安装mysql server,比较方便。安装完成之后,记得打开3306端口。

参考下面两个教程步骤,完成第一步的安装要求。

mysql安装 (安装完mysql即可,Apache等不需要装)

允许远程连接

2.链接数据库

通过上一步可以构建若干(你开心就好)Mysql数据库,本文建了两个仅做实验验证。完成后在本地安装Navicat,验证数据连接无误。

点击【连接】按钮,输入上一步建立的sever的ip,用户名和密码。顺利连接会跟下图一样,显示链接成功。

3.配置Amoeba 

安装Amoeba 直接执行以下命令即可:

wget https://jaist.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.0.1-BETA.tar.gz
mkdir /usr/local/amoeba-2.0.1
tar xf amoeba-mysql-binary-2.0.1-BETA.tar.gz -C /usr/local/amoeba-2.0.1/

配置链接 (配置参考链接中第三步之后对amoeba配置方式),连接两个数据库。

然后可以执行下列代码运行Amoeba中间件:

/usr/local/amoeba-2.0.1/bin/amoeba start

权限问题出现的话,可能需要在代码前加 sudo

顺利的话可以直接连上数据库(怎么可能这么顺利呐?!),如果发生错误很大的可能性为常见的两种错误。

参考下面链接的解决办法: Amoeba报错解决方案

ubuntu 14.04默认java的安装在/usr/lib/jvm/java-7-openjdk-amd64下

设置JAVA_HOME环境变量,在bashrc文件最后加上:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

重启命令行窗口,再次运行Amoeba

如果正确配置的话,执行启动amoeba命令后,会有如下面的输出。此时amoeba对外提供MYSQL的服务可以看做是一个虚拟的MySQL数据库。

该数据库的地址为amoeba的ip,端口在配置过程中会有设置,默认为8066(从下图也能看出来)。

4.设置分片

上一步中默认忽略了对数据库分片的设置。然而实际上分布式数据库最终要的就是对水平分片和竖直分片的设置。在amoeba中,是通过对conf文件夹中rule.xml文件进行配置实现的。

默认的rule.xml文件如下图。

所谓水平切分就是按照一定规则将记录存储在不同的服务器上。

而垂直区分则是将一条记录的不同列按照约定存储在不同服务器上,可以对敏感重要资料起到一定的保护作用。

完成以上的步骤之后,你就可以的得到一个自己的分布式数据库,之后调用完全跟普通MYSQL数据库一样。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>