1.zeppelin下载
目前zeppelin的版本有最新的是预发版的0.9。出于稳定性考虑,选择2019年就已经发行的zeppelin-0.82.
wget https://mirror.bit.edu.cn/apache/zeppelin/zeppelin-0.8.2/zeppelin-0.8.2-bin-all.tgz
tar -zxvf ./zeppelin-0.8.2-bin-all.tgz
cd zeppelin-0.8.2-bin-all
cp conf/zeppelin-env.sh.template conf/zeppelin-env.sh
2.准备配置文件和相关jar包
安装zeppelin的机器最好是cdh的一台gateway,也就是客户端,上面有分配hdfs,yarn,spark,hive的客户端角色。
zeppelin的hive,impala都是通过jdbc方式连接的。hive的jdbc jar包cdh自带,但是impala的jdbc jar包需要自己下载。
准备impala相关jar
wget https://downloads.cloudera.com/connectors/impala_jdbc_2.5.41.1061.zip
unzip impala_jdbc_2.5.41.1061.zip
进入解压目录,解压jdbc41压缩包
unzip Cloudera_ImpalaJDBC41_2.5.41.zip
cd zeppelin-0.8.2-bin-all/interpreter/jdbc
mkdir -p impala/lib
将上述解压出来的impala jar包全部移动到impala/lib 目录下
准备hive相关jar
cd zeppelin-0.8.2-bin-all/interpreter/jdbc
mkdir -p hive/lib
拷贝hive先关jar到hive/lib目录
cp /opt/cloudera/parcels/CDH/jars/hive-exec-1.1.0-cdh5.16.2.jar ./
cp /opt/cloudera/parcels/CDH/jars/hive-jdbc-1.1.0-cdh5.16.2.jar ./
cp /opt/cloudera/parcels/CDH/jars/hive-cli-1.1.0-cdh5.16.2.jar ./
cp /opt/cloudera/parcels/CDH/jars/hive-service-1.1.0-cdh5.16.2.jar ./
3.在zeppelin中配置
编辑conf/zeppelin-env.sh文件.这里比较简单,目的只是快速启动
export JAVA_HOME=/usr/java/jdk1.8.0_144
export ZEPPELIN_ADDR=x.x.x.x
export ZEPPELIN_PORT=8080
export ZEPPELIN_MEM="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m"
浏览器访问机器的8080端口,点击右上角的interpreter
点击右上角的create 按钮.进行interpreter的新增
hive interpreter 主要属性
interpreter name = hive
interpreter group = jdbc
default.driver = org.apache.hive.jdbc.HiveDriver
default.url = jdbc:hive2://x.x.x.x:10000
default.splitQueries = true
default.user = hive
在dependencies 下把上面准备好的hive/lib 目录下的jar包路径填上。效果如下:
impala interpreter 主要属性
interpreter name = impala
interpreter group = jdbc
default.driver = com.cloudera.impala.jdbc41.Driver
#impala的jdbc连接方式可以参考另一篇文章
default.url = jdbc:impala://x.x.x.x:25004;AuthMech=3;UID=impala;PWD=;UseSasl=0
default.splitQueries = false
default.user = impala
测试zeppelin上impala,hive的功能
在zeppelin的主界面新建notebook.一个notebook只能选择一个interpreter group.
hive demo
首行必须是%hive
impala demo
首行必须是%impala
4.总结
zeppelin这个工具更加偏向于快速集成,敏捷开发。提供了简单的可配置化的方式集成spark,jdbc,hbase,ignite等多种数据源。但是本身功能做的很简陋,只是最简单的查询工具。没有像hue一样的元数据,历史记录,sql提示,工作调度等功能。这就意味着平台没有任何交互性的友好提示,全靠用户自己。
个人认为适合有一定基础的编程人员,后台管理人员,不适合面向数据分析师,运营人员等普通用户。