Knowledge Base

Articles tagged as cluster

A demonstration of causal cluster routing

The following will demonstrate how to use cypher-shell to get a better understanding of a Neo4j Causal Cluster instance and its implementation of routing. The initial scenario is described with…

Read more

A Demonstration of Cluster Size at Formation and Runtime

Causal Clustering Minimum Core Size At Formation causal_clustering.minimum_core_cluster_size_at_formation is defined as the minimum number of Core machines initially required to form a cluster. The cluster will form when at least…

Read more

A demonstration of IntraCluster SSL Encryption

This document provides a step-by-step demonstration of the process to deploy a Self-Signed SSL Certificate, to member instances of a Causal Cluster, aimed at achieving intra-cluster encryption. The steps can…

Read more

A method to replicate a Causal Cluster to new hardware with minimum downtime

If the opportunity arises such that you are in need of replicating your existing Causal Cluster to a new hardware setup, the following can be used to allow for minimal…

Read more

Add a Neo4j instance to a running embedded HA application

There are situations when we would like to use the Neo4j Browser to access an embedded HA cluster. The documented approach to accomplish that goal requires changing the embedded application…

Read more

An example of neo4j-import steps in a Causal Cluster environment

The following steps are provided to describe how to use neo4j-import in a Causal Cluster environment and was run from an environment of a single linux host with 3 copies…

Read more

Are my cluster transactions/messages encrypted.

For all versions prior to 3.3, there is no encryption done specifically on the contents being transferred. Furthermore, since it doesn’t use REST or Bolt, there is no SSL/https configuration…

Read more

Causal Cluster FAQ for heavy workloads

Lagging of follower instances and what causes it? The main reason for followers to fall behind is highly concurrent and continuous read/write workloads. This can cause the instances get overwhelmed…

Read more

Cluster: org.neo4j.kernel.impl.transaction.log.NoSuchTransactionException: Unable to find transaction 1 in any of my logical logs: Couldn’t find any log containing 1

When operating a causal cluster, if "the store" (data/databases/graph.db) is removed from a server that was previously a member of the cluster we will get the following exception when that…

Read more

Comparing HA and Causal Clusters

The legacy HA cluster mode has been deprecated as of Neo4j version 3.5, and will be totally removed from the product in version 4.0, with 4.0 expected to be released…

Read more

Configure HAProxy to Send Write Requests to Leader Node Only

There are a few options regarding implementation of a proxy server to direct writes to a Master node and reads to the Slave nodes in a Neo4j cluster. Commonly, it…

Read more

How do I resolve inconsistency problems on an instance of a cluster

(if using version >= 3.1, please read Leader and Follower instead of Master and Slave respectively) Sometimes, when running a clustered Neo4j environment, a slave’s store may become inconsistent. On…

Read more

Deploying Neo4j on AWS Using CloudFormation

This page describes how to use CloudFormation to deploy Neo4j clusters on AWS, using Virtual Machines. Basics The Neo4j CloudFormation templates allow deploying causal clusters of any size, with almost…

Read more

Explanation of error "Failed to obtain connection towards WRITE server. Known routing table is: Ttl…​"

In Neo4j 4.0, if you are logged into the READ_REPLICA of a Causal Cluster, and execute the following command to login into cypher-shell: You will encounter this error: The reason…

Read more

HA Proxy Configuration for Online Backup

What are we trying to achieve? Online backup should be scheduled to run periodically on a production cluster. You only need to run it on one instance, since each has…

Read more

How do I display a hostname rather than IP address in the Causal Clustering Members section of sysinfo

Via the browser one can enter :sysinfo to display data about the Neo4j system. When Neo4j is configured as a causal cluster, the bottom-right corner of the `:sysinfo' output will…

Read more

How to monitor if a follower is in sync with Leader (Causal Cluster)

To monitor if a Follower is in sync with its Leader, or know how much it is lagging behind, it is possible to check the Last Commited Transaction Id from…

Read more

Mitigating Causal Cluster re-elections caused by high GCs

This article describes the effects of JVM stop-the-world GC pauses, on a causal cluster. A brief introduction to garbage collection, heap sizing and memory leak troubleshooting, is followed by a…

Read more

Setup Routing Policies for Different User Types To Direct them to Different Servers

Problem statement There is a Causal Cluster Setup with 3 Cores and 1 Read Replica. There are 2 user groups - OLTP users and OLAP users. OLTP user queries should…

Read more

Understanding causal cluster quorum and cluster recovery

Several major causal cluster operations require a majority of cluster members to be online, a majority quorum. When a causal cluster loses majority quorum, it loses write capability as well…

Read more

Understanding causal cluster size scaling

The ability to safely scale down the size of a causal cluster affords us more robustness for instance failures, provided we maintain quorum as the failures take place. Prior to…

Read more

Upgrading your Causal Cluster from 3.1.x to 3.2.x

This article outlines possible steps to upgrade your Neo4j 3.1.2+ Causal Cluster to 3.2.2. For this upgrade path, Neo4j does not support rolling upgrades, so downtime is required to complete…

Read more

Upstream strategy behaviour change

Starting with version 3.4, we changed in the behaviour of how instances sync with the Leader. This change can potentially affect the behaviour of your cluster when using strategy plugins,…

Read more

When authentication is enabled in Neo4j, how do I call the HA Status REST API without a username/password

One can enable authentication for the Neo4j database by adding the following to the conf/neo4j-server.properties In doing so any connections to the database will need to provide a username/password. However,…

Read more

When to use bookmarks

Bookmarks are part of a broader topic: Causal consistency. We recommend reading the introduction to Neo4j Causal Clustering and the lifecycle of a Neo4j Causal Cluster before reading further. Pay…

Read more