Orient DB Distributed Database - orientdb

I have been trying for hours now to set up a distributed database with Orient DB. I have followed their instructions here https://orientdb.com/docs/last/Tutorial-Setup-a-distributed-database.html but have had no luck. I am able to start a server on the first node. I then copy the directory and start a server in that copied directory, but the two nodes won't communicate with each other. They each just are acting as the first node. I tried using tcp instead of multicast in the hazelcast.xml file but that didn't seem to help. Any help would be greatly appreciated.

If you really want to setup a distributed environment that way, just copy the OrientDB folder before you setup any nodes or just download a fresh new installation.

Related

PostgreSQL is not replicating some changes(extensions)

I'm reproducing following this doc a master-slave replication with PostgreSQL DB servers. In front of the cluster there is a pgpool instance as load balancer. So far so good.
The problem is when I query the database from the app and use specific functions from database which use some extensions like pg_trgm or pg_prewarm for giving an example. Every time the query is balanced to one of the slaves I receive an Exception telling me that the extension I'm trying to use is missing.
Could not access file $libdir/pg_trgm
When I check the extension list with \dx on every database on master I receive the full list but on slaves it just pop plpgsql.
As the slaves are read-only servers I can't create the extensions there.
Is there a way I could replicate the extention creation to slaves servers?
Thanks in advance!
You forgot to install the “contrib” PostgreSQL package on the standby machine. As a consequence, the extensions cannot be created.
The slave servers think the extension is installed (because the references to it were copied to it along with the rest of the master's catalogs), but when it goes to load the meat and potatoes of the extension, it actually isn't there.
You need to install the binary objects which make up the extensions onto the replica servers. How you do this depends on how you installed the software on those servers to start with.
When I check the extension list with \dx on every database on master I receive the full list but on slaves it just pop plpgsql.
This isn't possible based on your description. If the replica is a copy of the master created by pg_basebackup, then \dx should return the same results on both master and replica. \dx just checks the system catalog to see what it thinks is installed. If the underlying binaries are missing, it doesn't care, it reports it anyway. If you get different results, then you are not connected to the instance you think you are.

What is upconfig and downconfig in zookeeper?

I am a noob in Solr and zookeeper and trying to learn by myself. I understood that zookeeper is a file structure that manages solr cluster and prevents race condition using locks. I didn’t understand what is upconfig and downconfig and when we do that. It would be of great help if someone can give me a clear picture on it. Thanks in advance!
A better and more general description of Zookeeper is an application that provides centralised configuration for distributed systems. So in Solr Cloud, you can have multiple Solr instances across multiple servers acting together as a single cloud. However, if you want to update a collection's configuration, you don't want to have to go to each server and update them all individually. You want only one version of the config which is then used by any collection that needs it. Hence the conf commands.
upconfig uploads a configuration to ZooKeeper, which then ensures that all collections using that configuration (throughout the Cloud, on all the servers) have that specific config. So you only need to upload it once, on one server.
downconfig lets you fetch a configuration from Zookeeper.

MongoDB NonDocker and Docker Nodes

I have a 5 node MongoDB cluster installed non-Dockerized. I want to start adding nodes to this cluster but I want to use the Dockerized MongoDB (i.e. end result is to migrate Dockerized into the replica set and decommission the non-Dockerized nodes.)
When I do this, I am currently getting my added nodes stuck in STARTUP status so from my understanding the config files are not able to sync up.
Is there something that I need to do to prepare the cluster for the new nodes or is there some logs that I can delve into to find out why it is not moving to STARTUP2?
The data directory was not large enough thus the config files were unable to sync. As soon as I grew the data directory - all was well.

Jboss multiple instances in Standalone mode on same pc

We are using Jboss 7 App Server and we are trying run multiple server nodes on a single box and also on other box *basically 2 boxes which will have 2 each nodes of Jboss servers running).
My question is to have multiple nodes of Jboss Servers on a single box in Standalone mode. Should I have to copy server folder twice with port offsets?
Or is it ok to start servers just via port offset without having to copying server folder?
What is the best practice to have multiple server nodes running on the same box? Any advice would be greatly appreciated.
Thank you.
Just create multiple copies of standalone directory(Example: standalone_PROD,standalone_SIT) so that we will have separate log files and deployment directories for each instance. And use below option while starting server instance:
-Djboss.server.base.dir=/path/to/standalone_SIT <-- Location of standalone dir
-Djboss.socket.binding.port-offset=10 <-- PortOffset to avoid port conflict
We have had two instances of jboss on the same computer over several years. Both instances were in the same domain. Each instance had its own port and of course lay in its own path. Our experiences were good.
You can have as many standalone instances you want on a machine, depending upon the resources available.
All you need to do is copy over the same folder twice and make changes in all the ports to be used in the standalone mode. Also If you are setting any parameters make sure they are according to the memory available on the machine.

postgreSQL with different data directories

Today I installed postgreSQL to work with. When I was reading documents about postgreSQL, I found there can be more than one data directory present. Is it more than one data directory for single installation ? Or I understood wrongly ?
In my installation, data directory is in
C:\Program Files\PostgreSQL\8.3\data
if it can be more than one data directory for single installation, how will be the directory structure ? Please help me in understanding.
I think you mean a tablespace, please check the manual: CREATE TABLESPACE
There can be only one data directory for each PostgreSQL cluster. A cluster is a postmaster listening on a port, managing several databases from a single data directory. You can have multiple clusters by starting multiple postmasters with pg_ctl or via a system service, each listening on a different port and using a different data dir.
If you have multiple clusters on a machine you have multiple data directories. It's unusual to need to do this, but it is possible.
It would be immensely helpful if you'd link to the documents you're talking about when asking questions about them.