Using supervisord to manage Neo4j process

In general, running the neo4j process directly is the most common way to start and stop the neo4j server. However, if you use supervisord to manage processes, this has worked for others. Things to keep in mind: supervisord can only… Read more →

Explore:  


Recommendations for recovery upon Out Of Memory error

It is possible to configure the JVM (Java Virtual Machine) such that upon encountering an OOM (Out-Of-Memory) error it will force an exception and crash or simply shut down the application. Taking action upon first OOM occurrence can help in… Read more →

Explore:  


Setting Max Open File Limits on Mac OSX

This document provides a process for setting soft and hard max open file limits on MAC OSX. Each thread created by a user process will require availability in max open file limits. Caused by: java.io.IOException: Too many open files It… Read more →

Explore:  


Diagnose storage performance issues

Slow storage can affect Neo4j performance, therefore we recommend using Solid State Drives in the product documentation. Benchmark your underlying system On Ubuntu or RedHat, you can use fio tool to benchmark your underlying storage. The command below will create… Read more →

Explore:  


Neo4j Docker image cannot run on kubernetes as non root user

In Kubernetes (K8S) various levels of security can be set which apply cluster-wide to Pods running containers. One of which is a policy which prevents containers within a Pod to be executed/run as root user (runAsNonRoot). If this config is… Read more →

Explore:  


Debian / Ubuntu: How to enforce a certain version of neo4j when using debian packages

If you want to run a specific version of Neo4j and install the software via a debian repository you need to use a technique called apt pinning. Otherwise any system update will also update Neo4j to its latest stable version.… Read more →

Explore:  


Hosting Multiple Neo4j Instances On One Machine

This document lists some considerations whilst planning to host multiple neo4j instances on the same physical host machine. Multiple instances are allowed though this is not typically seen in the field. As a starting point of planning one should ideally… Read more →

Explore:  


Debian: apt-get failing to update Neo4j

The common cause is an out of date gpg key. To update then run the following command: wget -O – https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add – See also the information on: https://debian.neo4j.com You can get more information about running Neo4j… Read more →

Explore:  


Setup Neo4j Service to run with different service ID

By default when neo4j is installed as an RPM via yum or apt-get, it creates a user neo4j and group neo4j and runs as neo4j user. However it might be required to run Neo4j service as another service id other… Read more →

Explore:  


Proper File Permissions on Neo4j Server

When installing Neo4j Server, keep in mind that the bin/neo4j executable will need to be run by some OS system user, and that user will need write permissions to some files/directories, specifically to the data directory. That user will also… Read more →

Explore:  


How do I define my graph.db at a path other than under NEO4J_HOME for Windows

Commencing with Neo4j 3.0, the default location for your graph.db directory is under $NEO4J_HOME\databases\. To change the path for the location of the database directory, edit the following parameters in the $NEO4J_HOME\conf\neo4j.conf file # The name of the database to… Read more →

Explore:  


Using apt to download a specific Neo4j debian package

By default, using apt-get to install Neo4j allows you to grab the current and previous stable releases. However, if you would like to install an older version, you can specify that. For reference, the Debian repo is located here: http://debian.neo4j.org/… Read more →

Explore:  


How to List and Install Neo4j Versions Using yum

Warning Prior to Neo4j 3.2, the rpm distribution of Neo4j was experimental at this time. Use with caution and we advise installing from the linux tarball in production environments. For Neo4j 3.2 please follow the instructions here Neo4j 3.0 does… Read more →

Explore:  


Number of open files

GNU/Linux and Mac OS operating systems impose an upper limit on the number of concurrent files a user may have open. This article covers how to configure the number of open files on GNU/Linux that use systemd or sysvinitd. For… Read more →

Explore:  


Running Docker as Non-Root User

When running Neo4j Docker, it will run as neo4j user inside the container. But to run docker as a different user one can specify the –user argument. Documentation has a section for running as non-root user: https://neo4j.com/docs/operations-manual/3.4/installation/docker/#docker-user but would like… Read more →

Explore:  


How to install Neo4j in a disconnected environment

Premise: You are working with a private/disconnected environment and would like to install the Neo4j Database using RPM packages as a source. You can download the RPM packages on a separate machine (with internet access) with the following command. Then… Read more →

Explore:  


How to set up SSL communcation when running Neo4j within a Docker Container

Neo4j 3.2 added a Unified SSL Framework to setup secure connections for Bolt, HTTPS and Intra-Cluster Encryption. Details on this framework can be found at: https://neo4j.com/docs/operations-manual/current/security/ssl-framework/ Setting up secure Bolt and HTTPS communications when running Neo4j within a Docker Container… Read more →

Explore: