Using cypher-shell

Hi everyone.

Yesterday I started the Neo4j Administration online course, and it was very tough to get the environment running, but it is done. Just installed an Enterprise Edition 4.0.2 at AWS EC2 using this image ami-0f24860fa3df6493f. During the Cloud Formation process, I have defined the administrator (I assume it is neo4j) password so I wouldn't be asked to change it at the 1st login.

At the 2nd module, "Overview of Admin", at the 2nd exercise, there is a task to use cypher-shell. Well, I am unable to go through this.

I'm logged in the EC2 instance as ubuntu through a ssh connection, and I am very confused if the exercise refers to the OS or the DB user as "neo4j". Nevertheless, I tried with both users to execute the following command but failed.
/usr/bin/cypher-shell -u neo4j -p <mypassword>
sudo /usr/bin/cypher-shell -u neo4j -p <mypassword>

What I am doing wrong?

Best regards,
Renato

Hello Renato,

Did. you start the Neo4j instance?

What error are you getting?

Elaine

Hi Eliane.

The instance is running according to neo4j logs & service status (ubuntu), and I was connected to it via browser.

Take a look at the attached screenshot:

There is a piece of information I am not sure if is right: bolt enabled at 0.0.0.0:7687. I haven't noticed this before.

Anyway, please let me know if you need further information.

Best regards,
Renato

The first time you access the Neo4j instance with cypher-shell, you must change the password.

If you log in with neo4j/neo4j, then you should be asked to change the password.

What happens when you log in, providing neo4j/neo4j for the credentials?

Elaine

I executed this command: /usr/bin/cypher-shell -u neo4j -p neo4j

The result is at the attached screenshot. It didn't work fine.

What is worrying me is that both HTTP & bolt addresses are 0.0.0.0. Is it right?

Earlier, you said that you could connect to the server with Neo4j Browser. Is this still the case?

The error you are showing is very strange indeed!

Is it possible that there is a permissions problem on some of the directories?

Is there anything significant in the debug.log file or the or full version of the log file from journalctl?

Elaine

I guess there is an error now, I AM not being able to connect to the instance.

What do you suggest,?

Hello Renato,

First of all, you may may problems using an EC2 instance with the current course for a couple of reasons:

  1. The course is written for Neo4j 3.5 and you are using 4.0.2.
  2. The course assumes that you have installed Neo4j on ubuntu. Although you are using an EC2 instance, it is automatically started for you and some of the ways that you can manage Neo4j in the course will not work with such an instance.

The 4.0 version of the course pertaining to Basic Neo4j Administration (not causal clustering, security, or logging) is almost ready for online publication. The new version of the course for 4.0 uses Docker. I can send you the PDFs for this course.

On a different note...
Did you follow the instructions in the Developer Guides about creating an EC2 instance from the marketplace? In particular:

Note that in some methods of launching neo4j on AWS, such as via the AWS marketplace, the password of an instance will be automatically set to the instance ID you launched. In other cases, such as when launching enterprise AMIs directly, the password is left as the default “neo4j”. In either case, we recommend changing the password immediately after you launch.

Elaine

Hi Elaine.

Well, I could recreate the instance using an EE single server, it would take time but seems to be part of solution.

I am following instructions from a Neo4j software engineer, Dave (something). He has prepared a Cloud Formation script which os Very complete and covers those points you highklghted. The version ia 3.5.3, It os old but...

And I will check the Developers Guide as well.

Thanks for your help.
Best regards.

Hi Elaine.

After reapplying the AMI (3.5.3), it looks like cypher-shell is working. I will follow the online course and hope it teaches me how to upgrade to a newest version of EE standalone.

One thing: is it correct bolt still pointing to 0.0.0.0:7687?

Thank you for your support.

Best regards

If the bolt address is 0.0.0.0, that means that the server can be accessed from another system. That is, if you use the published IP address of that EC2 instance,
you might be able to access the database using Neo4j Browser, but some of that will depend on how the EC2 networking has been set up.

I am not an EC2 networking expert....

Elaine

You are helping so much. Now the cypher-shell is working and I am studying.

Thanks a lot!!!

Best regards,
Renato