zoukankan      html  css  js  c++  java
  • Ubuntu 安装部署hugegraph

    步骤来自官网: https://hugegraph.github.io/hugegraph-doc/quickstart/hugegraph-server.html

    先部署server

    1 概述

    HugeGraph-Server 是 HugeGraph 项目的核心部分,包含Core、Backend、API等子模块。

    Core模块是Tinkerpop接口的实现,Backend模块用于管理数据存储,目前支持的后端包括:Memory、Cassandra、ScyllaDB以及RocksDB,API模块提供HTTP Server,将Client的HTTP请求转化为对Core的调用。

    文档中会大量出现HugeGraph-Server及HugeGraphServer这两种写法,其他组件也类似。这两种写法含义上并无大的差异,可以这么区分:HugeGraph-Server表示服务端相关组件代码,HugeGraphServer表示服务进程。

    2 依赖

    2.1 安装JDK-1.8

    HugeGraph-Server 基于jdk-1.8开发,代码用到了较多jdk-1.8中的类和方法,请用户自行安装配置。

    在往下阅读之前务必执行java -version命令查看jdk版本

    java -version
    
    

    2.2 安装GCC-4.3.0(GLIBCXX_3.4.10)或更新版本(可选)

    如果使用的是RocksDB后端,请务必执行gcc --version命令查看gcc版本;若使用其他后端,则不需要。

    gcc --version
    
    

    3 部署

    有三种方式可以部署HugeGraph-Server组件:

    • 方式1:一键部署

    • 方式2:下载tar包

    • 方式3:源码编译

    3.1 一键部署

    HugeGraph-Tools提供了一键部署的命令行工具,用户可以使用该工具快速地一键下载、解压、配置并启动HugeGraphServer和HugeGraphStudio。 当然,还是得先下载HugeGraph-Tools的tar包。

    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}
    
    
    注:${version}为版本号,最新版本号可参考Download页面,或直接从Download页面点击链接下载

    HugeGraph-Tools 的总入口脚本是bin/hugegraph,用户可以使用help子命令查看其用法,这里只介绍一键部署的命令。

    bin/hugegraph deploy -v {hugegraph-version} -p {install-path} [-u {download-path-prefix}]
    
    

    {hugegraph-version}表示要部署的HugeGraphServer及HugeGraphStudio的版本,用户可查看conf/version-mapping.yaml文件获取版本信息,{install-path}指定HugeGraphServer及HugeGraphStudio的安装目录,{download-path-prefix}可选,指定HugeGraphServer及HugeGraphStudio tar包的下载地址,不提供时使用默认下载地址,比如要启动 0.6 版本的HugeGraph-Server及HugeGraphStudio将上述命令写为bin/hugegraph deploy -v 0.6 -p services即可。

    3.2 下载tar包

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

    3.3 源码编译

    下载HugeGraph源代码

    git clone https://github.com/hugegraph/hugegraph.git
    
    

    编译打包生成tar包

    cd hugegraph
    mvn package -DskipTests
    
    

    执行日志如下:

    ......
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] hugegraph .......................................... SUCCESS [  0.003 s]
    [INFO] hugegraph-core ..................................... SUCCESS [ 15.335 s]
    [INFO] hugegraph-api ...................................... SUCCESS [  0.829 s]
    [INFO] hugegraph-cassandra ................................ SUCCESS [  1.095 s]
    [INFO] hugegraph-scylladb ................................. SUCCESS [  0.313 s]
    [INFO] hugegraph-rocksdb .................................. SUCCESS [  0.506 s]
    [INFO] hugegraph-mysql .................................... SUCCESS [  0.412 s]
    [INFO] hugegraph-palo ..................................... SUCCESS [  0.359 s]
    [INFO] hugegraph-dist ..................................... SUCCESS [  7.470 s]
    [INFO] hugegraph-example .................................. SUCCESS [  0.403 s]
    [INFO] hugegraph-test ..................................... SUCCESS [  1.509 s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    ......
    
    

    执行成功后,在hugegraph目录下生成 hugegraph-*.tar.gz 文件,就是编译生成的tar包。

    4 配置

    如果需要快速启动HugeGraph仅用于测试,那么只需要进行少数几个配置项的修改即可(见下一节)。 详细的配置介绍请参考配置文档配置项介绍

    5 启动

    启动分为"首次启动"和"非首次启动",这么区分是因为在第一次启动前需要初始化后端数据库,然后启动服务。 而在人为停掉服务后,或者其他原因需要再次启动服务时,因为后端数据库是持久化存在的,直接启动服务即可。

    HugeGraphServer启动时会连接后端存储并尝试检查后端存储版本号,如果未初始化后端或者后端已初始化但版本不匹配时(旧版本数据),HugeGraphServer会启动失败,并给出错误信息。

    如果需要外部访问HugeGraphServer,请修改rest-server.properties的restserver.url配置项 (默认为http://127.0.0.1:8080),修改成机器名或IP地址。

    由于各种后端所需的配置(hugegraph.properties)及启动步骤略有不同,下面逐一对各后端的配置及启动做介绍。

    5.1 Memory

    修改 hugegraph.properties

    backend=memory
    serializer=text
    
    
    Memory后端的数据是保存在内存中无法持久化的,不需要初始化后端,这也是唯一一个不需要初始化的后端。

    启动 server

    bin/start-hugegraph.sh
    Starting HugeGraphServer...
    Connecting to HugeGraphServer (http://127.0.0.1:8080/graphs)....OK
    
    

    提示的 url 与 rest-server.properties 中配置的 restserver.url 一致

    5.2 RocksDB

    RocksDB是一个嵌入式的数据库,不需要手动安装部署, 要求 GCC 版本 >= 4.3.0(GLIBCXX_3.4.10),如不满足,需要提前升级 GCC

    修改 hugegraph.properties

    backend=rocksdb
    serializer=binary
    rocksdb.data_path=.
    rocksdb.wal_path=.
    
    

    初始化数据库(仅第一次启动时需要)

    cd hugegraph-${version}
    bin/init-store.sh
    
    

    启动server

    bin/start-hugegraph.sh
    Starting HugeGraphServer...
    Connecting to HugeGraphServer (http://127.0.0.1:8080/graphs)....OK
    
    

    5.3 Cassandra

    用户需自行安装 Cassandra,要求版本 3.0 以上,下载地址

    修改 hugegraph.properties

    backend=cassandra
    serializer=cassandra
    
    # cassandra backend config
    cassandra.host=localhost
    cassandra.port=9042
    cassandra.username=
    cassandra.password=
    #cassandra.connect_timeout=5
    #cassandra.read_timeout=20
    
    #cassandra.keyspace.strategy=SimpleStrategy
    #cassandra.keyspace.replication=3
    
    

    初始化数据库(仅第一次启动时需要)

    cd hugegraph-${version}
    bin/init-store.sh
    Initing HugeGraph Store...
    2017-12-01 11:26:51 1424  [main] [INFO ] com.baidu.hugegraph.HugeGraph [] - Opening backend store: 'cassandra'
    2017-12-01 11:26:52 2389  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Failed to connect keyspace: hugegraph, try init keyspace later
    2017-12-01 11:26:52 2472  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Failed to connect keyspace: hugegraph, try init keyspace later
    2017-12-01 11:26:52 2557  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Failed to connect keyspace: hugegraph, try init keyspace later
    2017-12-01 11:26:53 2797  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Store initialized: huge_graph
    2017-12-01 11:26:53 2945  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Store initialized: huge_schema
    2017-12-01 11:26:53 3044  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Store initialized: huge_index
    2017-12-01 11:26:53 3046  [pool-3-thread-1] [INFO ] com.baidu.hugegraph.backend.Transaction [] - Clear cache on event 'store.init'
    2017-12-01 11:26:59 9720  [main] [INFO ] com.baidu.hugegraph.HugeGraph [] - Opening backend store: 'cassandra'
    2017-12-01 11:27:00 9805  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Failed to connect keyspace: hugegraph1, try init keyspace later
    2017-12-01 11:27:00 9886  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Failed to connect keyspace: hugegraph1, try init keyspace later
    2017-12-01 11:27:00 9955  [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Failed to connect keyspace: hugegraph1, try init keyspace later
    2017-12-01 11:27:00 10175 [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Store initialized: huge_graph
    2017-12-01 11:27:00 10321 [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Store initialized: huge_schema
    2017-12-01 11:27:00 10413 [main] [INFO ] com.baidu.hugegraph.backend.store.cassandra.CassandraStore [] - Store initialized: huge_index
    2017-12-01 11:27:00 10413 [pool-3-thread-1] [INFO ] com.baidu.hugegraph.backend.Transaction [] - Clear cache on event 'store.init'
    
    

    启动server

    bin/start-hugegraph.sh
    Starting HugeGraphServer...
    Connecting to HugeGraphServer (http://127.0.0.1:8080/graphs)....OK
    
    

    5.4 ScyllaDB

    用户需自行安装 ScyllaDB,推荐版本 2.1 以上,下载地址

    修改 hugegraph.properties

    backend=scylladb
    serializer=scylladb
    
    # cassandra backend config
    cassandra.host=localhost
    cassandra.port=9042
    cassandra.username=
    cassandra.password=
    #cassandra.connect_timeout=5
    #cassandra.read_timeout=20
    
    #cassandra.keyspace.strategy=SimpleStrategy
    #cassandra.keyspace.replication=3
    
    

    由于 scylladb 数据库本身就是基于 cassandra 的"优化版",如果用户未安装 scylladb ,也可以直接使用 cassandra 作为后端存储,只需要把 backend 和 serializer 修改为 scylladb,host 和 post 指向 cassandra 集群的 seeds 和 port 即可,但是并不建议这样做,这样发挥不出 scylladb 本身的优势了。

    初始化数据库(仅第一次启动时需要)

    cd hugegraph-${version}
    bin/init-store.sh
    
    

    启动server

    bin/start-hugegraph.sh
    Starting HugeGraphServer...
    Connecting to HugeGraphServer (http://127.0.0.1:8080/graphs)....OK
    
    

    5.5 HBase

    用户需自行安装 HBase,要求版本 2.0 以上,下载地址

    修改 hugegraph.properties

    backend=hbase
    serializer=hbase
    
    # hbase backend config
    hbase.hosts=localhost
    hbase.port=2181
    
    

    初始化数据库(仅第一次启动时需要)

    cd hugegraph-${version}
    bin/init-store.sh
    
    

    启动server

    bin/start-hugegraph.sh
    Starting HugeGraphServer...
    Connecting to HugeGraphServer (http://127.0.0.1:8080/graphs)....OK
    
    
    这里初始化 mysql 官网没有给出一个具体的写法 但是在配置文件打开 所有关于mysql的配置之后 还需要配置自己的mysql数据库 设置mysql 配置: skip_ssl

    停止Server

    $cd hugegraph-${version}
    $bin/stop-hugegraph.sh
  • 相关阅读:
    第二阶段冲刺第五天
    《需求过程——软件建模与分析》读书笔记四
    《需求工程——软件建模与分析》读书笔记三
    《需求工程——软件建模与分析》读书笔记二
    《需求工程——软件需求分析》读书笔记一
    《我们应当怎样做需求分析》阅读笔记
    个人总结
    软件工程概论第十六周学习进度
    第二阶段冲刺第十天
    第二阶段冲刺第九天
  • 原文地址:https://www.cnblogs.com/haixiaozh/p/13425871.html
Copyright © 2011-2022 走看看