Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志

前言:

在上篇中我们已经成功的部署了Nebula Graph 服务:Nebula Graph-01-Nebula Graph简介和安装以及客户端连接,

现在我们来谈一下Nebula Graph 的各项配置

NebulaGraph高阶配置 文件

在上篇文章中,我们成功的启动了NebulaGraph 服务,但是根本没有修改什么配置,这是因为如果我们在本地单机部署的话,那么我们Graph 服务、Meta 服务和 Storage 服务 全部部署在一个服务器,默认配置已经够了,但是如果有其他需要,我们可以修改配置;
官网说明:https://docs.nebula-graph.com.cn/3.6.0/5.configurations-and-logs/1.configurations/1.configurations/
在这里插入图片描述

Meta 服务配置

Meta 服务提供了两份初始配置文件nebula-metad.conf.default和nebula-metad.conf.production,方便在不同场景中使用。文件的默认路径为/usr/local/nebula/etc/。
如需使用初始配置文件,从上述两个文件选择其一,删除后缀.default或.production,Meta 服务才能将其识别为配置文件并从中获取配置信息。

  • basics 配置
名称预设值说明是否支持运行时动态修改
daemonizetrue是否启动守护进程。不支持
pid_filepids/nebula-metad.pid记录进程 ID 的文件。不支持
timezone_name指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。系统默认值为UTC+00:00:00。格式请参见 Specifying the Time Zone with TZ。例如,东八区的设置方式为–timezone_name=UTC+08:00。不支持

注:在插入时间类型的属性值时,NebulaGraph 会根据timezone_name设置的时区将该时间值(TIMESTAMP 类型例外)转换成相应的 UTC 时间,因此在查询中返回的时间类型属性值为 UTC 时间。
timezone_name参数只用于转换 NebulaGraph 中存储的数据,NebulaGraph 进程中其它时区相关数据,例如日志打印的时间等,仍然使用主机系统默认的时区。

  • logging 配置
    在这里插入图片描述
  • networking 配置
    在这里插入图片描述

注:使用 IP 时建议使用真实的 IP。否则某些情况下127.0.0.1/0.0.0.0无法正确解析。

  • storage 配置
    在这里插入图片描述
  • misc 配置
    在这里插入图片描述
  • rocksdb options
    在这里插入图片描述

Graph 服务配置

Graph 服务提供了两份初始配置文件nebula-graphd.conf.default和nebula-graphd.conf.production,方便在不同场景中使用。文件的默认路径为/usr/local/nebula/etc/。
如需使用初始配置文件,从上述两个文件选择其一,删除后缀.default或.production,Graph 服务才能将其识别为配置文件并从中获取配置信息。

  • basics 配置
    在这里插入图片描述

在插入时间类型 的属性值时,NebulaGraph 会根据timezone_name设置的时区将该时间值(TIMESTAMP 类型例外)转换成相应的 UTC 时间,因此在查询中返回的时间类型属性值为 UTC 时间。
timezone_name参数只用于转换 NebulaGraph 中存储的数据,NebulaGraph 进程中其它时区相关数据,例如日志打印的时间等,仍然使用主机系统默认的时区。

  • logging 配置
    在这里插入图片描述
  • query 配置
    在这里插入图片描述
  • networking 配置
    在这里插入图片描述
    在这里插入图片描述

使用 IP 时建议使用真实的 IP。否则某些情况下127.0.0.1/0.0.0.0无法正确解析。

  • authorization 配置
    在这里插入图片描述

  • memory 配置
    在这里插入图片描述

  • metrics 配置
    在这里插入图片描述

  • session 配置
    在这里插入图片描述

  • experimental 配置
    在这里插入图片描述

  • memory tracker 配置
    在这里插入图片描述

  • performance optimization 配置
    在这里插入图片描述

Storage 服务配置

Storage 服务提供了两份初始配置文件nebula-storaged.conf.default和nebula-storaged.conf.production,方便在不同场景中使用。文件的默认路径为/usr/local/nebula/etc/。
如需使用初始配置文件,从上述两个文件选择其一,删除后缀.default或.production,Storage 服务才能将其识别为配置文件并从中获取配置信息。

  • basics 配置
    在这里插入图片描述

在插入时间类型的属性值时,NebulaGraph 会根据timezone_name设置的时区将该时间值(TIMESTAMP 类型例外)转换成相应的 UTC 时间,因此在查询中返回的时间类型属性值为 UTC 时间。
timezone_name参数只用于转换 NebulaGraph 中存储的数据,NebulaGraph 进程中其它时区相关数据,例如日志打印的时间等,仍然使用主机系统默认的时区。

  • logging 配置
    在这里插入图片描述

  • networking 配置
    在这里插入图片描述

  • raft 配置
    在这里插入图片描述

  • disk 配置
    在这里插入图片描述

  • rocksdb options 配置
    在这里插入图片描述

  • misc 配置
    在这里插入图片描述

  • memory tracker 配置
    在这里插入图片描述

查看各服务运行配置

使用curl命令获取运行中的配置项的值,即 NebulaGraph 的运行配置。

$ curl <ws_ip>:<ws_port>/flags

参数说明
ws_ipHTTP 服务的 IP 地址,可以在配置文件中查看。默认值为127.0.0.1。
ws_portHTTP 服务的端口,可以在配置文件中查看。默认值分别为19559(Meta)、19669(Graph)19779(Storage)。
# 获取 Meta 服务的运行配置
curl 127.0.0.1:19559/flags

# 获取 Graph 服务的运行配置
curl 127.0.0.1:19669/flags

# 获取 Storage 服务的运行配置
curl 127.0.0.1:19779/flags

使用-s或者–silent参数可以隐藏进度条和错误信息。例如:

curl -s 127.0.0.1:19559/flags

使用命令动态修改配置

用户可以通过curl命令动态修改 NebulaGraph 服务的配置。例如,修改 Storage 服务的wal_ttl参数为600,命令如下:

curl -X PUT -H “Content-Type: application/json” -d’{“wal_ttl”:“600”}’ -s “http://192.168.15.6:19779/flags”

其中,{“wal_ttl”:“600”}为待修改的配置参数及其值;192.168.15.6:19779为 Storage 服务的 IP 地址和 HTTP 端口号。

注:动态修改配置功能仅适用于原型验证和测试环境,不建议在生产环境中使用。因为当local_config值设置为true时,动态修改的配置不会持久化,重启服务后配置会恢复为初始配置。
仅支持动态修改部分配置参数,具体支持的参数列表,参见各服务配置中是否支持运行时动态修改的描述。

Nebula Graph 日志管理

日志管理

NebulaGraph 默认使用 glog 打印运行日志,使用 gflags 控制日志级别,并在运行时通过 HTTP 接口动态修改日志级别,方便跟踪问题。

  • minloglevel:最小日志级别,即不会记录低于这个级别的日志。可选值为0(INFO)、1(WARNING)、2(ERROR)、3(FATAL)。建议在调试时设置为0,生产环境中设置为1。如果设置为4,NebulaGraph 不会记录任何日志。
  • v:日志详细级别,值越大,日志记录越详细。可选值为0、1、2、3。

也可以通过命令查看各服务的日志级别

$ curl <ws_ip>:<ws_port>/flags

参数说明
ws_ipHTTP 服务的 IP 地址,可以在配置文件中查看。默认值为127.0.0.1。
ws_portHTTP 服务的端口,可以在配置文件中查看。默认值分别为19559(Meta)、19669(Graph)19779(Storage)。

示例:$ curl 127.0.0.1:19559/flags | grep ‘minloglevel’

日志查看

运行日志的默认目录为/usr/local/nebula/logs/。

如果在 NebulaGraph 运行过程中删除运行日志目录,日志不会继续打印,但是不会影响业务。重启服务可以恢复正常。
在这里插入图片描述

Nebula Graph 用户权限管理

开启身份验证

本地身份验证是指在服务器本地存储用户名、加密密码,当用户尝试访问 NebulaGraph 时,将进行身份验证。

默认情况下,身份验证功能是关闭的,用户可以使用root用户名和任意密码连接到 NebulaGraph 。
开启身份验证后,默认的 God 角色账号为root,密码为nebula。角色详情请参见内置角色权限。

1:编辑配置文件nebula-graphd.conf(默认目录为/usr/local/nebula/etc/),设置如下参数:

  • –enable_authorize:是否启用身份验证,可选值:true、false。
  • –failed_login_attempts:可选项,需要手动添加该参数。单个 Graph 节点允许连续输入错误密码的次数。超过该次数时,账户会被锁定。如果有多个 Graph 节点,允许的次数为节点数 * 次数。
  • –password_lock_time_in_secs:可选项,需要手动添加该参数。多次输入错误密码后,账户被锁定的时间。单位:秒。
    2:重启 NebulaGraph 服务。

用户管理

开启身份验证后,用户需要使用已创建的用户才能连接 NebulaGraph,而且连接后可以进行的操作也取决于该用户拥有的角色权限。

创建用户(CREATE USER)

执行CREATE USER语句可以创建新的 NebulaGraph 用户。当前仅 God 角色用户(即root用户)能够执行CREATE USER语句。
语法

CREATE USER [IF NOT EXISTS] <user_name> [WITH PASSWORD ‘’];

  • IF NOT EXISTS:检测待创建的用户名是否存在,只有不存在时,才会创建新用户。
  • user_name:待创建的用户名。长度最多为 16 个字符。
  • password:用户名对应的密码。默认密码为空字符串(‘’)。长度最多为 24 个字符。
    示例
nebula> CREATE USER user1 WITH PASSWORD 'nebula';

授权用户(GRANT ROLE)

执行GRANT ROLE语句可以将指定图空间的内置角色权限授予用户。当前仅 God 角色用户和 Admin 角色用户能够执行GRANT ROLE语句。具体角色可以看【系统内置角色权限】
语法

GRANT ROLE <role_type> ON <space_name> TO <user_name>;

示例

nebula> GRANT ROLE USER ON basketballplayer TO user1;

撤销用户权限(REVOKE ROLE)

执行REVOKE ROLE语句可以撤销用户的指定图空间的内置角色权限。当前仅 God 角色用户和 Admin 角色用户能够执行REVOKE ROLE语句。
语法

REVOKE ROLE <role_type> ON <space_name> FROM <user_name>;

示例

nebula> REVOKE ROLE USER ON basketballplayer FROM user1;

查看指定用户权限(DESCRIBE USER)

执行DESCRIBE USER语句可以查看指定用户的角色权限信息。

语法

DESCRIBE USER <user_name>;
DESC USER <user_name>;

示例

nebula> DESCRIBE USER user1;

查看指定空间内用户权限(SHOW ROLES)¶

执行SHOW ROLES语句可以查看指定空间内的所有用户(除root以外)和对应角色权限的信息。

语法

SHOW ROLES IN <space_name>;

示例

nebula> SHOW ROLES IN basketballplayer;

修改用户密码(CHANGE PASSWORD)¶

执行CHANGE PASSWORD语句可以修改用户密码,修改时需要提供旧密码和新密码。
语法

CHANGE PASSWORD <user_name> FROM ‘<old_password>’ TO ‘<new_password>’;

示例

nebula> CHANGE PASSWORD user1 FROM 'nebula' TO 'nebula123';

修改用户密码(ALTER USER)¶

执行ALTER USER语句可以修改用户密码,修改时不需要提供旧密码。当前仅 God 角色用户(即root用户)能够执行ALTER USER语句。

语法

ALTER USER <user_name> WITH PASSWORD ‘’;

示例

nebula> ALTER USER user2 WITH PASSWORD 'change_password';

删除用户(DROP USER)¶

执行DROP USER语句可以删除用户。当前仅 God 角色用户能够执行DROP USER语句。

删除用户不会自动断开该用户当前会话,而且权限仍在当前会话中生效。

语法

DROP USER [IF EXISTS] <user_name>;

示例

nebula> DROP USER user1;

查看用户列表(SHOW USERS)¶

执行SHOW USERS语句可以查看用户列表。当前仅 God 角色用户能够执行SHOW USERS语句。
语法

SHOW USERS;

示例

nebula> SHOW USERS;

系统内置角色权限

所谓角色,就是一组相关权限的集合。用户可以把角色分配给创建的用户,从而实现访问控制。
NebulaGraph 内置了多种角色,说明如下:

God

  • 初始最高权限角色,拥有所有操作的权限。类似于 Linux 中的root和 Windows 中的administrator。

  • Meta 服务初始化时,会自动创建 God 角色用户root,密码为nebula。

  • 在nebula-graphd.conf文件中(默认目录为/usr/local/nebula/etc/),当–enable_authorize为true时:
    一个集群只能有一个 God 角色用户,该用户可以管理集群内所有图空间。
    不支持手动授权 God 角色,只能使用默认 God 角色用户root。

Admin

  • 对权限内的图空间拥有 Schema 和 data 的读写权限。
  • 可以将权限内的图空间授权给其他用户。只能授权低于 ADMIN 级别的角色给其他用户。

DBA

  • 对权限内的图空间拥有 Schema 和 data 的读写权限。
  • 无法将权限内的图空间授权给其他用户。

User

  • 对权限内的图空间拥有 Schema 的只读权限。
  • 对权限内的图空间拥有 data 的读写权限。

Guest

  • 对权限内的图空间拥有 Schema 和 data 的只读权限。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】1311. 分跳绳

问题&#xff1a;1311. 分跳绳 类型&#xff1a;基本运算、整数运算 题目描述&#xff1a; 学校新买来 m 根跳绳&#xff0c;每个班分 n 根&#xff0c;最多可以分给几个班的同学&#xff0c;还剩多少根&#xff1f;&#xff08;m≥n&#xff09;。 输入&#xff1a; 两个整…

camunda流程引擎事务管理和乐观锁

本文重点介绍camunda开源流程引擎的事务配置&#xff0c;以及在高并发多线程情况下&#xff0c;可能会发生多个线程尝试对相同流程实例数据进行更改的情况&#xff0c;Camunda如何通过数据库的乐观锁解决这种并发冲突的&#xff0c;并介绍了乐观锁和悲观锁的适用场景、性能影响…

【C语言】数9的个数

编写程序数一下 1到 100 的所有整数中出现多少个数字9 1&#xff0c;首先产生1~100的数字。然猴设法得到数9个数&#xff0c;例如个位&#xff1a;19%109&#xff0c;十位&#xff1a;91/109。 2&#xff0c;每次得到数九的时候&#xff0c;就用一个变量来进行计数。 代码如…

【项目笔记】java微服务:黑马头条(day04)

文章目录 自媒体文章-自动审核1)自媒体文章自动审核流程2)内容安全第三方接口2.1)概述2.2)准备工作2.3)文本内容审核接口2.4)图片审核接口2.5)项目集成 3)app端文章保存接口3.1)表结构说明3.2)分布式id3.3)思路分析3.4)feign接口 4)自媒体文章自动审核功能实现4.1)表结构说明4.…

搭建ELK+minio及配置

什么是ELK ELK是一种基于开源工具的日志管理和数据分析解决方案&#xff0c;它由三个核心组件组成&#xff1a; Elasticsearch&#xff1a;用于存储、搜索和分析大规模数据的分布式搜索引擎。Logstash&#xff1a;用于收集、过滤、转换和发送日志数据的数据处理管道。Kibana&…

mysql虚拟列Generated Column

目录​​​​​​​ 1、Generated Column简介 生成的列定义具有以下语法&#xff1a; 2、实践 2.1 存储格式为json字段增加索引 2.2 手机号后四位 3、虚拟列索引介绍 3.1 虚拟列索引的限制 3.1.1 Virtal Generated Column 4、阿里云数据库环境是否支持 下期扩展&…

通过 Socket 手动实现 HTTP 协议

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

使用Oxygen编辑器的项目来做团队协作

▲ 搜索“大龙谈智能内容”关注公众号▲ 扫码见我视频号上的视频 今天&#xff0c;分享一种在Oxygen中使用项目文件进行团队协作的高效方法。这种方法不仅能帮助我们轻松共享文件和文件夹&#xff0c;还能确保团队成员使用统一的项目级别选项和发布配置&#xff0c;从而提高工…

【Git】第二课:git安装和配置

安装 我们伟大祖国有句古话叫巧妇难为无米之炊&#xff0c;还有句话叫工欲善其事必先利其器。所以&#xff0c;在正式的学习之前&#xff0c;我们需要先把git这把利器安装好。 Windows系统 下载安装包 打开Git - Downloading Package页面&#xff0c;根据系统类型32位还是6…

有ai写文案的工具吗?分享5款好用的工具!

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;已渗透到我们生活的方方面面&#xff0c;包括内容创作领域。AI写文案的软件以其高效、便捷的特点&#xff0c;正逐渐受到广大内容创作者、营销人员、甚至普通用户的青睐。本文将为您盘点几款热门的AI写文案软件&…

Flume入门概述及安装部署

目录 一、Flume概述1.1 Flume定义1.2 Flume基础架构 二、Flume安装部署 一、Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的&#xff0c;高可靠的&#xff0c;分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构&#xff0c;灵活简单。 1.2 Flume基础…

粒子群算法 - 目标函数最优解计算

粒子群算法概念 粒子群算法 (particle swarm optimization&#xff0c;PSO) 由 Kennedy 和 Eberhart 在 1995 年提出&#xff0c;该算法模拟鸟群觅食的方法进行寻找最优解。基本思想&#xff1a;人们发现&#xff0c;鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物…

windows查看局域网内所有已使用的IP IP扫描工具 扫描网段下所有的IP Windows环境下

推荐使用&#xff1a; Advanced IP Scanner 官网下载&#xff1a; https://www.advanced-ip-scanner.com/

动手做简易版俄罗斯方块

导读&#xff1a;让我们了解如何处理形状的旋转、行的消除以及游戏结束条件等控制因素。 目录 准备工作 游戏设计概述 构建游戏窗口 游戏方块设计 游戏板面设计 游戏控制与逻辑 行消除和计分 判断游戏结束 界面美化和增强体验 看看游戏效果 准备工作 在开始编码之前…

前端框架推荐 Arco Design

Arco Design - 企业级产品的完整设计和开发解决方案 预览地址&#xff1a;Arco Design Pro - 开箱即用的中台前端/设计解决方案 一 开发 有vue3、React版本。 文档地址&#xff1a;Arco Design - 企业级产品的完整设计和开发解决方案 还配有对应脚手架&#xff1a;GitHub -…

Scala--02--IDEA编写Hello World

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.Scala 插件安装1&#xff09;插件离线安装步骤2&#xff09; 插件在线安装&#xff08;推荐可选&#xff09; 2.HelloWorld 案例1&#xff09;打开 IDEA->点击…

刷题DAY27 | LeetCode 39-组合总和 40-组合总和II 131-分割回文串

39 组合总和&#xff08;medium&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates…

4 CUDA 环境搭建

4.1 简介 本章面向从未接触过CUDA的初学者。我们将依次介绍如何在不同操作系统上安装CUDA、有哪些可用的CUDA 工具以及CUDA如何编译代码&#xff0c;最后介绍应用程序接口提供的错误处理手段&#xff0c;并帮助读者识别CUDA代码和开发过程中必然碰到的应用程序接口报错。Windo…

二、typescript基础语法

一、条件语句 二、函数 1、有名函数 function add(x:number, y:number):number {return x y;}2、匿名函数 let add function (x:number, y:number):number {return x y;}函数可选参数 function buildName(firstname: string, lastname?:string) {if (lastname) {return fi…

MT2492 16V输入 600KHz 2A DCDC同步降压转换器 航天民芯一级代理

深圳市润泽芯电子有限公司为航天民芯一级代理 描述 MT2492是一款完全集成的高效率产品2A同步整流降压变换器。MT2492在一段时间内高效运行宽输出电流负载范围。该设备提供两种工作模式&#xff0c;即PWM控制和PFM模式切换控制在更宽的工作范围内实现高效率加载。MT2492需要…
最新文章