syedhassaanahmed / neo4j-datasets

Deploy publicly available Neo4j datasets on Azure Container Instances and optionally migrate them to Azure Cosmos DB
MIT License
7 stars 3 forks source link
arm-templates azure-cli azure-container-instances azure-cosmos-db docker-image graph-database neo4j

neo4j-datasets

Build Status

Deploy to Azure

Deploy single instance Neo4j server with optional publicly available datasets on Azure Container Instances. These are the docker images currently supported.

To deploy the template using CLI;

az group deployment create -g neo4j-game-of-thrones \
    --template-file azuredeploy.json \
    --parameters \
        image=syedhassaanahmed/neo4j-game-of-thrones \
        neo4jPassword=<NEO4J_PASSWORD> \
        migrateToCosmosDb=true \
        cosmosDbPartitionKey=name

Based on official performance tuning guidelines, Neo4j server is configured with the following value for dbms.memory.pagecache.size, dbms.memory.heap.initial_size and dbms.memory.heap.max_size

(CONTAINER_MEMORY_IN_GB - 1GB) / 2 (1GB reserved for other activities on server) i.e for a 7GB container, page cache size and heap size will have 3GB each.

Browse data

Once deployment is completed, proceed to the newly created Container group and select Overview to get Public IP. Launch web browser at http://<PUBLIC_IP>:7474 (ignore certificate warnings). Login with credentials neo4j/<NEO4J_PASSWORD>

Migrate to Azure Cosmos DB

The template also allows you to optionally migrate data to Cosmos DB using neo-to-cosmos tool.

Note: This will additionally deploy Cosmos DB and an Azure Container Instance of neo-to-cosmos.

Troubleshoot

Install the latest Azure CLI.

If you've forgotten your Neo4j credentials, here is how to retrieve them from the secure environment variable NEO4J_AUTH.

az container exec -g <RESOURCE_GROUP> -n <CONTAINER_NAME> --exec-command "echo $NEO4J_AUTH"

Here is a detailed guide for troubleshooting Azure Container Instances.