部署
把下载的bin-all.tgz上传到服务器,解压放到自己常用的目录下。
为了使用spark.read.jdbc功能,需要上传一份mysql connector jar到lib/interpreter下,否则spark执行会报错。
启动
使用bin/zeppelin-daemon.sh start
启动后台服务
然后使用bin/zeppelin.sh
启动web端
这样在服务器的8080端口就可以看见应用界面
设置
我们需要设置到spark的连接,通过右上方的下拉菜单“Interpreter”进入适配器管理界面,设置好到spark集群的连接,然后把这个适配器重启一下。
使用
通过“Create new note”建立一个便签,便签的执行单位是段,每段的右上角都有执行、展示\隐藏代码、展示\隐藏输出,更多操作的工具条。这里每段的代码就和写在spark-shell里面的一样。
最后输出的时候需要注意,为了使用zeppelin的数据可视化功能,推荐以table形式输出,同时组织好输出数据的关系,以便直接展示。现在数据可视化的功能还不是太强大,只可以在settings里面调整数据展示的逻辑。
最后效果展示,这是某系统中各个地点的重量级别发生次数的分布图。
图示略有交互性,可以选择展示的和隐藏的groups,通过图示上方的小圆圈选中与否控制,为了保护数据隐私,这里不作展示。
安全
zeppelin默认任何人都可以访问,这样太不安全了,所以需要加上一点保障,一方面是用户登录权限,一方面是文档的读写权限。
官方的说明页面在此:登录权限,文档权限
首先在zeppelin/conf目录下,把zeppelin-site.xml.template复制成zeppelin-site.xml,把shiro.ini.template复制成shiro.ini。
修改zeppelin-site.xml,把zeppelin.anonymous.allowed
的值改成false
保存退出。
然后修改shiro.ini。在
[users]
段中,按照登录名=密码,角色1,角色2,...角色N
的格式添加登录账户,保存退出。终端里面执行脚本,重启后台服务:
zeppelin-daemon.sh restart
然后刷新网页就可以看到需要登录了。
文档的权限是进入zeppeline后在文档的编辑界面上设置的,参见官方文档的图示,非常简单。