JanusGraph / janusgraph

JanusGraph: an open-source, distributed graph database
https://janusgraph.org
Other
5.32k stars 1.17k forks source link

add a key named "ConfigurationManagementGraph" to the "graphs" property #1322

Open lmcrazy opened 5 years ago

lmcrazy commented 5 years ago

Please help to have a look, thanks! I've configured ConfigurationManagementGraph!But it still reported an error。 config: image image

my code is: ` @Test public void graphConfigurationShouldBeWhatWeExpectWhenUsingTemplateConfiguration() throws Exception {

    try {

        JanusGraphManager gm;
        Settings set =new Settings();
        set.host="172.16.161.115";
        gm = new JanusGraphManager(set);
        final Map<String, Object> map = new HashMap<>();
        map.put(STORAGE_BACKEND.toStringWithoutRoot(), "hbase");
        map.put("storage.hostname", "172.16.161.115");
        //ConfiguredGraphFactory.createTemplateConfiguration(new MapConfiguration(map));
        ConfigurationManagementGraph instance = ConfigurationManagementGraph.getInstance();
        final StandardJanusGraph graph = (StandardJanusGraph) ConfiguredGraphFactory.create("ghlml");
        final StandardJanusGraph graph1 = (StandardJanusGraph) ConfiguredGraphFactory.open("ghlml");
        instance.createTemplateConfiguration(new MapConfiguration(map));
        Set<String> graphNames = ConfiguredGraphFactory.getGraphNames();
        for(String str:graphNames){
            System.out.println("---"+str);
        }
        assertNotNull(graph);
        assertEquals(graph, graph1);

        assertEquals("ghlml", graph.getConfiguration().getConfiguration().get(GRAPH_NAME));
       // assertEquals("inmemory", graph.getConfiguration().getConfiguration().get(STORAGE_BACKEND));

    } finally {
        //ConfiguredGraphFactory.removeConfiguration("graph1");
        //ConfiguredGraphFactory.close("graph1");
    }
}

`

error code: ` org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class. at org.janusgraph.graphdb.management.ConfigurationManagementGraph.getInstance(ConfigurationManagementGraph.java:97) at pluradj.janusgraph.example.ConfiguredGraphFactoryTest.graphConfigurationShouldBeWhatWeExpectWhenUsingTemplateConfiguration(ConfiguredGraphFactoryTest.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

java.lang.RuntimeException: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class. at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:169) at org.janusgraph.core.ConfiguredGraphFactory.removeTemplateConfiguration(ConfiguredGraphFactory.java:258) at pluradj.janusgraph.example.ConfiguredGraphFactoryTest.cleanUp(ConfiguredGraphFactoryTest.java:70) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Caused by: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class. at org.janusgraph.graphdb.management.ConfigurationManagementGraph.getInstance(ConfigurationManagementGraph.java:97) at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:167) ... 27 more

`

cyckax commented 5 years ago

I have the same problem with u. and I do not have ideas to handle it...

chupman commented 5 years ago

To prevent confusion we have recently added a default template for new issues containing the guidelines as to what belongs in issues. Usage, configuration, and general questions should be asked in gitter, stackoverflow, or the janusgraph-users google group. Github issues are for reporting bugs, requesting new features, and tracking the development of JanusGraph. If your issue is still outstanding please consult one of the communities mentioned. If you still feel like your issue belongs here and was closed in error please feel free to repoen it.

VINAYAK179 commented 5 years ago

I do have the same problem, Can you give the solution

EthanPhan commented 5 years ago

I have the same problem with JanusGraph 0.4.0, can anyone give a solution for this?

jsndh-pm commented 4 years ago

I have the same problem with JanusGraph 0.4.0, can anyone give a solution for this?

Did you find any solution ? :( I have the same issue with 0.4.1

roamerop commented 2 years ago

same issue on version 0.6.1

jerlendds commented 1 year ago

I'm also running into this issue, currently running through the janusgraph/janusgraph:1.0.0-rc2 and most lately through cloning the git repo and building from that. Ive modified and mounted hardcoded config options with the correct values and multiple variations of those values because I've been losing my mind trying to debug this for the past two days. Is there any interest from the JanusGraph team to look into this? I can push a repo where the problem can be reproduced but I'd like to know if I have to switch away from JanusGraph if this can't be fixed. Being able to create and access dynamic graphs is something that's a requirement for my app and that is shown on your documentation as being included

 sdb:
    image: scylladb/scylla:5.1
    ports:
     - "${SDB_REST_PORT-.env SDB_REST_PORT needs to be set}:10000"
     - "${CQL_PORT-.env CQL_PORT needs to be set}:9042"
     - "${THRIFT_PORT-.env THRIFT_PORT needs to be set}:9160"
     - "${INTERNODE_PORT-.env INTERNODE_PORT needs to be set}:7000"
     - "${INTERNODE_ONE_PORT-.env INTERNODE_ONE_PORT needs to be set}:7001"
     - "${JMX_PORT-.env JMX_PORT needs to be set}:7199"
    environment:
      --default-log-level: warn
    env_file:
      - .env
    volumes:
     - sdb-data:${SCYLLADATA-.env SCYLLADATA needs to be set}
  janus:
    build:
      context: ./janus/1.0/
      dockerfile: ./Dockerfile
    ports:
      - "8182:8182"
    environment:
      janusgraph.set-vertex-id: true
      storage.backend: cql
      storage.hostname: sdb:9042
      janusgraph.index.search.backend: elasticsearch
      janusgraph.index.search.hostname: index:${ELASTIC_PORT-.env ELASTIC_PORT needs to be set}
    volumes:
      - "./janus/config/janusgraph.properties:/etc/opt/janusgraph/janusgraph.properties:ro"
      - "./janus/config/janusgraph-server.yaml:/etc/opt/janusgraph/janusgraph-server.yaml:ro"
      - "./janus/config/janusgraph-server.yaml:/opt/janusgraph/conf/remote-objects.yaml:ro"
      - "./janus/config/empty-sample.groovy:/opt/janusgraph/scripts/empty-sample.groovy:ro"

      index:
    image: "${ELASTIC_IMAGE-.env ELASTIC_IMAGE needs to be set}"
    environment:
      - http.host=0.0.0.0
      - transport.host=127.0.0.1
      - node.name=es
      - cluster.initial_master_nodes=es
      - cluster.name=osintbuddy-es
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms4g -Xmx4g"
      - "-Des.logger.level=WARN"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 262144
        hard: 262144
    ports:
     - "${ELASTIC_PORT-.env ELASTIC_PORT needs to be set}:9200"
    env_file:
      - .env
    user: "1000"
    volumes:
      - type: volume
        source: es-data
        target: /usr/share/elasticsearch/data

janusgraph-server.yaml


host: [0.0.0.0]
port: 8182
evaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphManager: org.janusgraph.graphdb.management.JanusGraphManager
graphs: {
  ConfigurationManagementGraph: /etc/opt/janusgraph/janusgraph.properties,
}
scriptEngines: {
  gremlin-groovy: {
    plugins: { org.janusgraph.graphdb.tinkerpop.plugin.JanusGraphGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]},
               org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: []}}}}
processors:
  - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
  - { className: org.apache.tinkerpop.gremlin.server.op.traversal.TraversalOpProcessor, config: { cacheExpirationTime: 600000, cacheMaxSize: 1000 }}
metrics: {
  consoleReporter: {enabled: true, interval: 180000},
  csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
  jmxReporter: {enabled: true},
  slf4jReporter: {enabled: true, interval: 180000},
  graphiteReporter: {enabled: false, interval: 180000}}
maxInitialLineLength: 4096
maxHeaderSize: 8192
maxChunkSize: 8192
maxContentLength: 65536
maxAccumulationBufferComponents: 1024
resultIterationBatchSize: 64
writeBufferLowWaterMark: 32768
writeBufferHighWaterMark: 65536
threadPoolWorker: 1
gremlinPool: 8

janusgraph.properties

gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory
graph.graphname=ConfigurationManagementGraph
storage.backend = cql
storage.hostname = sdb:9042

storage.directory = /var/lib/janusgraph/data

index.search.backend =elasticsearch

index.search.directory = /var/lib/janusgraph/index
set-vertex-id=true
index.search.hostname=index:9200
gremlin> ConfiguredGraphFactory.createConfiguration(new MapConfiguration(map))
org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class.
Type ':help' or ':h' for help.
Display stack trace? [yN]y
java.lang.RuntimeException: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class.
        at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:218)
        at org.janusgraph.core.ConfiguredGraphFactory.createConfiguration(ConfiguredGraphFactory.java:230)
        at org.janusgraph.core.ConfiguredGraphFactory$createConfiguration.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
        at groovysh_evaluate.run(groovysh_evaluate:3)
        at groovysh_evaluate$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at groovysh_evaluate$run.call(Unknown Source)
        at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:82)
        at org.codehaus.groovy.tools.shell.Evaluator$evaluate.call(Unknown Source)
        at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:201)
        at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
        at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
        at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:83)
        at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:120)
        at org.codehaus.groovy.tools.shell.Shell$leftShift$2.call(Unknown Source)
        at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:93)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:164)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:138)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:160)
        at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:57)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:164)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:97)
        at java_lang_Runnable$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119)
        at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:177)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
        at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:265)
        at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:576)
Caused by: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class.
        at org.janusgraph.graphdb.management.ConfigurationManagementGraph.getInstance(ConfigurationManagementGraph.java:106)
        at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:216)
        ... 70 more