HugeGraph集群部署

news2025/1/17 23:30:39

部署HugeGraph集群

最近工作中,需要部署一个HugeGraph的多副本集群,要求一个主节点,两个从节点。由于HugeGraph官网并没有完整的搭建集群实例,所以这里写一篇文章记录自己搭建集群的过程,供自己和大家学习和参考。

注:本篇文章使用的HugeGraph版本是1.2.0,其他版本应该类似

1. 部署环境及配置要求

配置要求:三台机器,并且装有CentOS-7操作系统,使用Vmware或者云服务器均可

JDK版本:8及以上

安装包:

  • HugeGraph-Server:apache-hugegraph-incubating-1.2.0.tar.gz
  • Hubble可视化界面:apache-hugegraph-toolchain-incubating-1.2.0.tar.gz

2. 安装JDK

官网推荐我们使用JDK11,但目前生产环境仍然使用JDK8较多,其实在部署过程中使用JDK8也是没问题的。

关于安装JDK的问题,可以参考我上一篇部署HugeGraph单机节点那篇文章,那里有详细的安装过程,这里就不详细赘述了。

我这里已经安装了JDK11,如图所示:
在这里插入图片描述

3. 安装HugeGraph

  1. 在三台机器上分别解压缩HugeGraph压缩包

    在这里插入图片描述

    tar -zxvf apache-hugegraph-incubating-1.2.0.tar.gz  
    

    在这里插入图片描述

  2. 修改hugegraph.properties配置文件,完整配置文件如下(需要进行修改的加了中文注释):

    # gremlin entrance to create graph
    # auth config: org.apache.hugegraph.auth.HugeFactoryAuthProxy
    gremlin.graph=org.apache.hugegraph.HugeFactory
    
    # cache config
    #schema.cache_capacity=100000
    # vertex-cache default is 1000w, 10min expired
    vertex.cache_type=l2
    #vertex.cache_capacity=10000000
    #vertex.cache_expire=600
    # edge-cache default is 100w, 10min expired
    edge.cache_type=l2
    #edge.cache_capacity=1000000
    #edge.cache_expire=600
    
    
    # schema illegal name template
    #schema.illegal_name_regex=\s+|~.*
    
    #vertex.default_label=vertex
    
    backend=rocksdb
    serializer=binary
    
    store=hugegraph
    #打开raft模式
    raft.mode=true
    raft.safe_read=false
    raft.use_snapshot=false
    # 当前节点的端点信息,用于rpc同步日志和心跳,其他机器要修改为对应的IP和端口
    raft.endpoint=192.168.75.111:8091
    # 同组的全部节点的端点信息,包括自己
    raft.group_peers=192.168.75.111:8091,192.168.75.112:8091,192.168.75.113:8091
    raft.path=./raft-log
    raft.use_replicator_pipeline=true
    raft.election_timeout=10000
    raft.snapshot_interval=3600
    raft.backend_threads=48
    raft.read_index_threads=8
    raft.queue_size=16384
    raft.queue_publish_timeout=60
    raft.apply_batch=1
    raft.rpc_threads=80
    raft.rpc_connect_timeout=5000
    raft.rpc_timeout=60000
    
    
    search.text_analyzer=jieba
    search.text_analyzer_mode=INDEX
    
    # rocksdb backend config
    # 配置rocksdb存储路径
    rocksdb.data_path=./hugegraph-data
    rocksdb.wal_path=./hugegraph-data
    
    
    # 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
    
    # hbase backend config
    #hbase.hosts=localhost
    #hbase.port=2181
    #hbase.znode_parent=/hbase
    #hbase.threads_max=64
    # IMPORTANT: recommend to modify the HBase partition number
    #            by the actual/env data amount & RS amount before init store
    #            It will influence the load speed a lot
    #hbase.enable_partition=true
    #hbase.vertex_partitions=10
    #hbase.edge_partitions=30
    
    # mysql backend config
    #jdbc.driver=com.mysql.jdbc.Driver
    #jdbc.url=jdbc:mysql://127.0.0.1:3306
    #jdbc.username=root
    #jdbc.password=
    #jdbc.reconnect_max_times=3
    #jdbc.reconnect_interval=3
    #jdbc.ssl_mode=false
    
    # postgresql & cockroachdb backend config
    #jdbc.driver=org.postgresql.Driver
    #jdbc.url=jdbc:postgresql://localhost:5432/
    #jdbc.username=postgres
    #jdbc.password=
    #jdbc.postgresql.connect_database=template1
    
    # palo backend config
    #palo.host=127.0.0.1
    #palo.poll_interval=10
    #palo.temp_dir=./palo-data
    #palo.file_limit_size=32
    
  3. 修改rest-server.properties配置文件,完整配置如下所示(需要进行修改的加了中文注释):

    # bind url
    restserver.url=http://0.0.0.0:8080
    # gremlin server url, need to be consistent with host and port in gremlin-server.yaml
    #gremlinserver.url=http://127.0.0.1:8182
    
    graphs=./conf/graphs
    
    # The maximum thread ratio for batch writing, only take effect if the batch.max_write_threads is 0
    batch.max_write_ratio=80
    batch.max_write_threads=0
    
    # configuration of arthas
    arthas.telnet_port=8562
    arthas.http_port=8561
    arthas.ip=0.0.0.0
    arthas.disabled_commands=jad
    
    # authentication configs
    # choose 'org.apache.hugegraph.auth.StandardAuthenticator' or
    # 'org.apache.hugegraph.auth.ConfigAuthenticator'
    #auth.authenticator=
    
    # for StandardAuthenticator mode
    #auth.graph_store=hugegraph
    # auth client config
    #auth.remote_url=127.0.0.1:8899,127.0.0.1:8898,127.0.0.1:8897
    
    # for ConfigAuthenticator mode
    #auth.admin_token=
    #auth.user_tokens=[]
    
    # rpc server configs for multi graph-servers or raft-servers
    # 修改为机器对应的IP地址
    rpc.server_host=192.168.75.111
    rpc.server_port=8091
    #rpc.server_timeout=30
    
    # rpc client configs (like enable to keep cache consistency)
    #rpc.remote_url=127.0.0.1:8091,127.0.0.1:8092,127.0.0.1:8093
    #rpc.client_connect_timeout=20
    #rpc.client_reconnect_period=10
    #rpc.client_read_timeout=40
    #rpc.client_retries=3
    #rpc.client_load_balancer=consistentHash
    
    # raft group initial peers
    # 其他机器和自身机器的RPC配置
    raft.group_peers=192.168.75.111:8091,192.168.75.112:8091,192.168.75.113:8091
    
    # lightweight load balancing (beta)
    # 每台机器的server.id不同,其他两个机器可以配置为:server-2、server-3
    server.id=server-1
    # 只需要一个master,其余两个配置成worker
    server.role=master
    
    # slow query log
    log.slow_query_threshold=1000
    
  4. 初始化数据

    # 进入bin目录执行如下命令
    bash init-store.sh
    

    在这里插入图片描述

  5. 启动服务器,先启动master,后启动两个worker

    # 进入bin目录执行如下命令
    bash start-hugegraph.sh
    

    在这里插入图片描述 如果能观察到如下日志,则表示部署成功,在这里插入图片描述
    查看logs目录下的hugegraph-server.log

4. 安装Hubble可视化界面

Hubble可视化界面只需要部署在一台机器即可

  1. 解压缩Hubble压缩包

    tar -zxvf apache-hugegraph-toolchain-incubating-1.2.0.tar.gz 
    

    在这里插入图片描述

  2. 进入/apache-hugegraph-toolchain-incubating-1.2.0/apache-hugegraph-hubble-incubating-1.2.0/bin目录,执行start-hubble

    bash start-hubble.sh
    

    在这里插入图片描述

  3. 浏览器访问IP:8088,如果看到以下界面表示部署成功

    在这里插入图片描述

  4. 尝试创建图,下图是创建成功的实例

在这里插入图片描述

在这里插入图片描述
至此就完成了HugeGraph的集群部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2278200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SqlSugar连接达梦数据库集群超时或异常缓慢

《SqlSugar配置连接达梦数据库集群》文章中介绍SqlSugar连接达梦数据库集群,只需按下图所示位置添加dm_svc.conf文件,并在SqlSugar的连接字符串中指定服务名即可。   但在使用过程中发现,基于.net 6开发的WebApi,编译为ANYCPU&…

Qt/C++进程间通信:QSharedMemory 使用详解(附演示Demo)

在开发跨进程应用程序时,进程间通信(IPC)是一个关键问题。Qt 框架提供了多种 IPC 技术,其中 QSharedMemory 是一种高效的共享内存方式,可以实现多个进程之间快速交换数据。本文将详细讲解 QSharedMemory 的概念、用法及…

STM32的集成开发环境STM32CubeIDE安装

STM32CubeIDE - STM32的集成开发环境 - 意法半导体STMicroelectronics

NanoKVM简单开箱测评和拆解,让普通电脑实现BMC/IPMI远程管理功能

Sipeed推出了NanoKVM,简直是没有BMC的台式机和工作站的福音。有了这个就可以轻松实现以往服务器才有的远程管理功能。 NanoKVM 简介 Lichee NanoKVM 是基于 LicheeRV Nano 的 IP-KVM 产品,继承了 LicheeRV Nano 的极致体积 和 强大功能。 NanoKVM 包含…

唐刘:TiDB 的 2024 - Cloud、SaaS 与 AI

2024 年已经过去,在去年我也写过两篇类似的文章,TiDB in 2023 - 一次简单的回顾和 TiDB Cloud in 2023 - 一次简单的回顾,这一次,我准备将 TiDB 和 cloud 一起写,一方面原因是我懒了,另外一个更重要的原因在…

Web端实时播放RTSP视频流(监控)

一、安装ffmpeg: 1、官网下载FFmpeg: Download FFmpeg 2、点击Windows图标,选第一个:Windows builds from gyan.dev 3、跳转到下载页面: 4、下载后放到合适的位置,不用安装,解压即可: 5、配置path 复制解压后的\bin路径,配置环境变量如图: <

Excel 技巧10 - 如何检查输入重复数据(★★)

本文讲了如何在Excel中通过COUNTIF来检查输入重复数据。 当输入重复数据时&#xff0c;显示错误提示。 1&#xff0c;通过COUNTIF来检查输入重复数据 比如下面是想检查不要输入重复的学号。 选中C列&#xff0c;点 Menu > 数据 > 数据验证 在数据验证页面&#xff0c…

IEC103 转 ModbusTCP 网关

一、产品概述 IEC103 转 ModbusTCP 网关型号 SG-TCP-IEC103 &#xff0c;是三格电子推出的工业级网关&#xff08;以下简 称网关&#xff09;&#xff0c;主要用于 IEC103 数据采集、 DLT645-1997/2007 数据采集&#xff0c; IEC103 支持遥测和遥 信&#xff0c;可接…

Unity3d 实时天气系统基于UniStorm插件和xx天气API实现(含源码)

前言 实时天气在Unity3d三维数字沙盘中的作用非常重要&#xff0c;它能够增强虚拟环境的真实感和互动性&#xff0c;实时天气数据的应用可以提供更为精准和直观的天气信息支持&#xff0c;如果真实的数据加上特效、声音和模型反馈会提高产品档次&#xff0c;提高真实感。 目前…

Linux命令行工具-使用方法

参考资料 Linux网络命令&#xff1a;网络工具socat详解-CSDN博客 arm-linux-gnueabihf、aarch64-linux-gnu等ARM交叉编译GCC的区别_aarch64-elf-gcc aarch64-linux-gnu-CSDN博客 解决Linux内核问题实用技巧之-dev/mem的新玩法-腾讯云开发者社区-腾讯云 热爱学习地派大星-CS…

【Flink系列】9. Flink容错机制

9. 容错机制 在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 9.1 检查点&#xff08;Checkpoint&#xff09; 9.1.1 检查点的保存 1&#xff09;周期性的触发保存 “随时存档”确实恢复起来方便&#xff0c;可是需要我…

【深度学习】关键技术-激活函数(Activation Functions)

激活函数&#xff08;Activation Functions&#xff09; 激活函数是神经网络的重要组成部分&#xff0c;它的作用是将神经元的输入信号映射到输出信号&#xff0c;同时引入非线性特性&#xff0c;使神经网络能够处理复杂问题。以下是常见激活函数的种类、公式、图形特点及其应…

20.<Spring图书管理系统①(登录+添加图书)>

PS&#xff1a;关于接口定义 接口定义&#xff0c;通常由服务器提供方来定义。 1.路径&#xff1a;自己定义 2.参数&#xff1a;根据需求考虑&#xff0c;我们这个接口功能完成需要哪些信息。 3.返回结果&#xff1a;考虑我们能为对方提供什么。站在对方角度考虑。 我们使用到的…

【Sql递归查询】Mysql、Oracle、SQL Server、PostgreSQL 实现递归查询的区别与案例(详解)

文章目录 Mysql 5.7 递归查询Mysql 8 实现递归查询Oracle递归示例SQL Server 递归查询示例PostgreSQL 递归查询示例 更多相关内容可查看 Mysql 5.7 递归查询 MySQL 5.7 本身不直接支持标准 SQL 中的递归查询语法&#xff08;如 WITH RECURSIVE 这种常见的递归查询方式&#xf…

vue2修改表单只提交被修改的数据的字段传给后端接口

效果&#xff1a; 步骤一、 vue2修改表单提交的时候&#xff0c;只将修改的数据的字段传给后端接口&#xff0c;没有修改得数据不传参给接口。 在 data 对象中添加一个新的属性&#xff0c;用于存储初始表单数据的副本&#xff0c;与当前表单数据进行比较&#xff0c;找出哪些…

「刘一哥GIS」系列专栏《GRASS GIS零基础入门实验教程(配套案例数据)》专栏上线了

「刘一哥GIS」系列专栏《GRASS GIS零基础入门实验教程》全新上线了&#xff0c;欢迎广大GISer朋友关注&#xff0c;一起探索GIS奥秘&#xff0c;分享GIS价值&#xff01; 本专栏以实战案例的形式&#xff0c;深入浅出地介绍了GRASS GIS的基本使用方法&#xff0c;用一个个实例讲…

纯命令 git使用

首先我们到一个新的公司 要添加一个新的git仓库的权限 我们应该现拉去代码 配置git的仓库信息 第一 先添加权限 第二 如果不是自己电脑 需要配置信息 配置基础信息 查看本地git账号git config --global user.name git config --global user.email修改本地账号git co…

Linux系统编程:深入理解计算机软硬件体系和架构

一、硬件体系 首先我们要知道&#xff0c;我们最常见的计算机&#xff08;笔记本&#xff09;以及我们不常见的计算机&#xff08;服务器&#xff09;其实本质上都是一堆硬件的结合&#xff1a;cpu、网卡、显卡、内存、磁盘、显示器、键盘…… 但他们并不是毫无章法地放在一起…

微信小程序-Docker+Nginx环境配置业务域名验证文件

在实际开发或运维工作中&#xff0c;我们时常需要在 Nginx 部署的服务器上提供一个特定的静态文件&#xff0c;用于域名验证或第三方平台验证。若此时使用 Docker 容器部署了 Nginx&#xff0c;就需要将该验证文件正确地映射&#xff08;挂载&#xff09;到容器中&#xff0c;并…

HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (五、电影详情页的设计实现)

在上一篇文章中&#xff0c;完成了电影列表页的开发。接下来&#xff0c;将进入电影详情页的设计实现阶段。这个页面将展示电影的详细信息&#xff0c;包括电影海报、评分、简介以及相关影人等。将使用 HarmonyOS 提供的常用组件&#xff0c;并结合第三方库 nutpi/axios 来实现…