Riak Nodes and Cluster Backup - riak

I have a riak node that has a lot of data on it but IS NOT part of a cluster, and I have a cluster with 2 nodes with no data on it. The command
backup riak#127.0.0.1 riak /dev/nodebackup.dat all
Does not seem to be working anymore, and the backup that was produced was corrupted. If I add this node to the cluster, will the data then be copied to the other 2 nodes in the cluster? Is there a way where I can force the data to be copied when adding the new node?

The backup and restore functions of riak-admin have been deprecated (http://docs.basho.com/riak/latest/ops/running/tools/riak-admin/#backup) and are no longer supported.
The current recommendations for backing up clusters can be found here: http://docs.basho.com/riak/latest/ops/running/backups/
If you add your node to the existing 2 node cluster your data will be redistributed around the now 3 node cluster.

Related

MariaDB Spider with Galera Clusters failover solutions

I am having problems trying to build a database solution for the experiment to ensure HA and performance(sharding).
Now, I have a spider node and two galera clusters (3 nodes in each cluster), as shown in the figure below, and this configuration works well in general cases.:
However, as far as I know, when the spider engine performs sharding, it must assign primary IP to distribute SQL statements to two nodes in different Galera clusters.
So my first question here is:
Q1): When the machine .12 shuts down due to destruction, how can I make .13 or .14(one of them) automatically replace .12?
The servers that spider engine know
Q2): Are there any open source tools (or technologies) that can help me deal with this situation? If so, please explain how it works. (Maybe MaxScale? But I never knew what it is and what it can do.)
Q3): The motivation for this experiment is as follows. An automated factory has many machines, and each machine generates some data that must be recorded during the production process (maybe hundreds or thousands of data per second) to observe the operation of the machine and make the quality of each batch of products the best.
So my question is: how about this architecture (Figure 1)? or please provides your suggestions.
You could use MaxScale in front of the Galera cluster to make the individual nodes appear like a combined cluster. This way Spider will be able to seamlessly access the shard even if one of the nodes fails. You can take a look at the MaxScale tutorial for instructions on how to configure it for a Galera cluster.
Something like this should work:
This of course has the same limitation that a single database node has: if the MaxScale server goes down, you'll have to switch to a different MaxScale for that cluster. The benefit of using MaxScale is that it is in some sense stateless which means it can be started and stopped almost instantly. A network load balancer (e.g. ELB) can already provide some form of protection from this problem.

Galera Cluster is not replicating completely

The situation is simple: I have a Galera Cluster with two nodes.
I create a new database from a .SQL archive (obtained via mysqldump) in one node. The database is quite big: more or less 500 GB. The other node begins the synchronization but it always stops when the database has reached the same size (4 GB aprox.).
Is there any parameter that limits the process? What can be the problem?
Just if it helps anyone: The problem is related to the database engine. In this case, it was MyIsam and Galera Cluster only works with Innodb.

Mariadb Galera cluster does not come up after killing the mysql process

I have a Mariadb Galera cluster with 2 nodes and it is up and running.
Before moving to production, I want to make sure that if a node crashes abruptly, It should come up on its own.
I tried using systemd "restart", but after killing the mysql process the mariadb service does not come up, so, is there any tool or method, that I can use to automate bringing up the nodes after crashes?
Galera clusters needs to have quorum (3 nodes).
In order to avoid a split-brain condition, the minimum recommended number of nodes in a cluster is 3. Blocking state transfer is yet another reason to require a minimum of 3 nodes in order to enjoy service availability in case one of the members fails and needs to be restarted. While two of the members will be engaged in state transfer, the remaining member(s) will be able to keep on serving client requests.
You can read more here.

Starting all nodes in galera at once

I have a galera cluster of three nodes, If I shut down the the three virtual machines and started them all at once, systemd will automatically start mariadb on each of the virtual machines.
Some times it happens that all of the mariadb instances start at once, and this result of a broken cluster.
Which I have to reinitiate using galera_new_cluster
The question is, why does starting all the mariadb instances at once break the cluster ?
Thank you
Whenever you start a node, it either starts as the first node in the cluster (initiates a new cluster), or it attempts to connect to an existing nodes using wsrep_cluster_address. The behavior depends on the node options.
So, every time when you shut down or lose all nodes and start them again, there is nothing to connect to, and you need to start a new cluster. galera_new_cluster does that by starting a node with --wsrep-new-cluster option which overrides the current value of wsrep_cluster_address.
If sometimes it works for you automatically, it most likely means that one of your nodes is permanently configured as the "first node", either via wsrep_cluster_address=gcomm://, or via wsrep-new-cluster. It is a wrong setup in itself. If you lose or shut down only this node and have to restart it, it won't join the remaining nodes in the cluster, it will create a new one.
When you start all nodes at once, you create a race condition. If your "first node" comes up first and initializes quickly enough, it will create a new cluster, and other nodes will join it. If another node comes up first, it won't be able to join anything, thus you get a "broken cluster".
You can find more information on restarting the whole cluster here:
http://galeracluster.com/documentation-webpages/restartingcluster.html
Recommendate way of bootstrapping cluster is to start a advanced node first then second and third so for you need to check lsn no of all nodes or check grastate.date file where you can check all nodes value .
so follow these steps your cluster node will not be crash

OpenStack single node vs multi node

I'm totally new to openstack and after seeing tutorials running it on both single node and multi node(at least 3 consisting 1 controller 1 compute and 1 network node) i was wondering whats the diffrence and is there any advantages with multi nodes over single nodes ones?
Open stack system consists of lot services. If you are running all these in single node , then
there will be resource scarcity issue unless you have a machine with very high CPU,RAM etc. Another advantage of multi node configuration is failover. In 3 node config if one node is down then you can continue with 2 nodes (provided you have service replication). Better go for at least 3 node config which is recommended by openstack.
With Multinode configuration, you can achieve scale-out storage solution by adding more storage needs to your needs. Also, several compute nodes can be used to increase computation needs.

Resources