AI的数据库——Grakn.ai入门第二部分——在Azure上安装Grakn.ai并欣赏图形
首先
由于在上一篇《关于AI数据库-Grakn.ai的介绍-入门篇1-引言和概述》中提及了Grakn.ai的概述,所以这一次我想要实际运行它。
以下は中国語的表述:
Grakn.ai支持Mac OS和Linux,但不支持Windows操作系统。如果你使用Mac,可能会很感激这一点,但对于大多数日本企业员工而言,他们通常使用Windows设备,所以这对他们来说是个有些高的门槛。因此,本文将介绍在Azure上创建Linux虚拟机并在云端运行的步骤。
**更正 (2017/11/17)
尽管写着在Windows上无法运行,但实际上提供了在Virtual Box中可以运行的软件包。有关详细信息,请参阅Database for AI – Grakn.ai入门第2.1部分 – 学习Grakn Academy的Oracle Virtual Box。
这次的结构
-
- Grakn: 0.17.1
-
- Azure VM: DS1_V2 Standard
-
- OS: Ubuntu (Canonical 17.0)
- Java: Open JDK 8
前提条件 tí
首先,您需要有一个Azure账户。如果您还没有账户,我建议您使用Visual Studio Dev Essentials。(参考【开发者免费计划】Visual Studio Dev Essential注册,免费工具、云服务和培训提升技能!等)。在一年的时间里,每个月都会提供25美元的免费信用额度,如果合理安排使用,可以免费尝试各种功能。还可以获取Pluralsight的三个月订阅。
虚拟机环境的准备工作
Grakn.ai的下载
首先,需要下载Grakn.ai,从官方网站上获取。它以zip格式进行分发,这次我们将zip文件直接发送至虚拟机,但最好也在本地展开并保存。(这是因为其中包含了示例等内容,如果只是为了运行本次任务,就不需要在本地进行设置了。)
虚拟机的设置
新增所需的设置
首先,建议将IP从动态改为静态。我认为在停止/启动虚拟机的过程中(在PoC阶段),IP经常会变化,这样会很麻烦。
将 Grakn.ai 的软件包传输到虚拟机(尝试使用 Azure Cloud Shell)。
在接触Azure之前,我一直在想:“虚拟机可以创建了,但是文件传输要怎么做呢?”但是实际上,它的操作相当直观。我觉得像这种情况一般是直接从虚拟机上使用curl命令来获取数据,但是我还是很感兴趣,所以尝试使用Azure CLI来尝试一下。
流程如下:
1. 从Azure控制台中,将文件传输到Cloud Drive存储中。
2. 启动Azure Cloud Shell,并从Cloud Drive通过SCP将文件传输到虚拟机。
Azure云Shell已经在控制台中登录,之前传输的文件已存储在名为clouddrive的直接下级符号链接目录中,只需将文件传输到虚拟机即可完成。
scp ./clouddrive/grakn-dist-0.17.1.zip grakn@xx.xxx.xxx.xxx:resources
这里我尝试将在VM上创建的资源文件夹发送到了名为”resources”的目录。
虛擬機器(VM)的配置
好的,既然准备工作已经完成,那么我们可以尝试通过ssh登录到虚拟机。接下来的步骤如下:
-
- 解压 unzip 工具的安装
-
- 安装 Java 8
-
- 配置 $JAVA_HOME 环境变量
-
- 解压 Grakn.ai 软件包
- 执行启动脚本
首先,由于zip文件是空的,无法进行展开操作,因此需要先安装unzip软件。
sudo apt install unzip
接下来是Java 8。
sudo apt-get install openjdk-8-jdk
java -version
解压并将软件包移动到适当的位置。
unzip grakn-dist-0.17.1.zip
mv grakn-dist-0.17.1 ../grakn
最后打开.profile文件,在末尾添加以下一行(Java路径为/usr/bin/java)。
export JAVA_HOME=/usr
完成了。
启动Grakn.ai
立刻试着启动一下:
./grakn server start
如你所料,只需将上述的“start”更改为“stop”即可停止。
加载测试数据并通过可视化工具进行确认
加载测试数据(例如 Pokemon 的示例)
我想要查看Grakn.ai包中的样例,首先加载它并查看图形。本次加载了Pokemon样例。
./graql console -f examples/pokemon.gql -k pokemon
在Grakn.ai中,可以导入csv文件等(迁移功能)。但是,这个pokemon示例完全使用Grakn.ai标准的graql从本体定义到数据输入都编写了。因此,通过在控制台上使用-f选项指定文件,可以一次性构建整个环境。
-k pokemon是用于定义Grakn.ai的命名空间Keyspace的参数。如果没有指定,将加载到默认的Keyspace中。
在Visualizer中进行确认
下一次
我想要用Visualizer在这个Pokemon图表上尝试投入各种查询。