快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

SymmetricDS 完全配置安装手册

请联系QQ:1793040 索取软件

SymmetricDS 是一个基于 Java 的数据库同步框架。本文并不打算带你熟悉 SymmetricDS 的实现原理,只是从安装与配置入手,让你感受一下 SymmetricDS 运行效果。如果你的系统中是干净(空白)的,那么你需要做的事情就比较多了。本文希望尽可能全面且细致地讲解配置过程,而不至于你按照本文的教程安装,出现无法使用的情况。如果真的有这样的情况产生,你可以在下面进行留言。以下是我在安装环境时配置的一些记录,希望于你有益。


著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
本文作者:Q-WHai
发表日期:2016年7月12日
本文链接:https://qwhai.blog.csdn.net/article/details/51891291
来源:CSDN
更多内容:分类 >> 数据库


  1. CentOS release 6.5 (Final)
  2. java version “1.8.0_92”
  3. mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
  4. OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
  5. symmetric-server-3.7.34

这里需要你的 JDK 版本为 jdk1.6 以上,关于 JDK 的安装和配置这里就不多说了,网上一大堆。

此处为测试环境,故设置了关闭防火墙


关于 SSH 的免密码登录在这里不是很重要,只是本人在下发文件的时候用到了。你可以选择性配置。
配置过程可参见本人另一篇博客《Hadoop 2.2.0 集群搭建》

这里为了避免使用 root 帐户,所以创建了新的数据库操作用户:symmetric
首先使用 root 帐户登录 MySQL,并执行如下 SQL 语句:


上面的 SQL 语句可以让你有一个 symmetric 的MySQL 用户,可是这个用户在很多地方都没有操作权限。这里需要修改某些操作的权限:


在 Java 中,如果需要连接 MySQL 数据库,需要使用 JDBC 的数据库连接技术。在使用 JDBC 的时候比较容易忽略的就是连接驱动的配置了。
这一点在 Windows 下还好,不过要在 Linux 下使用 JDBC 就需要配置 MySQL 的驱动程序了。

  1. 首先上传 MySQL 的驱动 jar 包 mysql-connector-java-5.1.6-bin.jar 到 Linux 的合适位置
  2. 配置环境变量

在文件末尾处添加如下内容:


设置配置立即生效



首先上传 symmetric-server-3.7.34 到 master 节点自定义的一个目录下,再重命名移动到用户根目录。


然后再下发此文件夹:


这里的 corp 也就是我的 master 节点。
复制 symmetric 目录下的 samples/corp-000.properties 文件到 engines 目录下:


并修改此文件内容


修改后的内容如下:


这里我只保留了实际的内容,不包含注释。

这里的 store 也就是我的 slave 节点。
复制 symmetric 目录下的 samples/store-001.properties 文件到 engines 目录下:


并修改此文件内容


修改后的内容如下:


在默认的情况下,symmetric/bin 目录下的文件没有执行权限,所以这里我们要为这些文件添加可执行权限:




在 symmetric 中默认已经给出了自动化的数据创建过程,不过这种自动化的创建有一些不足的地方,那就是数据不够完整。这样就会致使在后面自动化插入数据时出现找不到数据表的情况,所以这里我比较推荐你使用下面手动创建的方式。自动化的创建方式只作为参考:
创建指令


创建结果


手动创建虽然比较繁琐,但是数据比较完整,整个过程也很顺利。

SQL

item


item_selling_price


sale_transaction


sale_return_line_item


于是创建了如下 4 张数据表:


修改 HOST

由于之前的配置文件中设置了 HOST 为 master,所以这里需要修改用户 symmetric 的 HOST。


生成分销系统表

在 symmetric 中默认已经给出了自动化生成分销系统表的方式,只要一句指令即可:
指令


检查结果
查看 MySQL 中的数据表


虽然上面说了一堆东西,但是还只是一堆空的数据表,如下我们就把 symmetric 自带的数据填充到数据表中。操作过程如下:
指令


结果检查


因为这里是两个节点之间的数据同步,所以我们需要启动两个节点:corp 和 store
start corp node
corp 设置开启的端口为 8080


start store node
store 设置开启的端口为 9090


上面两个窗口的启动之后,会进入等待状态,所以如果有其他操作,就需要另外打开窗口了。

这里还有一步需要处理就是注册节点,注册操作在 corp 和 store 启动之后进行。



发送初始负载的目的是将最开始的时候 corp 节点数据表中的数据同步到 store 节点中。如果你开始的数据表中没有这些数据,那么就可以不用发送此负载了。
指令


结果



这里的验证为在 corp(即 master) 节点上修改一条数据,观察两个节点中数据表的变化。
在 corp 节点的数据库中执行相应 SQL 语句:


corp


store


注意这里不要只添加一条记录,因为涉及到了数据库的触发器,我们虚拟了一条交易记录,如下:


当一条交易被完成之后,我们再去检查一下 store 节点中的数据信息:





数据的确是有增加的,验证完成。


  • http://blog.csdn.net/xichenguan/article/details/41720861

如果你也需要使用ProcessOn这款在线绘图工具,可以使用如下邀请链接进行注册:
https://www.processon.com/i/56205c2ee4b0f6ed10838a6d

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040