flinksql on zeppelin安装及使用
zeppelin简介
Flink SQL的默认开发方式是通过Java/Scala API编写,与纯SQL化、平台化的目标相去甚远。目前官方提供的FlinkSQL Client仅能在配备Flink客户端的本地使用,局限性很大。而Ververica开源的Flink SQL Gateway组件是基于REST API的,仍然需要二次开发才能供给上层使用,并不是很方便。鉴于有很多企业都无法配备专门的团队来解决Flink SQL平台化的问题,那么到底有没有一个开源的、开箱即用的、功能相对完善的组件呢?答案就是本文的主角——Apache Zeppelin。Zeppelin是基于Web的交互式数据分析笔记本,支持SQL、Scala、Python等语言。Zeppelin通过插件化的Interpreter(解释器)来解析用户提交的代码,并将其转化到对应的后端(计算框架、数据库等)执行,灵活性很高。
zeppelin安装
1.下载zeppelin-0.9.0-bin-all.tgz
https://apache.website-solution.net/zeppelin/zeppelin-0.9.0/zeppelin-0.9.0-bin-all.tgz
https://mirror-hk.koddos.net/apache/zeppelin/zeppelin-0.9.0/zeppelin-0.9.0-bin-all.tgz
2.解压zeppelin-0.9.0-bin-all.tgz
tar -zxvf zeppelin-0.9.0-bin-all.tgz
3.修改zeppelin配置文件:conf 文件夹下面的 zeppelin-site.xml 和 zeppelin-env.sh
cp zeppelin-site.xml.template zeppelin-site.xml
vi zeppelin-site.xml
<!-- 服务地址。默认为127.0.0.1,改为0.0.0.0使得可以在外部访问 -->
<property><name>zeppelin.server.addr</name><value>0.0.0.0</value><description>Server binding address</description>
</property><!-- 服务端口。默认为8080,如果已占用,可以修改之 -->
<property><name>zeppelin.server.port</name><value>18080</value><description>Server port.</description>
</property>
cp zeppelin-env.sh.template zeppelin-env.sh
vi zeppelin-env.sh
# JDK目录
export JAVA_HOME=/opt/jdk1.8.0_172
# Hadoop配置文件目录
export HADOOP_CONF_DIR=/etc/hadoop/hadoop-conf
3.至此,最基础的配置就完成了。
运行bin/zeppelin-daemon.sh start命令,返回Zeppelin start [ OK ]的提示之后,
就可以访问<服务器地址>:18080,表示Zeppelin服务启动成功。
4.进一步配置,生产也可以使用,修改完重启zeppelin。
<!-- 将Notebook repo更改为HDFS存储 -->
<property><name>zeppelin.notebook.storage</name><value>org.apache.zeppelin.notebook.repo.FileSystemNotebookRepo</value><description>Hadoop compatible file system notebook persistence layer implementation, such as local file system, hdfs, azure wasb, s3 and etc.</description></property><!-- Notebook在HDFS上的存储路径 -->
<property><name>zeppelin.notebook.dir</name><value>/zeppelin/notebook</value><description>path or URI for notebook persist</description>
</property><!-- 启用Zeppelin的恢复功能。当Zeppelin服务挂掉并重启之后,能连接到原来运行的Interpreter -->
<property><name>zeppelin.recovery.storage.class</name><value>org.apache.zeppelin.interpreter.recovery.FileSystemRecoveryStorage</value><description>ReoveryStorage implementation based on hadoop FileSystem</description>
</property><!-- Zeppelin恢复元数据在HDFS上的存储路径 -->
<property><name>zeppelin.recovery.dir</name><value>/zeppelin/recovery</value><description>Location where recovery metadata is stored</description>
</property>
flinksql on zeppelin
环境:
flink 1.12.2hadoop 3.0.0hive 2.1.1zeppelin 0.9.0
配置flink interpreter
配置Interpreter 有以下2种方式(通常情况下我们需要结合这两种配置方式):
在Interpreter 页面进行全局配置
在Note页面进行Note级别的配置
1.Interpreter 页面配置
打开zeppelin界面,点击用户,找到 interpreter菜单:
点击首页用户名区域菜单中的Interpreter,搜索flink,就可以看到参数列表:
首先,将Interpreter Binding模式修改为Isolated per Note,如下图所示:
在这种模式下,每个Note在执行时会分别启动Interpreter进程,类似于Flink on YARN的Per-job模式,最符合生产环境的需要。
需要配置的参数:
Flink on YARN参数
FLINK_HOME:Flink 1.12.2所在的目录;
HADOOP_CONF_DIR:Hadoop配置文件所在的目录;
flink.execution.mode:Flink作业的执行模式,指定为yarn以启用Flink on YARN;
flink.jm.memory:JobManager的内存量(MB);
flink.tm.memory:TaskManager的内存量(MB);
flink.tm.slot:TaskManager的Slot数;
flink.yarn.appName:YARN Application的默认名称;
flink.yarn.queue:提交作业的默认YARN队列。
Hive Integration参数
HIVE_CONF_DIR:Hive配置文件(hive-site.xml)所在的目录;
zeppelin.flink.enableHive:设为true以启用Hive Integration;
zeppelin.flink.hive.version:Hive版本号。
复制与Hive Integration相关的依赖到$FLINK_HOME/lib目录下,包括:
flink-connector-hive_2.11-1.12.2.jar
hive-exec-2.1.1.jar
2.Note级别配置:
Note 级别的配置只有在当Interpreter binding模式选择 Isolated Per Note的时候才起作用。
Note 级别的配置一般放在每个Note的第一个Paragraph,是通过一个特殊的 Inline Configuration
Interpreter (%flink.conf) 来实现的。一般每个Note都有自己对应的Job和场景,我们需要对每个Note做特殊的配置,比如
flink.execution.packages, flink.udf.jars, flink.yarn.appName 等等。Note级别的配置优先
级比 Interpreter的全局配置要高,所以比如你可以在Note配置 FLINK_HOME 来覆盖Interpreter
页面里配置的 FLINK_HOME。下图是一个简单的例子:
3.测试Flink SQL on Zeppelin
创建一个Notebook,Interpreter指定为flink。然后写入Paragraph,通常第一个是job configuration:
接下来创建第二个:
最后运行即可。
flinksql on zeppelin安装及使用相关推荐
- zeppelin安装配置
zeppelin安装配置 一.下载安装包 二.上传并解压 三.修改配置文件 四.启动zeppelin 五.配置hive解释器 六.使用Zepplin的hive解释器 一.下载安装包 http://ze ...
- Zeppelin安装(Docker版)
Zeppelin安装(Docker版) docker pull apache/zeppelin:0.10.0 docker run -d -u root --privileged --name zep ...
- Zeppelin安装教程
我是在虚拟机中安装 虚拟机:virtualbox 系统:centos7 jdk1.7 zeppelin0.6.2 spark-2.0.2-bin-hadoop2.7 hadoop-2.7.3 scal ...
- zeppelin安装和配置(保姆级教程)
zeppelin简单介绍: Zeppelin是一个基于Web的notebook,提供交互数据分析和可视化.支持多种数据引擎,如hive.spark等.还支持多种编程语言,如python.Scala等. ...
- zeppelin oracle,Apache Zeppelin安装及使用
Apache Zeppelin介绍:A web-based notebook that enables interactive data analytics. You can make beauti ...
- zeppelin安装
1.上传zeppelin文件 我使用的版本为zeppelin-0.8.1-bin-all.tgz 2.解压至/opt下 tar -zxvf zeppelin-0.8.1-bin-all.tgz -C ...
- 数据可视化工具zeppelin安装
介绍 zeppelin主要有以下功能 数据提取 数据发现 数据分析 数据可视化 目前版本(0.5-0.6)之前支持的数据搜索引擎有如下 安装 环境 centOS 6.6 编译准备工作 sudo yum ...
- Apache Zeppelin安装和启动
目录 1. 软件安装版本说明 2. 下载安装包 3. 修改Zeppelin配置 3.1 修改 zeppelin-site.xml 3.2 修改zeppelin的内存大小
- centos7下zeppelin安装配置
一.简介 zepplin 和 jupyter 均是基于web 的notebook风格的交互数据分析和协作平台.均支持ipython,spark,python等最常用的数据分析工具:均支持local模式 ...
最新文章
- mysql查询各个知识点
- REDIS的几个测试结果
- Ansible — Overview
- 网站推广——网站推广专员浅析如何轻松完成网站关键词优化?
- POJ 3748:位操作
- 中秋佳节共团圆,送3本Python书
- 新用户时代最大的机会就是分享经济
- SplObserver观察者模式
- python斐波那契递归_Python递归斐波那契示例
- [JAVA]使用Jersey处理Http协议中的Multipart
- Django 安装使用
- Python Scrapy 爬虫框架实例(一)
- MAC 电脑安装jdk
- c语言专业面试问题,c语言面试问题(共3篇).doc
- 上古卷轴5传奇版LE与重制版SE的区别(LE Vs SE)
- 如何深入掌握C语言指针(详解)
- 织梦制作二级全国分站教程,多城市分站插件代码调用
- 【web前端(九)】html_行高设置
- 2013年全国硕士研究生入学统一考试英语(一)和(二)考试大纲新增的60个词汇详解
- Portal-Gateway路由网关
热门文章
- jboss4中手动部署EJB(jboss4.0.2+ejb2.0+j2sdk5.0+xpsp2)
- Map与WeakMap
- dreamweaver开源_Dreamweaver的7种开源替代品
- 如何在Linux上安装设备驱动程序
- 大牛用emacs还是vim_Emacs,Vim还是其他?
- 印度软件和中国软件工程师_印度社区如何支持隐私和软件自由
- 评选 cms_十大评选和编辑精选:12月评论
- drush 账号 密码_工作流程和效率极客讨论Drush和Drupal
- 为什么不邀请我参加会议?
- HTML5 Canvas 图形组合