• janusgraph环境搭建、janusgraph python导入csv顶点、边


    0. 操作系统环境、java环境说明

    uname -a
    #Linux whiltez 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
    
    javac -version
    #javac 1.8.0_332
    java -version
    #openjdk version "1.8.0_332"
    #OpenJDK Runtime Environment (Temurin)(build 1.8.0_332-b09)
    #OpenJDK 64-Bit Server VM (Temurin)(build 25.332-b09, mixed mode)
    which javac
    #/devapp/jdk8u332-b09-adoptopenjdk-HotSpot/bin/javac
    which java
    #/devapp/jdk8u332-b09-adoptopenjdk-HotSpot/bin/java
    
    
    
    ip address
    
    """
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
        link/ether 10:bf:48:30:93:0c brd ff:ff:ff:ff:ff:ff
    3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 78:92:9c:90:9f:7a brd ff:ff:ff:ff:ff:ff
        inet 10.11.1.113/24 brd 10.11.1.255 scope global dynamic noprefixroute wlp3s0
           valid_lft 3828sec preferred_lft 3828sec
        inet6 fe80::ee7f:7626:64c3:59e5/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    4: wlxf46a92cee88c: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
        link/ether f4:6a:92:ce:e8:8c brd ff:ff:ff:ff:ff:ff
    5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 52:54:00:94:8c:73 brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    
    """
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    1. janusgraph环境搭建

    1.1 janusgraph下载、解压

    cd ~; pwd
    #/home/z/
    mkdir ~/janusgraph; cd ~/janusgraph
    #/home/z/janusgraph/
    
    #https://github.com/JanusGraph/janusgraph/releases/tag/v0.6.2
    wget https://github.com/JanusGraph/janusgraph/releases/download/v0.6.2/janusgraph-0.6.2.zip
    #/home/z/janusgraph/janusgraph-0.6.2.zip
    unzip janusgraph-0.6.2.zip
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    1.2 启动janusgraph服务端

    启动janusgraph服务端

    ./bin/janusgraph-server.sh start
    #/home/z/janusgraph/janusgraph-0.6.2/bin/janusgraph-server.sh
    
    #/home/z/janusgraph/janusgraph-0.6.2/conf/gremlin-server/gremlin-server.yaml will be used to start JanusGraph Server in background
    #Server started 28931
    
    jps
    #28931 JanusGraphServer
    
    sudo netstat -lntp | grep java
    #tcp6       0      0 :::8182                 :::*                    LISTEN      28931/java
    
    #从局域网其他主机telnet 本机 8182端口是通的
    telnet  10.11.1.113 8182
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    tcp改成http
    参考, 在此页面搜索 “channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer”
    参考 sunsided/janusgraph-docker , 这里有详细步骤

    sed -i "s/channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer/channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer/g"  conf/gremlin-server/gremlin-server.yaml
    
    #再启动:
    #./bin/janusgraph-server.sh start
    
    curl http://localhost:8182
    #{"message":"no gremlin script supplied"}
    
    curl -XPOST -H content-type:application/json -d '{"gremlin":"g.V().count()"}'   http://localhost:8182
    """
    {"requestId":"c3b23d5c-bb24-4011-9813-3a7f9084ccf7","status":{"message":"","code":200,"attributes":{"@type":"g:Map","@value":[]}},"result":{"data":{"@type":"g:List","@value":[{"@type":"g:Int64","@value":0}]},"meta":{"@type":"g:Map","@value":[]}}}
    """
    
    curl "http://localhost:8182/?gremlin=100-1"
    """
    {"requestId":"57bde3f6-bad8-4b1c-8b28-d99d18adc621","status":{"message":"","code":200,"attributes":{"@type":"g:Map","@value":[]}},"result":{"data":{"@type":"g:List","@value":[{"@type":"g:Int32","@value":99}]},"meta":{"@type":"g:Map","@value":[]}}}
    """
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    win10x64 下启动janusgraph服务端 报错

    #win10x64 下启动janusgraph服务端
    
    wget -O ./bin/winutils.exe https://raw.githubusercontent.com/cdarlint/winutils/master/hadoop-2.8.5/bin/winutils.exe
    #/home/z/janusgraph/janusgraph-0.6.2/bin/winutils.exe
    
    #win10x64下这样启动依然是报错的 
    ./bin/gremmlin-server.bat start
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    默认最小内存4G,如何改小些启动

    #改为最小768M内存
    sed -i "s/-Xms4096m/-Xms768m/g" "s/-Xmx4096m/-Xmx768m/g" /home/z/janusgraph/janusgraph-0.6.2/conf/jvm-8.options
    
    #再按上面启动
    ./bin/janusgraph-server.sh start
    #/home/z/janusgraph/janusgraph-0.6.2/bin/janusgraph-server.sh
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    1.3 janusgraph 客户端连接服务端

    ./bin/gremlin.sh
    ##/home/z/janusgraph/janusgraph-0.6.2/bin/gremlin.sh
    
    #gremlin> :help
    
    """
    Available commands:
      :help       (:h  ) Display this help message
      ?           (:?  ) Alias to: :help
      :exit       (:x  ) Exit the shell
      :quit       (:q  ) Alias to: :exit
      import      (:i  ) Import a class into the namespace
      :display    (:d  ) Display the current buffer
      :clear      (:c  ) Clear the buffer and reset the prompt counter
      :show       (:S  ) Show variables, classes or imports
      :inspect    (:n  ) Inspect a variable or the last result with the GUI object browser
      :purge      (:p  ) Purge variables, classes, imports or preferences
      :edit       (:e  ) Edit the current buffer
      :load       (:l  ) Load a file or URL into the buffer
      .           (:.  ) Alias to: :load
      :save       (:s  ) Save the current buffer to a file
      :record     (:r  ) Record the current session to a file
      :history    (:H  ) Display, manage and recall edit-line history
      :alias      (:a  ) Create an alias
      :grab       (:g  ) Add a dependency to the shell environment
      :register   (:rc ) Register a new command with the shell
      :doc        (:D  ) Open a browser window displaying the doc for the argument
      :set        (:=  ) Set (or list) preferences
      :uninstall  (:-  ) Uninstall a Maven library and its dependencies from the Gremlin Console
      :install    (:+  ) Install a Maven library and its dependencies into the Gremlin Console
      :plugin     (:pin) Manage plugins for the Console
      :remote     (:rem) Define a remote connection
      :submit     (:>  ) Send a Gremlin script to Gremlin Server
      :bytecode   (:bc ) Gremlin bytecode helper commands
      :cls        (:C  ) Clear the screen.
    
    """
    
    #gremlin> :exit
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    2. python client 连接 janusgraph 服务端

    2.1 janusgraph python client连接服务端

    局域网其他主机运行本py脚本

    from gremlin_python import statics
    from gremlin_python.structure.graph import Graph
    from gremlin_python.process.graph_traversal import __
    from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
    
    graph = Graph()
    connection = DriverRemoteConnection('ws://10.11.1.113:8182/gremlin', 'g')
    
    g = graph.traversal().withRemote(connection)
    
    V=g.V()
    
    print(V.count())
    #[['V'], ['count']]
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    2.2. janusgraph python client 导入cvs文件顶点、边

    main_1.csv

    eventTypeValue,eventTypeText,methCanonicalName,methSign,methExeId,callerMethExeId,curThreadId,curThreadName
    1,进入方法,.namesrv.NamesrvStartup,void .namesrv.NamesrvStartup.main(.String[]),1,0,1,main
    1,进入方法,.namesrv.NamesrvStartup,.namesrv.NamesrvController .namesrv.NamesrvStartup.main0(.String[]),2,1,1,main
    1,进入方法,.namesrv.NamesrvStartup,.namesrv.NamesrvController .namesrv.NamesrvStartup.createNamesrvController(.String[]),3,2,1,main
    1,进入方法,.srvutil.ServerUtil,.cli.Options .srvutil.ServerUtil.buildCommandlineOptions(.cli.Options),4,3,1,main
    2,退出方法,.srvutil.ServerUtil,.cli.Options .srvutil.ServerUtil.buildCommandlineOptions(.cli.Options),4,3,1,main
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    
    #https://tinkerpop.apache.org/docs/current/reference/#gremlin-python
    #https://pypi.org/project/gremlinpython/
    #https://blog.csdn.net/SS51SS/article/details/105806938  #此帖子中 add_edge有错误, 最后的edge.next()应该改成edge.iterate()
    #基于 gremlin_python 3.6.1
    from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
    from gremlin_python.process.traversal import Cardinality, T
    from gremlin_python.structure.graph import Graph
    from gremlin_python.process.anonymous_traversal import traversal
    import pandas
    
    # graph = Graph()
    
    # traversal(graph)
    drc=DriverRemoteConnection('ws://10.11.1.113:8182/gremlin','g')
    # g = graph.traversal().withRemote(drc)
    g = traversal().withRemote(drc)
    
    CSV_FILE_PATH="./main_1.csv"
    CSV_FILE_FIELD_SEP=","
    CSV_FILE_ENCODING='utf-8'
    
    
    #https://pypi.org/project/gremlinpython/
    def create_vertex(self, vid, vlabel):
        # default database cardinality is used when Cardinality argument is not specified
        g.addV(vlabel).property(T.id, vid). \
          property(Cardinality.single, 'name', 'Apache'). \
          property('lastname', 'Tinkerpop'). \
          next()
    
    def add_vertex():
        df = pandas.read_csv(filepath_or_buffer=CSV_FILE_PATH,sep=CSV_FILE_FIELD_SEP, encoding=CSV_FILE_ENCODING)
        lineLs = df.to_dict(orient='records')
        for line in lineLs:  # 按行遍历
            print("add_vertex:"+line["methSign"])
            # .property(T.id,line["methSign"]) \
            g.addV("方法标签") \
                .property(Cardinality.single, "methSign",line["methSign"]) \
                .property(Cardinality.single, "callerMethExeId",line["callerMethExeId"]) \
                .property(Cardinality.single, "methExeId",line["methExeId"]) \
                .next()
    
    
    def add_edge():
        df = pandas.read_csv(filepath_or_buffer=CSV_FILE_PATH,sep=CSV_FILE_FIELD_SEP, encoding=CSV_FILE_ENCODING)
        lineLs = df.to_dict(orient='records')
    
        for line in lineLs:
            print("add_edge:"+line["methSign"]);
            v_start = g.V().has("方法标签",'callerMethExeId', line['methExeId'])  # 起点
            v_end = g.V().has("方法标签",'methExeId', line['methExeId'])  # 终点
    
            if v_start.hasNext() and v_end.hasNext():
                g.V(v_start.next()).addE("调用").to(v_end.next()).property(Cardinality.single, 'methSign', line["methSign"]) .iterate()
            else:
                continue
            """
            for key in line.keys():  # 遍历添加边属性
                tmp = line.get(key)
                if tmp is np.nan:
                    tmp = ''
                edge.property(key, str(tmp))
    """
                
    
    
    add_vertex()
    add_edge()
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71

    其他

    janusgraph解压后文件树

    
    tree -L 1 /home/z/janusgraph/janusgraph-0.6.2/
    """
    /home/z/janusgraph/janusgraph-0.6.2/
    ├── bin
    ├── conf
    ├── data
    ├── examples
    ├── ext
    ├── javadocs
    ├── lib
    ├── LICENSE.txt
    ├── logs
    ├── NOTICE.txt
    ├── run
    └── scripts
    """
    
    tree -L 2 /home/z/janusgraph/janusgraph-0.6.2/
    """
    /home/z/janusgraph/janusgraph-0.6.2/
    ├── bin
    │   ├── gremlin.bat
    │   ├── gremlin-server.bat
    │   ├── gremlin.sh
    │   └── janusgraph-server.sh
    ├── conf
    │   ├── gremlin-server
    │   ├── hadoop-graph
    │   ├── janusgraph-berkeleyje-es.properties
    │   ├── janusgraph-berkeleyje-lucene.properties
    │   ├── janusgraph-berkeleyje.properties
    │   ├── janusgraph-berkeleyje-solr.properties
    │   ├── janusgraph-cql-configurationgraph.properties
    │   ├── janusgraph-cql-es.properties
    │   ├── janusgraph-cql.properties
    │   ├── janusgraph-cql-solr.properties
    │   ├── janusgraph-hbase-es.properties
    │   ├── janusgraph-hbase.properties
    │   ├── janusgraph-hbase-solr.properties
    │   ├── janusgraph-inmemory.properties
    │   ├── jvm-11.options
    │   ├── jvm-8.options
    │   ├── log4j-console.properties
    │   ├── log4j-server.properties
    │   ├── logback.xml
    │   ├── remote-graph-binary.yaml
    │   ├── remote-graph.properties
    │   ├── remote-objects.yaml
    │   ├── remote.yaml
    │   └── solr
    ├── data
    │   ├── grateful-dead-janusgraph-schema.groovy
    │   ├── grateful-dead.json
    │   ├── grateful-dead.kryo
    │   ├── grateful-dead.txt
    │   ├── grateful-dead-typed.json
    │   ├── grateful-dead-v2d0.json
    │   ├── grateful-dead-v2d0-typed.json
    │   ├── grateful-dead.xml
    │   ├── script-input-grateful-dead.groovy
    │   ├── script-input-tinkerpop.groovy
    │   ├── tinkerpop-classic.json
    │   ├── tinkerpop-classic.kryo
    │   ├── tinkerpop-classic.txt
    │   ├── tinkerpop-classic-typed.json
    │   ├── tinkerpop-classic-v2d0.json
    │   ├── tinkerpop-classic-v2d0-typed.json
    │   ├── tinkerpop-classic.xml
    │   ├── tinkerpop-crew.json
    │   ├── tinkerpop-crew.kryo
    │   ├── tinkerpop-crew-typed.json
    │   ├── tinkerpop-crew-v2d0.json
    │   ├── tinkerpop-crew-v2d0-typed.json
    │   ├── tinkerpop-modern.json
    │   ├── tinkerpop-modern.kryo
    │   ├── tinkerpop-modern-typed.json
    │   ├── tinkerpop-modern-v2d0.json
    │   ├── tinkerpop-modern-v2d0-typed.json
    │   ├── tinkerpop-modern.xml
    │   ├── tinkerpop-sink.json
    │   ├── tinkerpop-sink.kryo
    │   ├── tinkerpop-sink-typed.json
    │   ├── tinkerpop-sink-v2d0.json
    │   └── tinkerpop-sink-v2d0-typed.json
    ├── examples
    │   ├── example-berkeleyje
    │   ├── example-common
    │   ├── example-cql
    │   ├── example-hbase
    │   ├── example-remotegraph
    │   ├── example-tinkergraph
    │   ├── pom.xml
    │   └── README.md
    ├── ext
    │   ├── plugins.txt
    │   └── README.txt
    ├── javadocs
    │   ├── allclasses-frame.html
    │   ├── allclasses-noframe.html
    │   ├── constant-values.html
    │   ├── deprecated-list.html
    │   ├── help-doc.html
    │   ├── index-all.html
    │   ├── index.html
    │   ├── META-INF
    │   ├── org
    │   ├── overview-frame.html
    │   ├── overview-summary.html
    │   ├── overview-tree.html
    │   ├── package-list
    │   ├── script.js
    │   ├── serialized-form.html
    │   └── stylesheet.css
    ├── lib
    │   ├── accessors-smart-1.2.jar
    │   ├── activation-1.1.1.jar
    │   ├── airline-0.6.jar
    │   ├── amqp-client-5.11.0.jar
    │   ├── animal-sniffer-annotations-1.19.jar
    │   ├── annotations-4.1.1.4.jar
    │   ├── ant-1.10.11.jar
    │   ├── ant-launcher-1.10.11.jar
    │   ├── antlr-3.5.2.jar
    │   ├── antlr4-runtime-4.9.1.jar
    │   ├── antlr-runtime-3.5.2.jar
    │   ├── aopalliance-repackaged-2.6.1.jar
    │   ├── apacheds-i18n-2.0.0-M15.jar
    │   ├── apacheds-kerberos-codec-2.0.0-M15.jar
    │   ├── api-asn1-api-1.0.0-M20.jar
    │   ├── api-util-1.0.0-M20.jar
    │   ├── asm-9.2.jar
    │   ├── asm-analysis-9.2.jar
    │   ├── asm-commons-9.2.jar
    │   ├── asm-tree-9.2.jar
    │   ├── asm-util-9.2.jar
    │   ├── audience-annotations-0.5.0.jar
    │   ├── avro-1.10.1.jar
    │   ├── avro-ipc-1.8.2.jar
    │   ├── avro-mapred-1.8.2-hadoop2.jar
    │   ├── bigtable-hbase-2.x-shaded-1.21.0.jar
    │   ├── caffeine-2.3.1.jar
    │   ├── cassandra-all-3.11.10.jar
    │   ├── cassandra-driver-core-3.11.2.jar
    │   ├── cassandra-thrift-3.11.10.jar
    │   ├── checker-qual-2.11.1.jar
    │   ├── chill_2.12-0.9.5.jar
    │   ├── chill-java-0.9.5.jar
    │   ├── commons-beanutils-1.9.4.jar
    │   ├── commons-cli-1.4.jar
    │   ├── commons-codec-1.15.jar
    │   ├── commons-collections-3.2.2.jar
    │   ├── commons-configuration-1.10.jar
    │   ├── commons-configuration2-2.7.jar
    │   ├── commons-crypto-1.0.0.jar
    │   ├── commons-io-2.8.0.jar
    │   ├── commons-lang-2.6.jar
    │   ├── commons-lang3-3.11.jar
    │   ├── commons-logging-1.2.jar
    │   ├── commons-math3-3.6.1.jar
    │   ├── commons-net-3.7.2.jar
    │   ├── commons-text-1.9.jar
    │   ├── compiler-22.0.0.2.jar
    │   ├── compress-lzf-1.0.3.jar
    │   ├── concurrentlinkedhashmap-lru-1.4.jar
    │   ├── concurrent-trees-2.4.0.jar
    │   ├── config-1.4.1.jar
    │   ├── curator-client-2.7.1.jar
    │   ├── curator-framework-2.7.1.jar
    │   ├── curator-recipes-2.7.1.jar
    │   ├── ecj-4.4.2.jar
    │   ├── elasticsearch-rest-client-7.14.0.jar
    │   ├── error_prone_annotations-2.7.1.jar
    │   ├── exp4j-0.4.8.jar
    │   ├── failureaccess-1.0.1.jar
    │   ├── findbugs-annotations-1.3.9-1.jar
    │   ├── graal-sdk-22.0.0.2.jar
    │   ├── gremlin-console-3.5.3.jar
    │   ├── gremlin-core-3.5.3.jar
    │   ├── gremlin-driver-3.5.3.jar
    │   ├── gremlin-groovy-3.5.3.jar
    │   ├── gremlin-language-3.5.3.jar
    │   ├── gremlin-server-3.5.3.jar
    │   ├── gremlin-shaded-3.5.3.jar
    │   ├── groovy-2.5.14-indy.jar
    │   ├── groovy-cli-picocli-2.5.14.jar
    │   ├── groovy-console-2.5.14.jar
    │   ├── groovy-groovysh-2.5.14-indy.jar
    │   ├── groovy-json-2.5.14-indy.jar
    │   ├── groovy-jsr223-2.5.14-indy.jar
    │   ├── groovy-swing-2.5.14.jar
    │   ├── groovy-templates-2.5.14.jar
    │   ├── groovy-xml-2.5.14.jar
    │   ├── grpc-api-1.38.1.jar
    │   ├── grpc-context-1.38.1.jar
    │   ├── grpc-core-1.38.1.jar
    │   ├── grpc-netty-shaded-1.38.1.jar
    │   ├── grpc-protobuf-1.38.1.jar
    │   ├── grpc-protobuf-lite-1.38.1.jar
    │   ├── grpc-stub-1.38.1.jar
    │   ├── gson-2.8.6.jar
    │   ├── guava-29.0-jre.jar
    │   ├── hadoop-annotations-2.8.5.jar
    │   ├── hadoop-auth-2.8.5.jar
    │   ├── hadoop-client-2.8.5.jar
    │   ├── hadoop-common-2.8.5.jar
    │   ├── hadoop-distcp-2.8.5.jar
    │   ├── hadoop-gremlin-3.5.3.jar
    │   ├── hadoop-hdfs-client-2.8.5.jar
    │   ├── hadoop-mapreduce-client-app-2.8.5.jar
    │   ├── hadoop-mapreduce-client-common-2.8.5.jar
    │   ├── hadoop-mapreduce-client-core-2.8.5.jar
    │   ├── hadoop-mapreduce-client-jobclient-2.8.5.jar
    │   ├── hadoop-mapreduce-client-shuffle-2.8.5.jar
    │   ├── hadoop-yarn-api-2.8.5.jar
    │   ├── hadoop-yarn-client-2.8.5.jar
    │   ├── hadoop-yarn-common-2.8.5.jar
    │   ├── hadoop-yarn-server-common-2.8.5.jar
    │   ├── hbase-shaded-client-2.2.7.jar
    │   ├── hbase-shaded-mapreduce-2.2.7.jar
    │   ├── HdrHistogram-2.1.12.jar
    │   ├── hibernate-validator-4.3.0.Final.jar
    │   ├── high-scale-lib-1.0.6.jar
    │   ├── hk2-api-2.6.1.jar
    │   ├── hk2-locator-2.6.1.jar
    │   ├── hk2-utils-2.6.1.jar
    │   ├── hppc-0.8.2.jar
    │   ├── htrace-core4-4.2.0-incubating.jar
    │   ├── http2-client-9.4.41.v20210516.jar
    │   ├── http2-common-9.4.41.v20210516.jar
    │   ├── http2-hpack-9.4.41.v20210516.jar
    │   ├── http2-http-client-transport-9.4.41.v20210516.jar
    │   ├── httpasyncclient-4.1.4.jar
    │   ├── httpclient-4.5.13.jar
    │   ├── httpcore-4.4.14.jar
    │   ├── httpcore-nio-4.4.14.jar
    │   ├── httpmime-4.5.12.jar
    │   ├── ivy-2.4.0.jar
    │   ├── j2objc-annotations-1.3.jar
    │   ├── jackson-annotations-2.10.0.jar
    │   ├── jackson-core-2.10.0.jar
    │   ├── jackson-core-asl-1.9.13.jar
    │   ├── jackson-databind-2.10.0.jar
    │   ├── jackson-datatype-json-org-2.10.0.jar
    │   ├── jackson-jaxrs-1.9.13.jar
    │   ├── jackson-mapper-asl-1.9.13.jar
    │   ├── jackson-module-paranamer-2.10.0.jar
    │   ├── jackson-module-scala_2.12-2.10.0.jar
    │   ├── jackson-xc-1.9.13.jar
    │   ├── jakarta.annotation-api-1.3.5.jar
    │   ├── jakarta.inject-2.6.1.jar
    │   ├── jakarta.validation-api-2.0.2.jar
    │   ├── jakarta.ws.rs-api-2.1.6.jar
    │   ├── jamm-0.3.0.jar
    │   ├── janusgraph-all-0.6.2.jar
    │   ├── janusgraph-berkeleyje-0.6.2.jar
    │   ├── janusgraph-bigtable-0.6.2.jar
    │   ├── janusgraph-core-0.6.2.jar
    │   ├── janusgraph-cql-0.6.2.jar
    │   ├── janusgraph-driver-0.6.2.jar
    │   ├── janusgraph-es-0.6.2.jar
    │   ├── janusgraph-grpc-0.6.2.jar
    │   ├── janusgraph-hadoop-0.6.2.jar
    │   ├── janusgraph-hbase-0.6.2.jar
    │   ├── janusgraph-inmemory-0.6.2.jar
    │   ├── janusgraph-lucene-0.6.2.jar
    │   ├── janusgraph-server-0.6.2.jar
    │   ├── janusgraph-solr-0.6.2.jar
    │   ├── java-driver-core-4.14.1.jar
    │   ├── java-driver-query-builder-4.14.1.jar
    │   ├── java-driver-shaded-guava-25.1-jre-graal-sub-1.jar
    │   ├── javapoet-1.8.0.jar
    │   ├── javassist-3.27.0-GA.jar
    │   ├── javatuples-1.2.jar
    │   ├── javax.inject-1.jar
    │   ├── javax.json-1.1.4.jar
    │   ├── javax.servlet-api-3.1.0.jar
    │   ├── jaxb-api-2.2.2.jar
    │   ├── jbcrypt-0.4.jar
    │   ├── jboss-logging-3.4.1.Final.jar
    │   ├── jcabi-log-0.14.jar
    │   ├── jcabi-manifests-1.1.jar
    │   ├── jcip-annotations-1.0-1.jar
    │   ├── jcl-over-slf4j-1.7.30.jar
    │   ├── jctools-core-1.2.1.jar
    │   ├── je-18.3.12.jar
    │   ├── jersey-client-1.9.jar
    │   ├── jersey-client-2.30.jar
    │   ├── jersey-common-2.30.jar
    │   ├── jersey-container-servlet-2.30.jar
    │   ├── jersey-container-servlet-core-2.30.jar
    │   ├── jersey-core-1.9.jar
    │   ├── jersey-hk2-2.30.jar
    │   ├── jersey-media-jaxb-2.30.jar
    │   ├── jersey-server-2.30.jar
    │   ├── jetty-alpn-client-9.4.41.v20210516.jar
    │   ├── jetty-alpn-java-client-9.4.41.v20210516.jar
    │   ├── jetty-alpn-openjdk8-client-9.4.41.v20210516.jar
    │   ├── jetty-client-9.4.41.v20210516.jar
    │   ├── jetty-http-9.4.41.v20210516.jar
    │   ├── jetty-io-9.4.41.v20210516.jar
    │   ├── jetty-sslengine-6.1.26.jar
    │   ├── jetty-util-6.1.26.jar
    │   ├── jetty-util-9.4.41.v20210516.jar
    │   ├── jffi-1.3.9.jar
    │   ├── jffi-1.3.9-native.jar
    │   ├── jflex-1.6.0.jar
    │   ├── jline-2.14.6.jar
    │   ├── jna-5.7.0.jar
    │   ├── jnr-a64asm-1.0.0.jar
    │   ├── jnr-constants-0.10.3.jar
    │   ├── jnr-ffi-2.2.11.jar
    │   ├── jnr-posix-3.1.15.jar
    │   ├── jnr-x86asm-1.0.2.jar
    │   ├── joda-time-2.4.jar
    │   ├── json-20180813.jar
    │   ├── json4s-ast_2.12-3.6.6.jar
    │   ├── json4s-core_2.12-3.6.6.jar
    │   ├── json4s-jackson_2.12-3.6.6.jar
    │   ├── json4s-scalap_2.12-3.6.6.jar
    │   ├── json-simple-1.1.1.jar
    │   ├── json-smart-2.3.jar
    │   ├── jsp-api-2.1.jar
    │   ├── jsr305-3.0.2.jar
    │   ├── jts-core-1.17.0.jar
    │   ├── jul-to-slf4j-1.7.30.jar
    │   ├── kryo-shaded-4.0.2.jar
    │   ├── leveldbjni-all-1.8.jar
    │   ├── libthrift-0.9.2.jar
    │   ├── listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
    │   ├── log4j-1.2.17.jar
    │   ├── logback-classic-1.1.3.jar
    │   ├── logback-core-1.1.3.jar
    │   ├── lucene-analyzers-common-8.9.0.jar
    │   ├── lucene-backward-codecs-8.9.0.jar
    │   ├── lucene-core-8.9.0.jar
    │   ├── lucene-queries-8.9.0.jar
    │   ├── lucene-queryparser-8.9.0.jar
    │   ├── lucene-sandbox-8.9.0.jar
    │   ├── lucene-spatial3d-8.9.0.jar
    │   ├── lucene-spatial-extras-8.9.0.jar
    │   ├── lz4-1.3.0.jar
    │   ├── lz4-java-1.7.1.jar
    │   ├── metrics-core-4.1.18.jar
    │   ├── metrics-graphite-4.1.18.jar
    │   ├── metrics-jmx-4.1.18.jar
    │   ├── metrics-json-4.1.1.jar
    │   ├── metrics-jvm-4.1.18.jar
    │   ├── minlog-1.3.0.jar
    │   ├── native-image-base-22.0.0.2.jar
    │   ├── native-protocol-1.5.1.jar
    │   ├── netty-all-4.1.72.Final.jar
    │   ├── netty-buffer-4.1.72.Final.jar
    │   ├── netty-codec-4.1.72.Final.jar
    │   ├── netty-codec-dns-4.1.72.Final.jar
    │   ├── netty-codec-haproxy-4.1.72.Final.jar
    │   ├── netty-codec-http2-4.1.72.Final.jar
    │   ├── netty-codec-http-4.1.72.Final.jar
    │   ├── netty-codec-memcache-4.1.72.Final.jar
    │   ├── netty-codec-mqtt-4.1.72.Final.jar
    │   ├── netty-codec-redis-4.1.72.Final.jar
    │   ├── netty-codec-smtp-4.1.72.Final.jar
    │   ├── netty-codec-socks-4.1.72.Final.jar
    │   ├── netty-codec-stomp-4.1.72.Final.jar
    │   ├── netty-codec-xml-4.1.72.Final.jar
    │   ├── netty-common-4.1.72.Final.jar
    │   ├── netty-handler-4.1.72.Final.jar
    │   ├── netty-handler-proxy-4.1.72.Final.jar
    │   ├── netty-resolver-4.1.72.Final.jar
    │   ├── netty-resolver-dns-4.1.72.Final.jar
    │   ├── netty-resolver-dns-classes-macos-4.1.72.Final.jar
    │   ├── netty-resolver-dns-native-macos-4.1.72.Final-osx-aarch_64.jar
    │   ├── netty-resolver-dns-native-macos-4.1.72.Final-osx-x86_64.jar
    │   ├── netty-tcnative-classes-2.0.46.Final.jar
    │   ├── netty-transport-4.1.72.Final.jar
    │   ├── netty-transport-classes-epoll-4.1.72.Final.jar
    │   ├── netty-transport-classes-kqueue-4.1.72.Final.jar
    │   ├── netty-transport-native-epoll-4.1.72.Final.jar
    │   ├── netty-transport-native-epoll-4.1.72.Final-linux-aarch_64.jar
    │   ├── netty-transport-native-epoll-4.1.72.Final-linux-x86_64.jar
    │   ├── netty-transport-native-kqueue-4.1.72.Final-osx-aarch_64.jar
    │   ├── netty-transport-native-kqueue-4.1.72.Final-osx-x86_64.jar
    │   ├── netty-transport-native-unix-common-4.1.72.Final.jar
    │   ├── netty-transport-rxtx-4.1.72.Final.jar
    │   ├── netty-transport-sctp-4.1.72.Final.jar
    │   ├── netty-transport-udt-4.1.72.Final.jar
    │   ├── nimbus-jose-jwt-8.2.1.jar
    │   ├── noggit-0.8.jar
    │   ├── objectfile-22.0.0.2.jar
    │   ├── objenesis-3.2.jar
    │   ├── ohc-core-0.4.4.jar
    │   ├── ohc-core-j8-0.4.4.jar
    │   ├── okhttp-2.4.0.jar
    │   ├── okio-1.4.0.jar
    │   ├── oro-2.0.8.jar
    │   ├── osgi-resource-locator-1.0.3.jar
    │   ├── paranamer-2.8.jar
    │   ├── perfmark-api-0.23.0.jar
    │   ├── picocli-4.3.2.jar
    │   ├── pointsto-22.0.0.2.jar
    │   ├── protobuf-java-3.15.6.jar
    │   ├── protobuf-java-util-3.15.6.jar
    │   ├── proto-google-common-protos-2.0.1.jar
    │   ├── py4j-0.10.9.jar
    │   ├── pyrolite-4.30.jar
    │   ├── reactive-streams-1.0.3.jar
    │   ├── reflections8-0.11.7.jar
    │   ├── reporter-config3-3.0.3.jar
    │   ├── reporter-config-base-3.0.3.jar
    │   ├── RoaringBitmap-0.7.45.jar
    │   ├── s2-geometry-library-java-1.0.0.jar
    │   ├── scala-library-2.12.10.jar
    │   ├── scala-reflect-2.12.10.jar
    │   ├── scala-xml_2.12-1.2.0.jar
    │   ├── servlet-api-2.5.jar
    │   ├── shims-0.7.45.jar
    │   ├── sigar-1.6.4.jar
    │   ├── slf4j-api-1.7.30.jar
    │   ├── slf4j-log4j12-1.7.30.jar
    │   ├── snakeyaml-1.28.jar
    │   ├── snappy-java-1.1.7.6.jar
    │   ├── snowball-stemmer-1.3.0.581.1.jar
    │   ├── solr-solrj-8.9.0.jar
    │   ├── spark-core_2.12-3.0.0.jar
    │   ├── spark-gremlin-3.5.3.jar
    │   ├── spark-kvstore_2.12-3.0.0.jar
    │   ├── spark-launcher_2.12-3.0.0.jar
    │   ├── spark-network-common_2.12-3.0.0.jar
    │   ├── spark-network-shuffle_2.12-3.0.0.jar
    │   ├── spark-tags_2.12-3.0.0.jar
    │   ├── spark-unsafe_2.12-3.0.0.jar
    │   ├── spatial4j-0.8.jar
    │   ├── spotbugs-annotations-3.1.12.jar
    │   ├── ST4-4.0.8.jar
    │   ├── stax2-api-3.1.4.jar
    │   ├── stax-api-1.0-2.jar
    │   ├── stream-2.9.8.jar
    │   ├── svm-22.0.0.2.jar
    │   ├── tinkergraph-gremlin-3.5.3.jar
    │   ├── truffle-api-22.0.0.2.jar
    │   ├── unused-1.0.0.jar
    │   ├── validation-api-2.0.1.Final.jar
    │   ├── vavr-0.10.3.jar
    │   ├── vavr-match-0.10.3.jar
    │   ├── woodstox-core-asl-4.4.1.jar
    │   ├── xbean-asm7-shaded-4.15.jar
    │   ├── xmlenc-0.52.jar
    │   ├── zookeeper-3.6.2.jar
    │   ├── zookeeper-jute-3.6.2.jar
    │   └── zstd-jni-1.4.4-3.jar
    ├── LICENSE.txt
    ├── logs
    │   └── janusgraph.log
    ├── NOTICE.txt
    ├── run
    │   └── janusgraph.pid
    └── scripts
        └── empty-sample.groovy
    
    21 directories, 416 files
    """
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305
    • 306
    • 307
    • 308
    • 309
    • 310
    • 311
    • 312
    • 313
    • 314
    • 315
    • 316
    • 317
    • 318
    • 319
    • 320
    • 321
    • 322
    • 323
    • 324
    • 325
    • 326
    • 327
    • 328
    • 329
    • 330
    • 331
    • 332
    • 333
    • 334
    • 335
    • 336
    • 337
    • 338
    • 339
    • 340
    • 341
    • 342
    • 343
    • 344
    • 345
    • 346
    • 347
    • 348
    • 349
    • 350
    • 351
    • 352
    • 353
    • 354
    • 355
    • 356
    • 357
    • 358
    • 359
    • 360
    • 361
    • 362
    • 363
    • 364
    • 365
    • 366
    • 367
    • 368
    • 369
    • 370
    • 371
    • 372
    • 373
    • 374
    • 375
    • 376
    • 377
    • 378
    • 379
    • 380
    • 381
    • 382
    • 383
    • 384
    • 385
    • 386
    • 387
    • 388
    • 389
    • 390
    • 391
    • 392
    • 393
    • 394
    • 395
    • 396
    • 397
    • 398
    • 399
    • 400
    • 401
    • 402
    • 403
    • 404
    • 405
    • 406
    • 407
    • 408
    • 409
    • 410
    • 411
    • 412
    • 413
    • 414
    • 415
    • 416
    • 417
    • 418
    • 419
    • 420
    • 421
    • 422
    • 423
    • 424
    • 425
    • 426
    • 427
    • 428
    • 429
    • 430
    • 431
    • 432
    • 433
    • 434
    • 435
    • 436
    • 437
    • 438
    • 439
    • 440
    • 441
    • 442
    • 443
    • 444
    • 445
    • 446
    • 447
    • 448
    • 449
    • 450
    • 451
    • 452
    • 453
    • 454
    • 455
    • 456
    • 457
    • 458
    • 459
    • 460
    • 461

    导入参考
    搭建参考

  • 相关阅读:
    Redis数据类型-zSet基本使用
    电脑重装系统后usbcleaner怎么格式化u盘
    LCR 146.螺旋遍历数组
    野火FPGA系列教学视频---多路选择器
    数字信号处理2: 离散信号与系统的频谱分析
    深度学习——SAM(Segment-Anything)代码详解
    C++入门·收尾
    Python模块 adorner 的使用示例
    HomeAssistant快速使用教程一:Docker安装Node-Red和HomeAssistant,并将二者配置连接
    【SpringBoot】常用的的各种注解(二):Controller层相关注解
  • 原文地址:https://blog.csdn.net/hfcaoguilin/article/details/126568285