I need to connect to Amazon Neptune using Gremlim console.
Tried all steps for setup and signing configuration but following error occurs when connecting to Neptune.
Steps performed:
- Install JDK
sudo amazon-linux-extras install java-openjdk11
- Install Gremlin Console
wget https://archive.apache.org/dist/tinkerpop/3.4.10/apache-tinkerpop-gremlin-console-3.4.10-bin.zip unzip apache-tinkerpop-gremlin-console-3.4.10-bin.zip cd apache-tinkerpop-gremlin-console-3.4.10
- Install AWS signing library:
amazon-neptune-gremlin-java-sigv4
bingremlin.sh ,,,/ (o o) -----oOOo-(3)-oOOo----- plugin activated: tinkerpop.server plugin activated: tinkerpop.utilities plugin activated: tinkerpop.tinkergraph gremlin> :install com.amazonaws amazon-neptune-sigv4-signer 2.4.0 log4j:WARN No appenders could be found for logger (org.apache.tinkerpop.gremlin.groovy.util.DependencyGrabber). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. ==>Loaded: [com.amazonaws, amazon-neptune-sigv4-signer, 2.4.0]
- Create configuration for Neptune connection:
conf/neptune-remote.yaml
hosts: [your-neptune-endpoint] port: 8182 connectionPool: { channelizer: org.apache.tinkerpop.gremlin.driver.SigV4WebSocketChannelizer, enableSsl: true } serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1, config: { serializeResultToString: true }}
- Connect (fails)
gremlin> :remote connect tinkerpop.server conf/neptune-remote.yaml ==>Error during 'connect' - The channelizer specified [org.apache.tinkerpop.gremlin.driver.SigV4WebSocketChannelizer] could not be instantiated - it should be the fully qualified classname of a Channelizer implementation available on the classpath
How do I get this working? Do I need to set classpath?
2
Answers
You need to follow the documentation located here: https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth-connecting-gremlin-console.html
For an optimal developer experience with your Amazon Neptune database you may also want to consider alternative tools that are better integrated (and far more feature-rich) than the default Gremlin Console, particularly when it comes to IAM auth use cases.
The Amazon Neptune team provides Graph Notebook https://docs.aws.amazon.com/neptune/latest/userguide/graph-notebooks.html which can be either deployed manually or via Amazon SageMaker
G.V() (https://gdotv.com) is a graph IDE that is fully compatible with Amazon Neptune and offers advanced capabilities, as shown in https://docs.aws.amazon.com/neptune/latest/userguide/visualization-GV.html. In the interest of disclosure, G.V() is a tool that I maintain.
There’s also a list of other available tools listed directly on the Amazon Neptune documentation at https://docs.aws.amazon.com/neptune/latest/userguide/visualization-tools.html.