Storing data in Neo4j through Windows Hyper-V Manager & Bolt Protocol

63 views
Skip to first unread message

Dale Chang

unread,
Apr 20, 2017, 7:07:23 AM4/20/17
to Neo4j
So here is my architecture + use-case:
A Windows host machine runs a Hadoop cluster on Linux through Windows Hyper-V Manager. On the Hadoop cluster, we have Apache Nifi, an ETL tool written in Java. Additionally we have Neo4j CE on Windows.

My problem is that I cannot push data from the Linux OS to the Windows host machine. As we know, Neo4j is listening on 7687 and netstat is showing that no process is listening on TCP while Neo4j is running. 7687 is the default port and I am running with all default configurations.

In NiFi I create a BoltSessionPool Controller Service and connect a PutCypher processor to it according to this. However, sending cypher queries to import data into the address on the Windows host machine results in the address not being able to be found.

Michael Hunger

unread,
Apr 20, 2017, 7:41:47 AM4/20/17
to ne...@googlegroups.com
I very much recommend to use neo4j-enterprise for this kind of setup.
Also it would make more sense to run Neo4j also on a Linux system.

You probably forgot to make Neo4j listen on the public network interface, you can add 0.0.0.0 as listen address in your neo4j.conf



--
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dale Chang

unread,
May 3, 2017, 5:16:02 PM5/3/17
to Neo4j
Okay, so I set up the trial version of Neo4j enterprise version on Windows. Unfortunately, it is mandatory that we use Neo4j on Windows.

In Neo4j I went to Browser Settings and configured the URI section to listen on the Windows ip address and 7687 port.
Additionally I went to neo4j.conf file and specified this property: dbms.connector.bolt.listen_address=0.0.0.0:7687 per your suggestion.

From Linux I can ping the Windows host machine.
Additionally in NiFi I configured a Neo4jBoltSessionPool Controller Service to connect to bolt://ww.xxx.yyy.zz:7687
And I created a PutCypher processor and specified it to load a CSV file with headers

However, I still get an error that is saying that NiFi cannot connect to the Neo4j on Windows when I can ping Neo4j from Linux and access the browser interface
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.

Michael Hunger

unread,
May 3, 2017, 5:44:26 PM5/3/17
to ne...@googlegroups.com
Where is nifi running? Does it use ssl ? 

So it's not the windows firewall and such? If you access browser from linux can you check in the browser settings that it uses bolt?

Or perhaps use cypher-shell (apt-get install cypher-shell) to access neo4j from linux to windows?

Btw if you get this up and running, please write about it. Really good stuff.

To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscribe@googlegroups.com.

Dale Chang

unread,
May 3, 2017, 5:53:01 PM5/3/17
to Neo4j
NiFi is running on a Hadoop cluster via Hortonworks Data Flow. The Hadoop cluster has 6 nodes all on Red Hat (NiFi is on 3 of those nodes). No SSL and no Kerberos.

It might be a Windows firewall problem. I cannot access browser from the Linux side. Since it's RHEL, we use yum and not apt-get. Also, my client is very strict on what software is allowed and not allowed, so I cannot use any outside software.

I will most definitely try and write about it once it's up and running

Michael Hunger

unread,
May 3, 2017, 8:06:52 PM5/3/17
to ne...@googlegroups.com
cypher-shell is part of the neo4j download so you can just use that too, and run ./bin/cypher-shell

I might not be a good help for windows firewall issues :(


On Wed, May 3, 2017 at 11:53 PM, Dale Chang <dale.c...@gmail.com> wrote:
browser


Dale Chang

unread,
May 4, 2017, 2:29:12 PM5/4/17
to Neo4j
Alright, I tried to run the cypher shell within Linux and it says "unable to connect to localhost:7687, ensure the database is running and that there is a working network connection to it." And I can confirm that Neo4j on Windows is listening on the public network 0.0.0.0.... Sounds more like a firewall thing

Dale Chang

unread,
May 4, 2017, 2:31:10 PM5/4/17
to Neo4j
I just started Neo4j on Linux and starting the cyper shell was fine because Linux Neo4j is active on localhost:7687
Reply all
Reply to author
Forward
0 new messages