先安装好hdfs、MySQL、mongo
配置Drill
下载Drill
apache-drill-1.16.0.tar
提取码:7gqb
解压
a@DataServer:~/softhome$ tar -zxf apache-drill-1.16.0.tar.gz
重命名,方便之后操作
a@DataServer:~/softhome$ mv apache-drill-1.16.0 drill116
配置PATH路径
a@DataServer:~/softhome$ sudo gedit /etc/profile
添加路径,根据自己修改
# Drill
export DERLL_HOME=/home/a/softhome/drill116
export PATH=$DERLL_HOME/bin:$PATH
保存,执行配置文件/etc/profile,或重启
a@DataServer:~/softhome$ source /etc/profile
启动Drill的两种方式
方法一 sqlline 不推荐
a@DataServer:~/softhome$ sqlline -u jdbc:drill:zk=local -n admin -p admin
访问网址localhost:8047
没问题
简单查询和退出
apache drill> !tables
apache drill> !quit
方法二 drillbit.sh 推荐使用
注意:
1.不能与sqlline
同时启动,因为会发生端口8047冲突
2.依赖zookeeper,在启动drill之前应先启动zookeeper
启动
a@DataServer:~$ drillbit.sh start
如果有错误将会写到/home/a/softhome/drill116/log/drillbit.out
文件中
成功标志
1.使用jps查看,存在Drillbit则成功
a@DataServer:~$ jps
2.访问网站localhost:8047,访问成功则成功
常见drillbit.sh启动错误
内存不足
解决方法:
1.进入drill116/conf
目录下,修改配置文件drill-env.sh
a@DataServer:~$ cd softhome/
a@DataServer:~/softhome$ cd drill116/
a@DataServer:~/softhome/drill116$ cd conf
a@DataServer:~/softhome/drill116/conf$ sudo gedit drill-env.sh
添加
export DRILL_HEAP=${DRILL_HEAP:-"2G"}
export DRILL_MAX_DIRECT_MEMORY=${DRILL_MAX_DIRECT_MEMORY:-"3G"}
可根据实际自行修改内存,最初内存为4G、8G
2.再次启动drillbit.sh
a@DataServer:~$ drillbit.sh start
没有启动zookeeper
查看/home/a/softhome/drill116/log/drillbit.out
文件,发现出现错误
Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Failure during initial startup of Drillbit.
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:532)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:498)
at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:494)
Caused by: java.io.IOException: Failure to connect to the zookeeper cluster service within the allotted time of 10000 milliseconds.
at org.apache.drill.exec.coord.zk.ZKClusterCoordinator.start(ZKClusterCoordinator.java:134)
at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:204)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:528)
... 2 more
解决方法:
1.关闭drillbit.sh
a@DataServer:~$ drillbit.sh stop
2.启动zookeeper
# zookeeper/bin目录已配置到Path
a@DataServer:~$ zkServer.sh start
3.再次启动drillbit.sh
a@DataServer:~$ drillbit.sh start
绑定地址问题
查看/home/a/softhome/drill116/log/drillbit.out
文件,发现出现错误
Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Failure during initial startup of Drillbit.
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:532)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:498)
at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:494)
Caused by: org.apache.drill.exec.exception.DrillbitStartupException: Drillbit is disallowed to bind to loopback address in distributed mode.
at org.apache.drill.exec.service.ServiceEngine.start(ServiceEngine.java:97)
at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:210)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:528)
... 2 more
解决方法:
1.查看修改/etc/hosts
文件
a@DataServer:~$ sudo gedit /etc/hosts
将DataServer此行删除(可能会使别的程序出错)或将此行的地址改为真实的ip地址
修改完成后保存
2.再次启动drillbit.sh
a@DataServer:~$ drillbit.sh start