HugeGraph搭建及使用

第一章 HugeGraph搭建

  1. 检查依赖及安装相关依赖

    1.安装jdk-1.8
    	java -version
    2.安装GCC,版本>=4.3.0
    	gcc --version
    
  2. 部署(2种)
    一键部署:

    wget https://github.com/hugegraph/hugegraph-tools/releases/download/v${version}/hugegraph-tools-${version}.tar.gz
    tar -zxvf hugegraph-tools-${version}.tar.gz
    cd hugegraph-tools-${version}
    

    下载tar包部署

    wget https://github.com/hugegraph/hugegraph/releases/download/v${version}/hugegraph-${version}.tar.gz
    tar -zxvf hugegraph-${version}.tar.gz
    

    在这里插入图片描述

  3. 配置(使用hbase集群做存储并开Kerberos)
    1.gremlin-server.yaml配置

    # host and port of gremlin server, need to be consistent with host and port in rest-server.properties
    #host: 127.0.0.1
    #port: 8182
    
    # timeout in ms of gremlin query
    scriptEvaluationTimeout: 30000
    
    channelizer: org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer
    graphs: {
      hugegraph: conf/hugegraph.properties
    }
    scriptEngines: {
      gremlin-groovy: {
        plugins: {
          com.baidu.hugegraph.plugin.HugeGraphGremlinPlugin: {},
          org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
          org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {
            classImports: [
              java.lang.Math,
              com.baidu.hugegraph.backend.id.IdGenerator,
              com.baidu.hugegraph.type.define.Directions,
              com.baidu.hugegraph.type.define.NodeRole,
              com.baidu.hugegraph.traversal.algorithm.CustomizePathsTraverser,
              com.baidu.hugegraph.traversal.algorithm.CustomizedCrosspointsTraverser,
              com.baidu.hugegraph.traversal.algorithm.FusiformSimilarityTraverser,
              com.baidu.hugegraph.traversal.algorithm.HugeTraverser,
              com.baidu.hugegraph.traversal.algorithm.NeighborRankTraverser,
              com.baidu.hugegraph.traversal.algorithm.PathsTraverser,
              com.baidu.hugegraph.traversal.algorithm.PersonalRankTraverser,
              com.baidu.hugegraph.traversal.algorithm.ShortestPathTraverser,
              com.baidu.hugegraph.traversal.algorithm.SubGraphTraverser,
              com.baidu.hugegraph.traversal.optimize.Text,
              com.baidu.hugegraph.traversal.optimize.TraversalUtil,
              com.baidu.hugegraph.util.DateUtil
            ],
            methodImports: [java.lang.Math#*]
          },
          org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {
            files: [scripts/empty-sample.groovy]
          }
        }
      }
    }
    serializers:
      - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1,
          config: {
            serializeResultToString: false,
            ioRegistries: [com.baidu.hugegraph.io.HugeGraphIoRegistry]
          }
      }
      - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0,
          config: {
            serializeResultToString: false,
            ioRegistries: [com.baidu.hugegraph.io.HugeGraphIoRegistry]
          }
      }
      - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV2d0,
          config: {
            serializeResultToString: false,
            ioRegistries: [com.baidu.hugegraph.io.HugeGraphIoRegistry]
          }
      }
      - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0,
          config: {
            serializeResultToString: false,
            ioRegistries: [com.baidu.hugegraph.io.HugeGraphIoRegistry]
          }
      }
    metrics: {
      consoleReporter: {enabled: false, interval: 180000},
      csvReporter: {enabled: false, interval: 180000, fileName: ./metrics/gremlin-server-metrics.csv},
      jmxReporter: {enabled: false},
      slf4jReporter: {enabled: false, interval: 180000},
      gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},
      graphiteReporter: {enabled: false, interval: 180000}
    }
    maxInitialLineLength: 4096
    maxHeaderSize: 8192
    maxChunkSize: 8192
    maxContentLength: 65536
    maxAccumulationBufferComponents: 1024
    resultIterationBatchSize: 64
    writeBufferLowWaterMark: 32768
    writeBufferHighWaterMark: 65536
    ssl: {
      enabled: false
    }
    

    上面的配置项很多,但目前只需要关注如下几个配置项:channelizer 和 graphs。

    • graphs:GremlinServer 启动时需要打开的图,该项是一个 map 结构,key 是图的名字,value 是该图的配置文件路径;
    • channelizer:GremlinServer 与客户端有两种通信方式,分别是 WebSocket 和 HTTP(默认)。如果选择 WebSocket, 用户可以通过 Gremlin-Console 快速体验 HugeGraph 的特性,但是不支持大规模数据导入, 推荐使用 HTTP 的通信方式,HugeGraph 的外围组件都是基于 HTTP 实现的;

    默认GremlinServer是服务在 localhost:8182,如果需要修改,配置 host、port 即可

    • host:部署 GremlinServer 机器的机器名或 IP,目前 HugeGraphServer 不支持分布式部署,且GremlinServer不直接暴露给用户;
    • port:部署 GremlinServer 机器的端口

    同时需要在 rest-server.properties 中增加对应的配置项 gremlinserver.url=http://host:port

    2.rest-server.properties

    3.嗡嗡嗡
    HBase后端配置

    # hbase backend config
    hbase.hosts=hbase_zk_ip
    hbase.port=2181
    hbase.znode_parent=/hbase-secure
    hbase.threads_max=64
    hbase.zk_retry=3
    hbase.aggregation_timeout=43200
    hbase.kerberos_enable=true
    hbase.kerberos_keytab=/home/hugegraph/hbase.service.keytab
    hbase.kerberos_principal=hbase/test@HADOOP.COM
    hbase.krb5_conf=/etc/krb5.conf
    
  4. 启动

hbase开启Kerberos,hugegraph(0.11.2)初始化报错:javax.security.auth.login.LoginException: Cannot find any provider supporting AES/CBC/NoPadding #1566

通过在init-store.sh添加$JAVA_HOME/jre/lib/ext 进行解决
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值