NOTE:
不建议使用airpal,主要原因是很久未更新,在使用的时候会出现很多错误,基本无法使用。
建议使用yanagishima,Github地址:https://github.com/wyukawa/yanagishima
简介
Airpal 是一个基于 Web 的查询执行工具,利用 Facebook 的 PrestoDB 进行查询和获取结果。提供了查找表、元数据、浏览数据行,编写和执行查询的功能,这些功能全部通过浏览器完成。一旦查询开始执行,用户可跟踪查询进度获取并下载结果。查询的结果可生成新的 Hive 表用于进一步的分析。
安装过程
1.下载
直接从Github上面下载,地址 https://github.com/airbnb/airpal
2.解压
解压出来结构大致如下:
3.启动步骤
3.1构建Airpal
使用Gradle构建工具构建后台java代码和基于Node.js构建前端JS代码。
如果你本机有安装node.js和npm,可以使用本地安装的node.js来构建:
./gradlew clean shadowJar -Dairpal.useLocalNode
如果本地没有安装,运行如下命令行,可以自动下载node.js和npm:
./gradlew clean shadowJar
你还可以指定特定的presto版本:
./gradlew -Dairpal.prestoVersion=0.145 clean shadowJar
此处有坑:
1) 构建过程中会去下载gradle-2.2.1-all.zip,如果下载速度很慢很难接受的话,可以手动的下载gradle-2.2.1-all.zip,然后copy到.gradle/wrapper/dists/gradle-2.2.1-all/c64ydeuardnfqctvr1gm30w53 目录下面,然后在重新执行下构建命令。
2)最好本地安装nodejs之后,执行如下命令构建
./gradlew clean shadowJar -Dairpal.useLocalNode
nodejs我安装的版本为 v6.9.0
3)添加环境变量:
export NODE_ENV='development'
如果构建成功并启动,访问主页是发现是空白页面,那么请添加上述环境变量之后,重新构建并启动,即可正常访问。
3.2创建mysql数据库
为Airpal创建一个数据库,建议就叫airpal
3.3配置文件设置
需要配置一个reference.yml
配置文件,可以直接copy目录里面的示例配置文件。
cp reference.example.yml reference.yml
如下图, 可以在reference.yml里面配置mysq、http端口号、presto协调者地址等信息。
3.4数据库初始化
当reference.yml配置了正确的mysql信息后,我们要初始化之前创建的airpal数据库。
java -Duser.timezone=UTC \
-cp build/libs/airpal-*-all.jar com.airbnb.airpal.AirpalApplication db migrate reference.yml
3.5启动Airpal
直接启动Airpal:
java -server \
-Duser.timezone=UTC \
-cp build/libs/airpal-*-all.jar com.airbnb.airpal.AirpalApplication server reference.yml
3.6访问Airpal
根据reference.yml配置的端口号即可访问,如果是使用的默认配置,则访问:http://ip:8081
当然,你在部署的时候可以修改端口号。
NOTE:
你可以使用命令行的方式覆盖reference.yml里面的配置,如下:
java -Ddw.prestoCoordinator=http://presto-coordinator-url.com \
-Ddw.s3AccessKey=$ACCESS_KEY \
-Ddw.s3SecretKey=$SECRET_KEY \
-Ddw.s3Bucket=airpal \
-Ddw.dataSourceFactory.url=jdbc:mysql://127.0.0.1:3306/airpal \
-Ddw.dataSourceFactory.user=airpal \
-Ddw.dataSourceFactory.password=$YOUR_PASSWORD \
-Duser.timezone=UTC \
-cp build/libs/airpal-*-all.jar db migrate reference.yml