Dgraph离线安装过程以及使用中遇到的一些坑
安装
关于在线安装,网上已经有一大堆安装教程了,在这里就不详细讲述了,如果实在是懒可以使用亚东哥的教程在如下链接,而且带有一系列的使用教程。
https://zhuanlan.zhihu.com/p/156955354
在这里我们主要讲解如何离线安装dgraph的环境,以及遇到问题怎么去一步一步解决,我在这里踩了很多的坑,所以分享给大家少走一些弯路。
Dgraph的各个程序及其作用
- Dgraph Alpha:负责数据的存储、查询和事务处理
- Dgraph Zero:负责Dgraph集群管理,保证Alpha节点的数据一致性
- Dgraph Ratel:Dgraph的图形化界面工具,用于查询和可视化Dgraph中的数据
首先需要了解各个程序的作用,才能在安装出现问题时,大概了解是什么程序出了问题,安装时主要围绕这三个程序进行,只要把这三个程序处理好了,其他的基本也没什么问题。
Dgraph安装时遇到的问题
Dgraph二进制文件下载
通过官方文档,我们可以看到在线的下载方式,所以在这里仔细找找就能发现离线下载的地址,于是我们找到了这个地址https://github.com/dgraph-io/dgraph/releases
点击进入后我们能发现dgraph有很多的版本,此时我们下载最新版本
因为我是x86的主机,所以我这里下载amd64的压缩包,这个根据自己的情况选择下载就可以了,这里的其他文件,checksum是用于检查文件完整性的,badger则是用于dgraph使用的一个数据库类型,这里可以使用默认的就行。
第一坑
这里就会遇到第一个坑,解压之后会发现,这里面只有dgraph一个程序,当我们使用dgraph分别启动以上三个程序时,即以下三条指令。
dgraph zero
dgraph alpha --lru_mb 2048 --zero localhost:5080 //错误指令
dgraph-ratel //错误指令
输入以上三条指令,会出现报错
Error: unknown flag: --lru_mb
dgraph-ratel: command not found
那么我们如何解决呢?
针对第一个错误是由于第二条指令出现的问题,所以我们删除–lru_mb 2048之后即可运行,猜测是新版本已经取消掉该参数了,
针对第二个错误是由于ratel在新版本中也取消掉了,已经不能使用该命令了,这个时候通过上网查找可以发现这样一个网址https://play.dgraph.io/,是官方的一个可视化界面网址,通过这个可以直接连接本地的dgraph alpha使用。
但在离线的情况下是是用不了的
寻找dgraph ratel
这个时候发现之前的命令是基于以前的旧版本的,于是我们找到该指令对应的版本
在这里发现Dgraph就三个大版本,猜测可能在21.03里面就包含有dgraph ratel,于是在github找到该版本后下载,解压后发现其具有两个可执行程序
于是再次运行启动的三条指令,发现能够运行了。
第二坑
在使用过程中,会出现一个报错
"resolving health failed because unauthorized ip address: 172.22.0.1"
发现是没有通过验证,于是在网上搜索找到了这么一条指令
dgraph alpha --whiteList=0.0.0.0/0 --zero localhost:5080
使用后报错
Error: unknown flag: --whiteList
于是想了想,使用dgraph alpha --help查看了一下参数讲解,发现在新版本中不能直接使用–whiteList,而是要使用–security whiteList=0.0.0.0/0,修改后解决,于是以上安装和启动正常执行,修改后的三条指令为
dgraph zero
dgraph alpha --security whiteList=0.0.0.0/0 --zero localhost:5080
dgraph-ratel
Dgraph使用中遇到的问题
在下一期进行讲解