symmetric-ds | database replication and file synchronization software | Change Data Capture library
kandi X-RAY | symmetric-ds Summary
kandi X-RAY | symmetric-ds Summary
SymmetricDS is database replication and file synchronization software that is platform independent, web enabled, and database agnostic. It is designed to make bi-directional data replication fast, easy, and resilient. It scales to a large number of nodes and works in near real-time across WAN and LAN networks.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Reads a single record .
- Creates a snapshot of the database .
- Write tables section .
- Insert load events in a batch .
- Reads the next table .
- Update row .
- Creates the tabular result layout .
- Fill column template .
- Called to start the query .
- Compares two foreign keys of the source table to the target model .
symmetric-ds Key Features
symmetric-ds Examples and Code Snippets
Community Discussions
Trending Discussions on symmetric-ds
QUESTION
In my docker-compose.yml
I have two services (mariadb
and symmetricds
) with bind-mounts to mnt
folder, specific container directories.
Now, from toolbox
container I'd like to access all the mnt
folder for backup purposes. Can I bind-mount mnt
to container /data/mnt
... or I will run into troubles?
ANSWER
Answered 2020-Feb-27 at 12:56Yes, you can.
Docker does not stop you from using the same volume in two containers. In fact, this is the way to share data between containers.
Just be careful not to update the same files in two containers, as it might cause data-consistency issues
QUESTION
I'm researching tech for a new project.
We have a number of sites, whose data should come from a master server. Each site can only have the data on it that is relevant to the owner (company) of the site. Each site may have a number of independent machines, each with the own DB.
The master would have all data for all sites/machines. Offline usage with sporadic connectivity is expected.
I can use something like symmetric-ds to do this with an RDBMS. e.g: setup per-site replication such that each site only receives data relevant to that site.
What that doesnt get me (at least, automatically) is the ability for a write to one of the local machines, to be automatically replicated to the other machines that are at that site. This is important in the offline case, where writing to machine A on a site won't automatically cause the same write/update to occur at machine B of the same site. The write to B will occur naturally as a part of symmetric-ds replication when the connection comes up, but I need something that'll work locally when the connection is down.
I'm wondering if something like Cassanda is suitable for this?
I'm thinking:
- Each site is a set of replicas for itself (even if that site it just one machine)
- Each site replicates data to a master site
- Writes at the master are replicated to relevant sites (based on the content of the data)
ANSWER
Answered 2018-May-09 at 18:41Out of the box there is no such functionality in Cassandra. Theoretically you may build something like you need using the DSE's Advanced Replication functionality, but this requires experimentation to build correct solution. Although if decision is based only on content, then maybe this won't work as well.
Default cross-DC replication in Cassandra may sustain downtime, especially if your software is using correct consistency levels when writing/reading data. But all data will be replicated to all DCs, until you separate them into different keyspaces that all will have master as one DC, and inidividual DCs as 2nd DC.
QUESTION
I am trying to run symmetric DS war on tomcat. Below ar the steps I followed :
- I have created war using this command: command: ../bin/symadmin create-war /root/symmetric-ds.war
- Then I deployed war on the tomcat.
When my client node tries to register with master node it gives following error as shown below:
[SGW-000] - DataLoaderService - Requesting current configuration {symmetricVersion=3.8.28, configVersion=null} [SGW-000] - PullService - Could not communicate with node 'null:null:?' at http://10.97.57.75:31415/symmetric-ds/sync because of unexpected error java.io.IOException: Server returned HTTP response code: 403 for URL: http://10.97.57.75:31415/symmetric-ds/sync/config?nodeId=000&securityToken=07a654896b216bfd6acb9746470f73&hostName=mc-ha-vm1.edcharman.com&ipAddress=10.97.57.74&symmetricVersion=3.8.28&configVersion= at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1926) at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1921) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1920) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1490) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) at org.jumpmind.symmetric.transport.http.HttpTransportManager.getInputStreamFrom(HttpTransportManager.java:301) at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openStream(HttpIncomingTransport.java:118) at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openReader(HttpIncomingTransport.java:125) at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:554) at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromConfig(DataLoaderService.java:487) at org.jumpmind.symmetric.service.impl.PullService.pullConfigData(PullService.java:170) at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:623) at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:571) at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:244) at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(SymmetricEngineHolder.java:524) Caused by: java.io.IOException: Server returned HTTP response code: 403 for at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openConnectionCheckRedirects(HttpIncomingTransport.java:159) at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openStream(HttpIncomingTransport.java:99) ... 8 more
Can anyone please help here ?
...ANSWER
Answered 2017-Sep-26 at 08:15I think running symmetric DS with Tomcat is little bit tricky for new comers. So I sharing steps that worked for me:
sync url on master node: sync.url=https://masterNodeIP:31415/warName/sync
register url on client node: sync.url=https://masterNodeIP:31415/warName/sync
Go to symmetric-ds-3.x.x-server/bin folder and create symmetric-ds.war: ./symadmin create-war /Path of war/symmetric-ds.war
Copy war to /tomcat/webeapps folder.
copy postgresql-9.4-1212.jre7.jar file from ~/symmetric-server-3.8.28/lib to ~/apache-tomcat-8.0.24/webapps/symmetric-ds/WEB-INF/lib folder
Do following port configuration in /tomcat.x.x/conf/server.xml
Execute below command on master node to open registration: master node id: ABC-000 client node group: XYZ Clinet node external id: 001 ../bin/symadmin --engine ABC-000 open-registration XYZ 001
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install symmetric-ds
You can use symmetric-ds like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the symmetric-ds component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page