0

In my Kubernetes cluster, I have installed neo4j using Helm Chart. Used the below command.

helm install --name neo4j-helm stable/neo4j --set acceptLicenseAgreement=yes --set imageTag=4.0.1

I have Python Flask application as another service. I am using Py2Neo to connect to neo4j using below code.

graph = Graph(
        host='neo4j-helm-neo4j',
        port=7687
    )

But, when I am trying to do db operation, it says, Database graph.db is unavailable.

enter image description here

I have the 2 read replicas and 3 core running. I am able to ping from my Python pod to Neo4j service.

enter image description here

In Py2Neo documentation, it is mentioned that,

py2neo does not support routing with a Neo4j causal cluster (bolt+routing). For this functionality, please use the official Neo4j Driver for Python

Could that be the reason?

Looking for a little guidance on this. Thanks.

Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
Jinto
  • 847
  • 1
  • 11
  • 27
  • sorry, cannot fully answer this, as i didn't work on python-bolt connector. but worked on java-bolt routing to casual cluster. You should be able to connect to an individual node without routing (ie, no loadbalancing through bolt) by the bolt driver. 1.You may need to make sure that you can connect to one core node of the cluster from your browser using bolt. Check all nodes are visible, db is fine from browser console. 2. run your python app to the same core node (or other nodes) using bolt. It should work without routing. But no load balancing though if the driver doesn't support it. – blackrain Apr 19 '20 at 01:13
  • Thanks @blackrain for the comment. Helm chart is adding neo4j as headless service. ClusterIp is None. No LoadBalaner. – Jinto Apr 19 '20 at 09:41

0 Answers0