准备材料:

  • jdk-8u121-linux-x64.rpm (运行Drill1.6及其后续版本需要jdk7或8)
  • apache-drill-1.10.0.tar.gz
  • zookeeper-3.4.6
  • hadoop2.x cluster

一、安装、配置drill:

①、解压、安装

  • tar -xzvf apache-drill-1.10.0.tar.gz
  • cp -r apache-drill-1.10.0 /usr/local
  • ln -s apache-drill-1.10.0 drill-1.10

②、环境变量配置
修改/etc/profile,尾部添加:

##JAVA
export JAVA_HOME=/usr/java/jdk1.8.0_121
export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:/usr/local/binexport LANG=en_US.UTF-8export DRILL_HOME=/usr/local/drill-1.10
export PATH=$PATH:$DRILL_HOME/bin

③、集群模式下配置drill
在$DRILL_HOME/conf/drill-override.conf文件中,使用Drill cluster ID, 通过指定正确的zookeeper集群地址列表(host1:2181,host2:2181,hostN:2181)来连接上zk的quorum。
注意:如果在多个节点上安装drill,需要指定同一个Drill cluster ID,所有的drill节点共享同一个集群ID。

配置样例:

drill.exec:{cluster-id: "<mydrillcluster>",zk.connect: "<zkhostname1>:<port>,<zkhostname2>:<port>,<zkhostname3>:<port>"}

④、集群模式下启动drill
在集群模式下使用drill,必须首先在每一台节点上启动Drill daemon(Drillbit)进程,在使用client连接上drill前,务必先启动Drillbit进程。

4.1 启动Drillbit进程,使用drillbit.sh脚本:

注意:
如果使用standalone的embedded模式,不需要执行drillbit.sh脚本。

该脚本除了可以启动Drillbit后台进程外,还可以用来:
a). 检查Drillbit状态
b). 停止后重启一个Drillbit进程
c). 配置Drillbit用于支持自动重启

drillbit.sh命令语法:

drillbit.sh [–config < conf-dir >] (start | stop | status | restart | autorestart)

例如,重启drillbit进程,可以使用:

drillbit.sh restart

4.2 启动Drill Shell

使用shell命令行工具,可以与已连接上的数据源,通过sql方式进行交互式的查询。

  • drill-conf
    通过上述conf/drill-override.conf中配置的zookeeper连接信息,来打开drill shell交互式执行窗口。
  • drill-localhost
    如果本机配置了zk,可以通过这个命令打开drill shell交互式执行窗口。

执行完后,交互式窗口出现:

[root@xxxxx bin]# drill-conf
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
apache drill 1.10.0
"a drill is a terrible thing to waste"
0: jdbc:drill:> select * from sys.drillbits;
+-----------+------------+---------------+------------+----------+----------+
| hostname  | user_port  | control_port  | data_port  | current  | version  |
+-----------+------------+---------------+------------+----------+----------+
| server01  | 31010      | 31011         | 31012      | false    | 1.10.0   |
| server02  | 31010      | 31011         | 31012      | true     | 1.10.0   |
+-----------+------------+---------------+------------+----------+----------+
2 rows selected (2.686 seconds)

4.3 使用Ad-Hoc方式连上Drill Shell

可以使用sqlline命令以ad-hoc方式连接到drill,例如,如果想使用指定的数据存储插件作为schema,可以使用如下语法:

sqlline -u jdbc:drill:[schema=< storage plugin >;]zk=< zk_name1>[:< port1>][,< zk_name1>[:< port1>]…]

参数解读:
-u 是连接字符串的前置参数,必须项;
jdbc 是连接类型,必须项;
schema 查询的插件类型,可选项;
zk name指代一个或多个zk集群节点IP,或hostname;
part 指代zk端口号,默认2181,可选项

例如:
如果使用dfs数据存储插件,来连上drill,可以这么使用:
sqlline -u jdbc:drill:schema=dfs;zk=centos01

如果需要连上zk集群,可以这么使用:
sqlline -u jdbc:drill:zk=centos01:2181,centos02:2181;centos03:2181

4.4 退出drill shell

可以在命令行窗口上执行:!quit

4.5 关闭Drill服务

执行: drillbit.sh stop

⑤、Web Console UI展示
可以使用web console来连上drill,这也是drill众多客户端接口中的一个。
在浏览器中打开如下网址即可:
- htpp://< IP address or host name>:8047

- htpps://< IP address or host name>:8047

二、使用drill操作hbase数据
如果需要通过drill查询hbase的数据,需要在web console上对hbase数据源做些配置。

1.web console => Storage tab页 => enable hbase
2.在“Enabled Storage Plugins”一栏中,点击hbase上的update按钮,进入编辑页面,填入hbase的配置信息。

配置样例如下:

{"type": "hbase","config": {"hbase.zookeeper.quorum": "111.111.111.111","hbase.zookeeper.property.clientPort": "2181","zookeeper.znode.parent": "/hbase"},"size.calculator.enabled": false,"enabled": true}

3.重新启动drillbit进程,即可开始查询hbase数据。

使用drill以sql访问hbase,详见如下文档:
Querying HBase

4.注意事项
hbase里,行健与数据列中的数据均以byte[]形式存在,在使用drill操作hbase的数据时,如果不加转换,实际上它返回给你的是字节数组的地址值。
这是需要使用其内置转换函数CONVERT_FROM,转换为实际的值。

一个转换例子:

SELECT CONVERT_FROM(row_key, 'UTF8') AS studentid, CONVERT_FROM(students.account.name, 'UTF8') AS name, CONVERT_FROM(students.address.state, 'UTF8') AS state, CONVERT_FROM(students.address.street, 'UTF8') AS street, CONVERT_FROM(students.address.zipcode, 'UTF8') AS zipcode FROM students;

安装使用Drill-1.10相关推荐

  1. Ubuntu 12.04下安装GTK 2.24.10

    我利用此方法成功在Ubuntu12.04下安装GTK 2.24.10  记录一下 1.安装gcc/g++/gdb/make 等基本编程工具 sudo apt-get install build-ess ...

  2. 安装UBUNTU Server 11.10

    第一次安装UBUNTU Server 11.10. 虽然是第一次用Linux,感觉是傻瓜式的安装,没啥特殊的地方.但是遇到了两个难点. 1.文字乱码 参看了 渔人码头[http://www.cnblo ...

  3. Windows 8.1下安装Mac OS X 10.8虚拟机

    转载自http://blog.csdn.net/jordanxinwang/article/details/43637799 1.准备 宿主操作系统:Windows 8.1 64位.特别地,需要CPU ...

  4. VMware 11完全安装Mac OS X 10.10

    ----------------------------------------- 引用原文如下: VMware 11安装Mac OS X 10.10_百度经验 http://jingyan.baid ...

  5. Swift之 vm10虚拟机安装Mac OS X10.10教程

    VM10装Mac OS X 10.9.3及更新到Mac OS X 10.10,让你的windows也能玩Swift .   近期WWDC放出终极大招--新的编程语言Swift(雨燕),导致一大波程序猿 ...

  6. VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程

    From: http://unmi.cc/vmware9-install-mac-os-x-mountain-lion/#comment-8684 本教程是在 VMware 9 下安装当前最新版的 M ...

  7. 如何在手机上安装Ubuntu Touch 13.10

    Ubuntu Touch 13.10是Canonical公司针对手机新推出的一款操作系统,但是相对于桌面而言,它安装到手机并不是那么容易. Canonical提供了安装Ubuntu Touch 13. ...

  8. VMware 11安装Mac OS X 10.10

    VMware 11安装Mac OS X 10.10 转载于:https://www.cnblogs.com/zhujiabin/p/4889122.html

  9. VMware 12安装Mac OS X 10.11解决上网的问题

    VMware 12安装Mac OS X 10.11&解决上网的问题 参考文章: (1)VMware 12安装Mac OS X 10.11&解决上网的问题 (2)https://www. ...

  10. 在VMware Workstation 9中安装Mac OS X 10.8 Mountain Lion

    本文环境: CPU:Intel Core i7 920: OS:Windows 7: 内存:8G: 玩Hackintosh各有各的理由,不管什么理由,利用虚拟机安装Mac OS X都是一个可行的办法. ...

最新文章

  1. 2019年最新十篇「深度学习领域综述」论文
  2. Android加速度传感器
  3. javaswing引入百度地图_【react】React怎么引用百度地图
  4. Windows下的常用的DOS命令
  5. C++ 初始化与赋值
  6. java unicode32_【JAVA SE基础篇】32.String类入门
  7. template 的简单使用
  8. Vue.js 判断对象属性是否存,不存在添加
  9. 作团队感悟(4)----分享的心态
  10. Java设计模式01:设计模式的 分类 和 设计原则
  11. 安卓为什么卡及其解决方案
  12. 微型计算机初级证书,什么是计算机初级证书
  13. 60款顶级大数据开源工具
  14. springboot集成easypoi实现excel多sheet导出,并设置表头样式
  15. es修改排序_ElasticSearch自定义排序(转载)
  16. CSS3 页面布局
  17. python 抓百度招聘信息,将搜索结果解析下来,用来跟踪招聘趋势数据,免费数据变为有用的东东
  18. 校园歌手大赛10分c语言,校园歌手大赛评分细则
  19. Wed Nov 25 11:02:17 GMT+08:00 2020 WARN: Establishing SSL connection without server‘s identity verif
  20. Simulink代码生成:通过Matlab Function集成C函数

热门文章

  1. python fpga chips_如何成为一名合格的FPGA老手-可编程逻辑-与非网
  2. 针尖对麦芒!继荣耀V30宣布支持全网通5G后,雷军也爆出了猛料
  3. 360 wifi拓展器R2使用
  4. 五个小技巧让你选择一个出色而节约用水的马桶
  5. AAFD-DU多回路故障电弧探测器在某医院的应用
  6. Cross-stitch Networks for Multi-task Learning
  7. 苹果加急审核的一些注意点
  8. 用《只狼》教你学会Git(上)
  9. vue项目集成iconfont 图标
  10. 2021容量最大的充电宝是多少?大容量充电宝排行榜