Linux上安装Squall

  Squall是Storm之上的类SQL查询工具,能够将类SQL语句转换成topology,然后提交给Storm运行。

  安装Squall前要先安装Java和sbt(simple build tool),通过这两个软件将Squall源码编译成squall-0.2.0.jar和squall-dependencies-0.2.0.jar。

【一】安装sbt

  1、下载sbt,解压后在bin目录下运行sbt脚本,首次运行会联网下载一些sbt依赖的软件包,例如会下载ivy2工具来管理包。

  2、在/etc/profile里配置环境变量

  3、配置好后可以运行sbt sbt-version输出版本信息,运行sbt -h输出帮助信息。

  4、在sbt/conf/sbtopt里修改-sbt-version选项的值,安装的是哪个版本就修改成该值。

  如果不修改,运行sbt package打包命令时候会默认使用最新版本的sbt,又会去重新下载sbt,这个没必要。

【二】安装Squall

  1、github上下载squall源码,解压。

  2、在bin目录下运行install.sh脚本。

   运行之前,如果已经下载并安装了Storm,可以把脚本里下载Storm的命令注释掉,并且在storm_env.sh里修改自己已安装的Storm版本号。

  3、在bin目录下./squall_local.sh ../test/squall/confs/local/0_01G_hyracks_ncl,可在终端中直接查看测试结果

【三】集群环境下运行Squall

  修改配置文件如下:

DIP_DISTRIBUTED true
DIP_QUERY_NAME hyracks

DIP_TOPOLOGY_NAME_PREFIX tgl_squall_tpch
DIP_DATA_ROOT /home/tgl/tpchdata/
DIP_SQL_ROOT ../test/squall/sql_queries/
DIP_SCHEMA_PATH ../test/squall/schemas/tpch.txt

# DIP_DB_SIZE is in GBs
DIP_DB_SIZE 1 

########################################
#DIP_OPTIMIZER_TYPE INDEX_SIMPLE
#DIP_MAX_SRC_PAR 1

#DIP_OPTIMIZER_TYPE INDEX_RULE_BUSHY
#DIP_MAX_SRC_PAR 1

#DIP_OPTIMIZER_TYPE NAME_MANUAL_PAR_LEFTY
#DIP_PLAN CUSTOMER:2,ORDERS:3:4

#DIP_OPTIMIZER_TYPE NAME_MANUAL_COST_LEFTY
#DIP_PLAN CUSTOMER,ORDERS
#DIP_TOTAL_SRC_PAR 20

#DIP_OPTIMIZER_TYPE NAME_RULE_LEFTY
#DIP_TOTAL_SRC_PAR 20

DIP_OPTIMIZER_TYPE NAME_COST_LEFTY
DIP_TOTAL_SRC_PAR 20

########################################

#below are unlikely to change
DIP_EXTENSION .tbl
DIP_READ_SPLIT_DELIMITER |
DIP_GLOBAL_ADD_DELIMITER |
DIP_GLOBAL_SPLIT_DELIMITER |

DIP_ACK_EVERY_TUPLE true
DIP_KILL_AT_THE_END true

# Storage manager parameters
# Storage directory for local runs
STORAGE_LOCAL_DIR /tmp/ramdisk
# Storage directory for cluster runs
STORAGE_CLUSTER_DIR /home/tgl/tpchdata/storage
STORAGE_COLD_START true
STORAGE_MEMORY_SIZE_MB 4096

  1、用TPC-H(Transaction processing performance council)工具产生测试数据,将测试数据放到DIP_DATA_ROOT指定的文件下,多机集群情况下还要scp到集群各个机器上。

  2、集群环境下运行./squall_cluster.sh ../test/squall/confs/cluster/1G_hyracks

  3、可以在Storm UI中查看topology运行情况;在Storm supervisor机器的storm/logs/worker-xxxx.log中能够查看查询结果

原文地址:https://www.cnblogs.com/vincent-vg/p/5890099.html