Skip to content

Instantly share code, notes, and snippets.

@Phate334
Last active March 2, 2024 01:33
Show Gist options
  • Save Phate334/9fd90ddce0eaea74086c1a2e5d419402 to your computer and use it in GitHub Desktop.
Save Phate334/9fd90ddce0eaea74086c1a2e5d419402 to your computer and use it in GitHub Desktop.
JanusGraph and OpenSearch
version: "3"
services:
janusgraph:
image: janusgraph/janusgraph:0.6.2
container_name: jce-janusgraph
env_file:
- janusgraph.env
ports:
- "8182:8182"
networks:
- jce-network
depends_on:
- cassandra
- opensearch
cassandra:
image: cassandra:3
container_name: jce-cassandra
ports:
- "9042:9042"
- "9160:9160"
networks:
- jce-network
volumes:
- janusgraph-data:/var/lib/cassandra
opensearch:
image: docker.io/opensearchproject/opensearch:2.4.0
container_name: jce-elastic
hostname: jce-elastic
env_file:
- opensearch.env
ports:
- 9200:9200 # REST API
- 9600:9600 # Performance Analyzer
networks:
- jce-network
volumes:
- janusgraph-index:/usr/share/opensearch/data
dashboard:
image: opensearchproject/opensearch-dashboards:2.4.0
container_name: opensearch-dashboards
ports:
- 5601:5601
environment:
OPENSEARCH_HOSTS: '["https://opensearch:9200"]'
networks:
- jce-network
networks:
jce-network:
volumes:
janusgraph-index:
janusgraph-data:
JANUS_PROPS_TEMPLATE=cql-es
janusgraph.storage.hostname=jce-cassandra
janusgraph.graph.replace-instance-if-exists=true
janusgraph.query.batch=true
index.search.backend=elasticsearch
janusgraph.index.search.hostname=jce-elastic
janusgraph.index.search.elasticsearch.http.auth.type=BASIC
janusgraph.index.search.elasticsearch.http.auth.basic.username=admin
janusgraph.index.search.elasticsearch.http.auth.basic.password=admin
janusgraph.index.search.elasticsearch.ssl.enabled=true
janusgraph.index.search.elasticsearch.ssl.disable-hostname-verification=true
janusgraph.index.search.elasticsearch.ssl.allow-self-signed-certificates=true
janusgraph.metrics.enabled=true
janusgraph.metrics.csvReporter.enabled=false
janusgraph.metrics.slf4jReporter.enabled=false
janusgraph.metrics.jmx.enabled=false
gremlinserver.channelizer=org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer
gremlinserver.metrics.csvReporter.enabled=false
gremlinserver.metrics.jmxReporter.enabled=false
gremlinserver.metrics.slf4jReporter.enabled=false
gremlinserver.threadPoolWorker=2
http.host=0.0.0.0
network.host=0.0.0.0
transport.host=127.0.0.1
cluster.name=opensearch-cluster # Name the cluster
node.name=jce-elastic # Name the node that will run in this container
discovery.type=single-node
compatibility.override_main_response_version=true
bootstrap.memory_lock=true # Disable JVM heap memory swapping
OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m # Set min and max JVM heap sizes to at least 50% of system RAM
@Phate334
Copy link
Author

hi @yingjie668
there are many OutOfMemoryError in your log. Are you sure your machine has enough memory to execute all containers?
You can remove dashboard container first, JanusGraph doesn't need it.
Maybe you need to see Docker Compose documentation to limit memory for Opensearch or Cassandra.

@yingjie668
Copy link

yingjie668 commented Mar 17, 2023 via email

@yingjie668
Copy link

yingjie668 commented Mar 17, 2023 via email

@yingjie668
Copy link

Hello Phate,

Do you have some process to check whether the mixedIndex created from Janusgraph hit the OpenSearch backend? In OpenSearch, is there a way to query the index?

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment