Comments (2)
I actually have some small uncertainty as to what a cluster is meant to be in the first place. Until now any number of NGAS servers that are connected to the same central database already constitute in my mind a collaborative set of servers that work together, and as such I have considered that a "cluster" in a loose term. The code clearly makes a distinction about hosts belonging to the same cluster or not based on the database contents though, so the concept is a bit more specific that what I thought -- maybe to cater for different, isolated sets of servers connected to the same database?
There is also an existing ArchiveName
attribute of the Server
XML element in the configuration file, but once again its purpose seems to be slightly different, as it groups disks together, not hosts (because disks in NGAS in principle can be removed from one server and brought to another).
In summary: I think a new "Cluster" attribute would be needed in the Server
XML element to set this value, but I will need to double-check this before proceeding.
from ngas.
I think you are mostly correct. The members of a cluster should belong to the same database schema. Although you could have multiple clusters using the same database schema. For example, every time you buy new physical machines and add them to the database schema you can give them a new cluster name. This can be useful for cloning/migrating data from the old cluster to the new cluster. Afterwards you can decommission the old cluster. The ngasXSyncTool.py supports this way of using clusters. We recently used ngasXSyncTool.py to clone our old nodes. It took an eternity but we got there. It could probably use some optimization.
I have also seen the cluster name used in mirroring plugin. You specify the source cluster (remote) and target cluster (local). I guess if the source NGAS servers have multiple clusters and you want to mirror all the clusters you have to configure multiple mirroring plugins in multiple machines.
Anyway, the concept of clustering in NGAS is a bit confusing and not well defined or documented. Nonetheless it is used in different parts of NGAS. I think adding the cluster name setting in the Server XML element would be a good fit.
from ngas.
Related Issues (20)
- XML response contains invalid link to NgamsStatus DTD HOT 7
- ngamsServer and ngamsDaemon use different PID files HOT 1
- NGAMS python client --server option bug HOT 1
- Checksum calculation mismatch failure on python 3 HOT 3
- Improve path computation fixed in #80
- Deprecated function calls in src/ngamsCore/ngamsLib HOT 4
- ngamsDapiStatus attribute __ioTime: Integer vs. Float HOT 1
- ngamsCore/ngamsLib/logutils.py inconsistent types of local variable HOT 1
- ngamsCore, function isoTime2Secs() mixes Integers and Floats HOT 1
- ngamsUDT/ngamsUDTSender.py not Python3 ready HOT 1
- ngamsUtils/ngamsUtils/ngasUtilsLib.py, function decrypt_access_code() is broken HOT 2
- There is no six.input() function HOT 1
- base64 decoding of DB password is incorrect Python3 code HOT 1
- Insufficient error checks in get_db_parameters() function HOT 2
- more Python3-related changes to ngamsUtils/ngamsUtils/ngasXSyncTool.py HOT 1
- Python3-related fixes to ngamsUtils/ngamsUtils/ngasVerifyCloning.py HOT 1
- Python3-related issues in ngamsUtils/ngamsUtils/ngasCheckFileCopies.py HOT 2
- Defunct (Janitor) process after OFFLINE,ONLINE (or INIT) HOT 2
- QUERY/files command does not support UseFileIgnore=false HOT 4
- Backward compatible checksum variant HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ngas.