0.序

  暗中同意意况下,Zeppelin安装好还要安插完zeppelin-site.xml和zeppelin-env.sh后,大家进来的形式,从右上角就能够看出来是anonymous方式,这种方式下会见到全体的notebook,这种气象下,假设是多人在选用的很有益和临沧。

  那篇就是对zeppelin的片段安全布局做一些初探,首若是shiro.ini那一个文件。

1.Zeppelin是什么?

Apache
Zeppelin是意气风发款基于Web的Notebook(近似于jupyter
notebook卡塔尔国,帮忙交互作用式地数量解析。
Zeppelin可完成您所急需的:

  • 数据搜罗
  • 数码发现
  • 数据剖判
  • 数码可视化和搭档

支撑种种语言,暗许是Scala(背后是斯Parker shell卡塔尔(قطر‎,SparkSQL, Markdown
,SQL,Shell,Markdown和Python等

Betway官网 1

image.png

Betway官网 2

image.png

1.改成安全形式:

变动如下:

(1)conf/shiro.ini

#/** = anon
/** = authc       

注释掉/** = anon

使/** = authc生效

(2)修改conf/zeppelin-site.xml

将内部的zeppelin.anonymous.allowed 改为false

Apache Spark集成

特别是,Apache Zeppelin提供放置的Apache
Spark归并。您不须求为其营造单独的模块,插件或库。

2.有的安排项的意思:

[users]中定义了客商名,密码和归属的剧中人物。

概念格局如下:

用户名 = 密码, 角色1, 角色2, ……

[roles]中定义了角色甚至所属的组

角色1=* 代表全数

角色2=组1,组2,……

[main]中定义了应用LDAP恐怕AD来定义groups

切实配置请参见官方网站:

[urls]中能够安装有些布局项(Interpreter
Setting
Credential and Configuration)的权限

这正是urls访谈上有的平安无事配置。

/api/interpreter/** = authc, roles[admin]
/api/configurations/** = authc, roles[admin]
/api/credential/** = authc, roles[admin]

恩基本的结构项就那一个了,比相当多别的安插项参照他事他说加以考察官方网址。

2.Zeppelin特性

2.1 Apache Spark 集成

Zeppelin 提供了内置的 Apache 斯Parker集成。你没有必要独自构建三个模块、插件可能库。
Zeppelin的斯Parker集成提供了:

  • 自行引进斯ParkerContext 和 SQLContext
  • 从当羊眼半夏件系统或maven库载入运营时重视的jar包。越来越多关于重视载入器
  • 可取消job 和 展示job进度

2.2 数据可视化

一些宗旨的图样已经饱含在Zeppelin中。可视化并不只限于斯ParkerSQL查询,后端的任何语言的输出都能够被识别并可视化。

Betway官网 3

image.png

数据透视图
Apache
Zeppelin聚合值,并因而轻巧的拖放将其出示在透视图中。您能够轻便创设具备四个汇总值的图样,满含总额,数量,平均值,最小值,最大值。

Betway官网 4

image.png

动态表单
Apache Zeppelin能够在记录本中动态创设一些输入表单。

Betway官网 5

image.png

透过分享您的记录本和段子进行同盟
你的记录本网站能够在协小编之间分享。然后,Apache
Zeppelin将会实时播报任何改换,就好像谷歌文书档案中的同盟同样。

Betway官网 6

image.png

发布
Zeppelin提供了贰个ULacrosseL用来单独显示结果,那几个页面不满含Zeppelin的菜单和按键。那样,你能够率性地将其充当一个iframe集成到你的网址。

Betway官网 7

image.png

3.Zeppelin的飞速入门

3.1 安装

Apache
Zeppelin下载页面提供了五个二进制包。http://zeppelin.apache.org/download.html

  • #### all口译包

    只需将其包装在你接纳的目录中就能够。

  • #### net-install编译包

    开发包装并遵照设置任何编写翻译程序设置解释器。假设你不分明,只需运营./bin/install-interpreter.sh --all并安装具备解释器。

设置与运作请参照他事他说加以考察:
http://zeppelin.apache.org/docs/0.7.3/install/install.html

### 启动Apache Zeppelin
bin/zeppelin-daemon.sh start
### 停止Zeppelin
bin/zeppelin-daemon.sh stop 

与service manager一齐运维Apache Zeppelin
Apache
Zeppelin能够行使起初化脚本作为服务活动运营,使用像upstart那样的劳务微处理机。那是七个保存的示例upstart脚本,因为/etc/init/zeppelin.conf
那允许使用诸如以下命令来管理服务。

sudo service zeppelin start 
sudo service zeppelin stop 
sudo service zeppelin restart 

别的service
manager能够运用与upstart传递给zeppelin-daemon.sh脚本的参数相像的方式。
bin/zeppelin-daemon.sh upstart

zeppelin.conf

description "zeppelin"

start on (local-filesystems and net-device-up IFACE!=lo)
stop on shutdown

# Respawn the process on unexpected termination
respawn

# respawn the job up to 7 times within a 5 second period.
# If the job exceeds these values, it will be stopped and marked as failed.
respawn limit 7 5

# zeppelin was installed in /usr/share/zeppelin in this example
chdir /usr/share/zeppelin
exec bin/zeppelin-daemon.sh upstart

3.2 配置

3.2.1 Zeppelin Properties

有三个职分能够配备Apache Zeppelin。
(1)碰到变量能够被定义conf/zeppelin-env.sh
(2)Java属性能够定义在conf/zeppelin-site.xml

Betway官网 8

image.png

Betway官网 9

image.png

3.3 探索Apache Zeppelin UI

首页

您首先次三番若干次到Zeppelin,你将会在主页面上观察下边包车型地铁截图。

Betway官网 10

image.png

页面左侧列出全浮现存的笔记。那一个笔记私下认可存款和储蓄在$ZEPPELIN_HOME/notebook文本夹中。

你能够利用输入文本情势通过名称过滤它们。您还是能够成立叁个新的笔记,刷新现成笔记的列表(万一手动将其复制到$ZEPPELIN_HOME/notebook文件夹中)并导入笔记。

Betway官网 11

image.png

当点击Import Note链接时,会张开三个新的对话框。从那边您能够从本土磁盘或从远程地点导入您的笔记,如果您提供的U福特ExplorerL。

Betway官网 12

image.png

暗许情况下,导入的注释的名称与原本注释相符,但您能够经过提供新的名号来掩没它。

菜单

笔记本

Notebook菜单提议与主页中的笔记管理有些大概相近的成效。从下拉菜单中,您能够:

  1. 开采选定的音符
  2. 按名称过滤节点
  3. 创设三个新的音符
![](https://upload-images.jianshu.io/upload_images/8885151-43e7cd8cb8550393.png)

image.png

设置

此菜单可让您访谈设置并出示有关Zeppelin的音讯。anonymous假若利用暗许的shiro
配置,顾客名设置为。借使要设投身份验证,请参阅Shiro身份验证。

Betway官网 13

image.png

关于Zeppelin

您能够在这里菜单中查阅Zeppelin版本。

Betway官网 14

image.png

解释器

在那菜单中,您能够:

  1. 构造现成的解释器实例
  2. 添加/删除解释器实例

Betway官网 15

image.png

凭据

此菜单允许你保存传递给口译员的数据源的凭据。

Betway官网 16

image.png

配置

此菜单显示配置文件中设置的富有Zeppelin配置
$ZEPPELIN_HOME/conf/zeppelin-site.xml

Betway官网 17

image.png

阐明结构

各类Zeppelin笔记由1 .. N段组成。该笔记能够看成是一个段落容器。

Betway官网 18

image.png

段落

每一种段落由两局地构成:code section你将源代码放在result section哪儿,您可以在里边见到代码实践的结果。

Betway官网 19

image.png

在各样段落的右上角都有风流倜傥部分指令:

  • 施行段落代码
  • 隐藏/显示 code section
  • 隐藏/显示 result section
  • 安排段落

要配备段落,只需点击齿轮Logo:

Betway官网 20

image.png

从这些对话框能够(按降序排列):

  • 找到段落id20150924-163507_134879501
  • 调节段宽。由于Zeppelin正在选择Twitter
    Bootstrap
    的网格系统,由此每段宽度可以从1变为12
  • 移动第1段
  • 将第1段向下移动
  • 始建几个新段落
  • 改进段落题目
  • 来得/隐蔽行号 code section
  • 禁止使用此段子的运维开关
  • 将如今段落导出为iframe,并在新窗口中张开iframe
  • 清除 result section
  • 删去当前段落

留意工具栏

在速记的顶部,您能够找到多个出示命令开关以致配置,安全性和突显选项的工具栏。

Betway官网 21

image.png

在最右侧显示注释名称,只需点击它就能够突显输入表单并张开更新。

在工具栏的中游,您能够找到命令开关:

  • 举行全数段落顺序,在他们的来得顺序
  • 隐藏/显示code section不无段落
  • 隐藏/显示result section具有段落
  • 清除result section具备段落
  • 克隆当前笔记
  • 将日前注释导出到JSON文件。_Please注意的是,code sectionresult section抱有段落将用来出口。假若您在result section一点段落中有重的数量,提出你在导出以前清理它们
  • 交由当前节点内容
  • 删除注释
  • 利用CRON语法调治装有段落的执行

Betway官网 22

image.png

在速记工具栏的侧边,您能够找到配置Logo:

  • 来得全体的键盘摇柄
  • 陈设解释器绑定到近些日子注释
  • 配置注释权限
  • 开关之间的节点的来得格局defaultsimplereport

Betway官网 23

image.png

3.4 Apache Zeppelin教程

本学科将指点您领悟Zeppelin的意气风发对基本概念。大家若是你早已设置了Zeppelin。若无,请先看这里。

Zeppelin当前的显要后端管理引擎是Apache
Spark。借令你刚刚接触到该系列,您恐怕希望首先了然怎么管理数据以丰盛利用Zeppelin。

3.4.1 当麻芋果件教程

数码优化

在始发Zeppelin教程从前,您需求下载bank.zip。
第大器晚成,将csv格式的多少调换到奔驰G级DD
Bank目标,运营以下脚本。那也将使用filter成效删除标题。

val bankText = sc.textFile("yourPath/bank/bank-full.csv")

case class Bank(age:Integer, job:String, marital : String, education : String, balance : Integer)

// split each line, filter out header (starts with "age"), and map it into Bank case class
val bank = bankText.map(s=>s.split(";")).filter(s=>s(0)!="\"age\"").map(
    s=>Bank(s(0).toInt,
            s(1).replaceAll("\"", ""),
            s(2).replaceAll("\"", ""),
            s(3).replaceAll("\"", ""),
            s(5).replaceAll("\"", "").toInt
        )
)

// convert to DataFrame and create temporal table
bank.toDF().registerTempTable("bank")

数据检索

假设我们想看到年龄分布bank。为此,运行:

%sql 
select age, count(1) from bank where age < 30 group by age order by age
 您可以输入框通过更换设置年龄条件30用${maxAge=30}。

%sql 
select age, count(1) from bank where age < ${maxAge=30} group by age order by age
 现在我们要看到具有某种婚姻状况的年龄分布,并添加组合框来选择婚姻状况。跑:

%sql 
select age, count(1) from bank where marital="${marital=single,single|divorced|married}" group by age order by age

3.4.2 具备流数据的教程

数码优化

是因为本教程基于Instagram的示范tweet流,您必需接收推特(Twitter卡塔尔国帐户配献身份验证。要到位这点,看看Twitter
Credential
Setup。当您获得API密钥,您应填写证书相关的值(apiKeyapiSecretaccessTokenaccessTokenSecret与下部的剧本您的API密钥)。

那将创制四个Tweet指标的大切诺基DD 并将这么些流多少登记为二个表:

import org.apache.spark.streaming._
import org.apache.spark.streaming.twitter._
import org.apache.spark.storage.StorageLevel
import scala.io.Source
import scala.collection.mutable.HashMap
import java.io.File
import org.apache.log4j.Logger
import org.apache.log4j.Level
import sys.process.stringSeqToProcess

/** Configures the Oauth Credentials for accessing Twitter */
def configureTwitterCredentials(apiKey: String, apiSecret: String, accessToken: String, accessTokenSecret: String) {
  val configs = new HashMap[String, String] ++= Seq(
    "apiKey" -> apiKey, "apiSecret" -> apiSecret, "accessToken" -> accessToken, "accessTokenSecret" -> accessTokenSecret)
  println("Configuring Twitter OAuth")
  configs.foreach{ case(key, value) =>
    if (value.trim.isEmpty) {
      throw new Exception("Error setting authentication - value for " + key + " not set")
    }
    val fullKey = "twitter4j.oauth." + key.replace("api", "consumer")
    System.setProperty(fullKey, value.trim)
    println("\tProperty " + fullKey + " set as [" + value.trim + "]")
  }
  println()
}

// Configure Twitter credentials
val apiKey = "xxxxxxxxxxxxxxxxxxxxxxxxx"
val apiSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
val accessToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
val accessTokenSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
configureTwitterCredentials(apiKey, apiSecret, accessToken, accessTokenSecret)

import org.apache.spark.streaming.twitter._
val ssc = new StreamingContext(sc, Seconds(2))
val tweets = TwitterUtils.createStream(ssc, None)
val twt = tweets.window(Seconds(60))

case class Tweet(createdAt:Long, text:String)
twt.map(status=>
  Tweet(status.getCreatedAt().getTime()/1000, status.getText())
).foreachRDD(rdd=>
  // Below line works only in spark 1.3.0.
  // For spark 1.1.x and spark 1.2.x,
  // use rdd.registerTempTable("tweets") instead.
  rdd.toDF().registerAsTable("tweets")
)

twt.print

ssc.start() 

数据检索

对于每个以下脚本,每次单击运行按钮,您将看到不同的结果,因为它是基于实时数据。

我们开始提取包含单词girl的最多10个tweets 。

%sql 
select * from tweets where text like '%girl%' limit 10
 这次假设我们想看看在过去60秒内每秒创建的tweet有多少。为此,运行:

%sql 
select createdAt, count(1) from tweets group by createdAt order by createdAt

您能够在斯ParkerSQL中实行顾客定义的职能并运用它们。让我们经过命名函数来品尝sentiment。该意义将回到参数中的三种态度之风度翩翩(正,负,中性)。

def sentiment(s:String) : String = {
    val positive = Array("like", "love", "good", "great", "happy", "cool", "the", "one", "that")
    val negative = Array("hate", "bad", "stupid", "is")

    var st = 0;

    val words = s.split(" ")   
    positive.foreach(p =>
        words.foreach(w =>
            if(p==w) st = st+1
        )
    )

    negative.foreach(p=>
        words.foreach(w=>
            if(p==w) st = st-1
        )
    )
    if(st>0)
        "positivie"
    else if(st<0)
        "negative"
    else
        "neutral"
}

// Below line works only in spark 1.3.0.
// For spark 1.1.x and spark 1.2.x,
// use sqlc.registerFunction("sentiment", sentiment _) instead.
sqlc.udf.register("sentiment", sentiment _)

要检查人们如何看待使用sentiment上述功能的女孩,请运行以下操作:

%sql 
select sentiment(text), count(1) from tweets where text like '%girl%' group by sentiment(text)

3.5 Apache Zeppelin动态表单

Apache
Zeppelin动态创建输入表单。依照语言后端,创造动态表单有二种分歧的章程。自定义语言后端能够筛选要使用哪个种类类型的表单创设。

行使表单模板
此格局应用简单的模板语言创立表单。它大概易用。例如Markdown,Shell,斯ParkerSQL语言后端使用它。

文件输入表单
要成立文本输入表单,请使用${formName}模板。
例如:

Betway官网 24

image.png

也得以提供暗中同意值,使用${formName=defaultValue}。

Betway官网 25

image.png

选拔表单
要开创接收表单,请使用 ${formName=defaultValue,option1|option2…}

例如:

Betway官网 26

image.png

其它,您能够选拔选拔的呈现名称和值分隔
${formName=defaultValue,option1(DisplayName卡塔尔(英语:State of Qatar)|option2(DisplayName卡塔尔国…}

Betway官网 27

image.png

暗中认可情状下转移选择后,段落将活动运转。不过,纵然你在贰个段落中有七种类型的动态表单,则恐怕需求在更改全部选项后运维该段落。您能够由此打消选中设置菜单中的以下“
运维接受退换”选项来支配此选项。纵然你撤销选中此选项,还是能够透过按下来运维它Enter。

Betway官网 28

image.png

复选框表单
对此多选,您能够利用复选框来创建${checkbox:formName=defaultValue1|defaultValue2…,option1|option2…}。该变量将由基于所选用的逗号分隔字符串代替。比方:

Betway官网 29

image.png

除此以外,您能够使用以下命令钦定分隔符${checkbox(delimiter卡塔尔(英语:State of Qatar):formName=…}:

Betway官网 30

image.png

与分选表单相符,私下认可情状下转移选择后,段落将活动运维。然而,假让你在三个段落中有三种类型的动态表单,则只怕必要在转移全数选项后运维该段落。您能够经过撤消选中设置菜单中的以下“
运转选用改换”选拔来决定此选项。固然你取消选中此选项,还是能够经过按下来运转它Enter

Betway官网 31

image.png

以编制程序方式开创

一些语言后端使用编制程序方式创建表单。举个例子ZeppelinContext提供了表单创制API

这里有部分例子。

文本输入表单

%spark
println("Hello "+z.input("name"))

%pyspark
print("Hello "+z.input("name"))

Betway官网 32

image.png

享有默许值的公文输入表单

%spark
println("Hello "+z.input("name", "sun"))

%pyspark
print("Hello "+z.input("name", "sun"))

Betway官网 33

image.png

选取表单

%spark
println("Hello "+z.select("day", Seq(("1","mon"),
                                    ("2","tue"),
                                    ("3","wed"),
                                    ("4","thurs"),
                                    ("5","fri"),
                                    ("6","sat"),
                                    ("7","sun")))) 

%pyspark
print("Hello "+z.select("day", [("1","mon"),
                                ("2","tue"),
                                ("3","wed"),
                                ("4","thurs"),
                                ("5","fri"),
                                ("6","sat"),
                                ("7","sun")]))

Betway官网 34

image.png

复选框表单

%spark
val options = Seq(("apple","Apple"), ("banana","Banana"), ("orange","Orange"))
println("Hello "+z.checkbox("fruit", options).mkString(" and ")) 

%pyspark
options = [("apple","Apple"), ("banana","Banana"), ("orange","Orange")]
print("Hello "+ " and ".join(z.checkbox("fruit", options, ["apple"]))) 

Betway官网 35

image.png

3.6 Apache Zeppelin发表您的段子

Apache
Zeppelin提供了三个颁发台式机段落结果的功能。使用此功效,您能够在您本人的网站上出示Zeppelin笔记本段落结果。那超轻巧只需<iframe>在页面中应用标签。

复制段落链接
公布段落结果的首先步是复制段落链接。

在你的Zeppelin台式机中运营二个段落后,点击坐落于左侧的齿轮开关。然后,单击链接此段子菜单,如下图所示。

Betway官网 36

image.png

只需复制提供的链接。

Betway官网 37

image.png

将段落嵌入到你的网址
要颁发复制的段子,您能够<iframe>在网址页面中使用标签(注意:要将该段落嵌入网址,Apache
Zeppelin须要该网址可访问。请小心使用此意义,并在保障的境况中运用,因为Zeppelin整个Webapp可由访谈您的网址的任何人访问卡塔尔(قطر‎。比方:

Betway官网 38

image.png

提及底,您能够在你的网址上海展览中心示你赏心悦目标可视化结果。

Betway官网 39

image.png

3.7 自定义Zeppelin主页

Apache
Zeppelin允许你使用你创立的笔记之大器晚成作为你的Zeppelin主页。为此,您能够对Zeppelin安装进行品牌定制,依据顾客要求调度教导,以致翻译成其余语言。

何以设置笔记作为你的Zeppelin主页

始建主页的进程特轻松,如下所示:

  1. 采取Zeppelin创建一个注明
  2. 在布置文件中安装note id
  3. 再度启航Zeppelin

应用Zeppelin创制一个疏解

运用Zeppelin创立多个新的笔记,您能够行使%md解释器实行减价内容或你爱怜的任何其余解释器。您还足以利用显示系统生成文本,html,table或Angular(后端API,前端API)。

运维(shift +
Enter)注释并查看输出。(可选)将备注视图改正为报告以遮掩代码段。

在架构文件中装置note id

要在配备文件中装置注释ID,您应该将其从备注UHavalL中的最终叁个字中复制。举例:

Betway官网 40

image.png

将note
id设置为ZEPPELIN_NOTEBOOK_HOMESCREEN意况变量或zeppelin.notebook.homescreen属性。

您还足以设置ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE境遇变量或zeppelin.notebook.homescreen.hide属性来从记载列表中潜藏新的记叙。

再也启航Zeppelin
再度起动您的Zeppelin服务器

./bin/zeppelin-daemon stop
./bin/zeppelin-daemon start  

而已!展开浏览器并导航到Apache Zeppelin并查阅您的自定义主页。

在自定义主页中显得注释列表
大器晚成旦要在自定义Apache
Zeppelin主页上显得笔记列表,您要求做的正是运用大家的%角度辅助。
将以下代码增多到Apache Zeppelin注释中的段落中,并运转它。

%spark

println(
"""%angular
  <div ng-include="'app/home/notebook.html'"></div>
""") 

运行该段后,您将见到与此相同的输出:

Betway官网 41

image.png

3.8 升级Zeppelin版本

恐怕,较新本子的Zeppelin与原先版本的台式机计算机目录和安排合营使用。所以拷贝notebook和conf目录应该够了。

Betway官网 42

image.png

4.在Yarn上运行Apache Zeppelin & Spark

仿效文献: Zeppelin on 斯Parker Cluster Mode( 斯Parker 集群形式下的 Zeppelin
卡塔尔(قطر‎

暗中同意意况下,Apache
Zeppelin运转Spark是以本土形式起的,master的值是local[*],咱们得以由此退换conf/zeppelin-env.sh文本之中的MASTER的值如下:

export MASTER= yarn-client
export HADOOP_HOME=/home/q/hadoop/hadoop-2.2.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop/

除此以外,在编写翻译Apache
Zeppelin的时候,要求步入对YA奥迪Q5N的依赖,解决的办法是能够在编写翻译Apache
Zeppelin的时候增加-Pyarn来解决地点的标题:

mvn package -Pspark-1.5  -DskipTests -Dhadoop.version=2.2.0 -Phadoop-2.2 -Pyarn

下一场再起步Apache Zeppelin

bin/zeppelin-daemon.sh start

当时,运行的SparkJob就能够在YATucsonN上跑。全体的日记能够在logs目录下找,在本身的例证里面著录日志的公文是
zeppelin-interpreter-spark-***.log
此外索要专一的是,Apache Zeppelin &
斯Parker在YA哈弗N方式上运转只支持yarn-client格局,假设您将MASTETiggo设置成了yarn-cluster,那么将会现身十分。

5.Apache Zeppelin解释器

5.1 概述

Zeppelin解释器的概念允许将此外语言/数据管理后端插入到Zeppelin中。

脚下,Zeppelin帮助广大解释器,如Scala(使用Apache
斯Parker),Python(带有Apache 斯Parker),斯ParkerSQL,JDBC,Markdown,Shell等。

什么是Zeppelin解释器?

Zeppelin
Interpreter是黄金年代款插件,可让Zeppelin客户使用一定的语言/数据处理后端。举例,要在Zeppelin中应用Scala代码,您须求%spark解释器。

当您+Create在解释器页面中单击按键时,解释器下拉列表框将显示你的服务器上的持有可用的解释器。

Betway官网 43

image.png

如何是解释器设置?

Zeppelin解释器设置是Zeppelin服务器上加以解释器的构造。例如,hive
JDBC解释器连接到Hive服务器需求这个属性。

Betway官网 44

image.png

当属性名称由高位字符,数字和下划线组成([A-Z_0-9])时,属性将导出为情形变量。不然将品质设置为JVM属性。
各类台式机都得以应用笔记本计算机右上角的装置图标绑定四个解释器设置。

Betway官网 45

image.png

如何是解说器组?

各样解释器都归于解释器小组。解释器组是start/stop解释器的单位。暗许景况下,每一种解释器都归属单个组,但该组或然带有越多的解释器。比方,Spark解释器组包罗斯Parker支持,py斯Parker,SparkSQL和注重性加载器。

才干上来讲,来自同风流倜傥组的Zeppelin口译员正在运行在同叁个JVM中。有关更加的多消息,请在这里检验。

各类解释器都归于四个十足的团体,並且一路注册。他们的全体属性都列在底下的解释器设置中。

Betway官网 46

image.png

解释器绑定形式

种种解释器设置能够选取“分享”,“范围”,“隔开”解释器绑定方式之生机勃勃。在“分享”格局下,绑定到解释器设置的每种台式机都将分享单个解释器实例。在“范围”情势下,各种台式机就要同等的解释器进度中创制新的解释器实例。在“隔断”形式下,每一个台式机都会制造新的口译进程。

Betway官网 47

image.png

连续几天来到现存的长途解释器

Zeppelin客商能够起来在其劳动中寄存解释器线程。那将为客商提供灵活性,以便在长途主机上运维解释器。要与你的服务合营带头解释器,您必需创建三个实例RemoteInterpreterServer并运行它,如下所示:

RemoteInterpreterServer interpreter=new RemoteInterpreterServer(3678); 
// Here, 3678 is the port on which interpreter will listen.    
interpreter.start()

地点的代码将会在您的历程中运维解释器线程。解释器运转后,您能够经过检查三番五次到现成进度复选框来配置zeppelin连接到RemoteInterpreter
,然后提供如下图所示的解释器过程正在侦听的主机和端口

Betway官网 48

image.png

5.2 解释器安装

Apache Zeppelin提供问询释器安装机制,为他们下载了Zeppelin
netinst二进制包,大概只是想安装另一个第三方解释器。

社区管掌握释器

Apache
Zeppelin提供了多少个解释器作为社区处驾驭释器。借令你下载了netinst二进制包,则需求采纳以下命令举行安装。

安装具备社区管理的解释器

./bin/install-interpreter.sh --all 

安装特定的解释器

./bin/install-interpreter.sh --name md,shell,jdbc,python 

透过运转得到社区军事拘系解释器的全体列表

./bin/install-interpreter.sh --list

5.3 解释器重视管理

你能够经过在解释器菜单中装置注重关系来将表面库包罗到解释器中。

当您的代码须求外表库,实际不是下载/复制/重新起动Zeppelin,您能够轻巧地在那菜单中实行以下作业。

从Maven存储库递归加载库
从本地文件系统加载库
添加额外的maven仓库
自动将库添加到SparkCluster

加载依赖关系到解释器 
点击导航栏中的“解释器”菜单。
点击要加载依赖关系的解释器的“编辑”按钮。
根据需要填写工件和排除字段。您不仅可以输入groupId:artifactId:version,还可以输入工件字段中的本地文件。
按“保存”,使用加载的库重新启动解释器。

Betway官网 49

image.png

**添加用于依赖关系解析的存储库 ** 

1.  按右上角的“解释器”菜单中的图标。它将显示可用的存储库列表。
2.  如果需要解决来自中央maven仓库或本地〜/.m2仓库的依赖关系,请点击[图片上传失败...(image-76600c-1517880679697)] 图标旁边的存储库列表。
3.  填写表单并单击“添加”按钮,您将可以看到添加了新的存储库。
4.  或者,如果您在企业防火墙后面,您还可以指定所有代理设置,以便Zeppelin可以使用给定的凭据下载依赖项

Betway官网 50

image.png

Betway官网 51

image.png

5.4 解释器的模仿客商

运作zeppelin解释器进度作为Web前端客商

在shiro.ini中启用shiro auth

[users]
user1 = password1, role1
user2 = password2, role2 

为要效仿的客户启用无密码ssh(比如user1)。

adduser user1
#ssh-keygen (optional if you don't already have generated ssh-key.
ssh user1@localhost mkdir -p .ssh
cat ~/.ssh/id_rsa.pub | ssh user1@localhost 'cat >> .ssh/authorized_keys' 

抑或取代无密码,客户可以在zeppelin-env.sh 中覆盖ZEPPELIN IMPETiguanSONATE CMD

export ZEPPELIN_IMPERSONATE_CMD='sudo -H -u ${ZEPPELIN_IMPERSONATE_USER} bash -c ' 

启动zeppelin服务器。

Betway官网 52

image.png

转到解释器设置页面,并在别的解释器(在自己的例证中为其解释器)启用“客商模拟”

测试用贰个轻松易行的段落

%sh
whoami

请在意,–proxy-user暗许意况下,“顾客Impersonate”选项的利用将使斯Parker解释器可以运用当前客商的选项。假诺要禁止使用–proxy-user选项,请参见ZEPPELIN_IMPERSONATE_SPARK_PROXY_USER变量inconf/zeppelin-env.sh

5.5 Elasticsearch 解释器

概述

Elasticsearch是一个高度可扩张的开源全文字笔迹考验索和分析引擎。它同意你急速,实时地囤积,寻找和分析大气数目。它平日用作为具备复杂的物色效果和须求的应用程序提供的底层引擎/才能。

Betway官网 53

image.png

Betway官网 54

image.png

注意#1:您能够加上越来越多属性来配置Elasticsearch客户端。

注意#2:若果运用Shield,您能够加多叁个称呼为shield.user富含名称和密码(格式:)的值的天性username:password。有关Shield配置的越来越多详细音信,请参阅Shield参照他事他说加以考查指南。不忘记,在解释器目录(ZEPPELIN_HOME/interpreters/elasticsearch)中复制屏蔽客商端jar

启用弹性搜索解释器
在记录本中,要启用弹性搜索解释器,请单击齿轮Logo,然后选取弹性搜索。

接受弹性寻找解释器
在段落中,用于%elasticsearch选择Elasticsearch解释器,然后输入全体命令。要赢得可用命令的列表,请使用help。

%elasticsearch
help

Elasticsearch interpreter:
General format: <command> /<indices>/<types>/<id> <option> <JSON>
  - indices: list of indices separated by commas (depends on the command)
  - types: list of document types separated by commas (depends on the command)
Commands:
  - search /indices/types <query>
    . indices and types can be omitted (at least, you have to provide '/')
    . a query is either a JSON-formatted query, nor a lucene query
  - size <value>
    . defines the size of the result set (default value is in the config)
    . if used, this command must be declared before a search command
  - count /indices/types <query>
    . same comments as for the search
  - get /index/type/id
  - delete /index/type/id
  - index /index/type/id <json-formatted document>
    . the id can be omitted, elasticsearch will generate one  

升迁:使用(Ctrl +。)进行活动实现。
得到
动用get命令,您能够透过ID查找文档。结果是二个JSON文档。

%elasticsearch
get /index/type/id 

Betway官网 55

image.png

搜索

使用该search命令,您能够向Elasticsearch发送寻找查询。有三种查询格式:

  • 你能够提供JSON格式的查询,那就是你在选取Elasticsearch的REST
    API时提供的。

    • 至于找寻查询的原委的详细音信,请参阅Elasticsearch搜索API参谋文档。
  • 你还足以提供a的剧情query_string

    • 那是一个询问的飞快方式:
      { "query": { "query_string": { "query": "__HERE YOUR QUERY__", "analyze_wildcard": true } } }
    • 有关该类查询的剧情的详细消息,请参阅Elasticsearch查询字符串语法。

%elasticsearch
search /index1,index2,.../type1,type2,...  <JSON document containing the query or query_string elements>  

借使要改正结果集的深浅,可以在追寻命令在此以前拉长一个设置大小的行。

%elasticsearch
size 50
search /index1,index2,.../type1,type2,...  <JSON document containing the query or query_string elements>  

索求查询还足以满含聚合。假如至稀少三个会面,则显示第一个聚众的结果,不然展现搜索命中。
使用JSON查询:

%elasticsearch
search / { "query": { "match_all": { } } }

%elasticsearch
search /logs { "query": { "query_string": { "query": "request.method:GET AND status:200" } } }

%elasticsearch
search /logs { "aggs": {
"content_length_stats": {
  "extended_stats": {
    "field": "content_length"
  }
}
} } 

使用query_string元素:

%elasticsearch
search /logs request.method:GET AND status:200

%elasticsearch
search /logs (404 AND (POST OR DELETE)) 

最首要提示:Elasticsearch中的文书档案是三个JSON文书档案,由此它是档次构造的,并不是SQL表中的生龙活虎行。对于弹性解释器,搜索查询的结果是一望无际的。

如果大家有多少个JSON文档:

{
  "date": "2015-12-08T21:03:13.588Z",
  "request": {
    "method": "GET",
    "url": "/zeppelin/4cd001cd-c517-4fa9-b8e5-a06b8f4056c4",
    "headers": [ "Accept: *.*", "Host: apache.org"]
  },
  "status": "403",
  "content_length": 1234
}  

包涵结果的表格:

Betway官网 56

image.png

你还是能利用预约义的图片:

Betway官网 57

image.png

使用JSON查询:

Betway官网 58

image.png

动用带有田野s参数(用于过滤响应中的字段)的JSON查询:在这里种景观下,响应中的全数字段值都以数组,由此,在平坦化结果之后,全数字段名称的格式为田野_name[x]

Betway官网 59

image.png

运用查询字符串:

Betway官网 60

image.png

动用含有多值度量聚合的询问:

Betway官网 61

image.png

应用带有多桶聚合的查询:

Betway官网 62

image.png

计数

行使该count命令,您能够对一些索引和等级次序中可用的文书档案进行计数。您还足以提供查询。

%elasticsearch
count /index1,index2,.../type1,type2,... <JSON document containing the query OR a query string> 

还未有查询:

Betway官网 63

image.png

有一个查询:

Betway官网 64

image.png

指数

动用该index命令,您能够在Elasticsearch中插入/更新文书档案。

%elasticsearch
index /index/type/id <JSON document>

%elasticsearch
index /index/type <JSON document>  

删除

利用该delete命令,您可以去除文书档案。

%elasticsearch
delete /index/type/id  

行使Zeppelin动态表单

您能够在查询内使用Zeppelin
动态表单。您可以同有的时候候利用text inputselect form参数化功效。

%elasticsearch
size ${limit=10}
search /index/type { "query": { "match_all": { } } } 

5.6 HBase Shell 解释器

概述

HBase
Shell是Apache
HBase的JRuby IRB顾客端。此解释器提供Apache Zeppelin中Apache HBase
shell的装有作用。

解释器假定已设置Apache HBase客户端软件,何况能够从安装Apache
Zeppelin的微机连接收Apache HBase集群。

要从头使用HBase,请参阅HBase
Quickstart。

支持HBase版本

默许意况下,Zeppelin是照准HBase 1.0.x本子而创设的。要动用HBase
1.1.x版本,请使用以下build命令:

# HBase 1.1.4
mvn clean package -DskipTests -Phadoop-2.6 -Dhadoop.version=2.6.0 -P build-distr -Dhbase.hbase.version=1.1.4 -Dhbase.hadoop.version=2.6.0 

要利用HBase 1.2.0+,请使用以下build命令:

# HBase 1.2.0
mvn clean package -DskipTests -Phadoop-2.6 -Dhadoop.version=2.6.0 -P build-distr -Dhbase.hbase.version=1.2.0 -Dhbase.hadoop.version=2.6.0

配置

Betway官网 65

image.png

假如要三回九转到集合上运营的HBase,则必要进行下一步。

导出HBASE_HOME

在conf/zeppelin-env.sh中,HBASE_HOME使用HBase安装路线导出碰到变量。这样能够保障hbase-site.xml能够加载。
例如:

export HBASE_HOME=/usr/lib/hbase 
或者用CDH运行时
export HBASE_HOME="/opt/cloudera/parcels/CDH/lib/hbase" 

您能够选择性地说话HBASE_CONF_DIR,而不是HBASE_HOME你应当有自定义的HBase的配备。

启用HBase Shell解释器

在记录本中,要启用HBase Shell解释器,请单击GearLogo,然后选取HBase
Shell。

使用HBase Shell解释器

在段落中,用于%hbase接收HBase
Shell解释器,然后输入全体命令。要得到可用命令的列表,请使用help。

%hbase
help 

譬喻说,创设叁个表

%hbase
create 'test', 'cf' 

下一场将数据放入该表中

%hbase
put 'test', 'row1', 'cf:a', 'value1' 

5.7 Hive 解释器

器重的唤起
Hive Interpreter将被弃用并统大器晚成到JDBC
Interpreter中。您能够使用具备雷同效果的JDBC解释器使用Hive
Interpreter。请参阅下边包车型客车设置和信赖关系示例。

Betway官网 66

image.png

概述

在Apache
Hive™
数据酒馆软件便于查询和保管驻留在布满式存款和储蓄大型数据集。Hive提供了后生可畏种体制来将协会投影到那一个多少上,并采纳相近SQL的言语HiveQL查询数据。同时,这种语言还允许古板的map/reduce程序猿在HiveQL中宣布这种逻辑不方便人民群众或低效时插入自定义映射器和减削器。

怎样行使

超多能够运用

%hive
select * from my_table; 

%hive(etl)
-- 'etl' is a ${prefix}
select * from my_table; 

私下认可景况下,您还足以运作多达十三个查询。校正那些设置没有完毕。

利用Zeppelin动态表单

您能够在询问内利用Zeppelin
动态表单。您能够同不时候利用text inputselect form参数化效用。

%hive
SELECT ${group_by}, count(*) as count
FROM retail_demo.order_lineitems_pxf
GROUP BY ${group_by=product_id,product_id|product_name|customer_id|store_id}
ORDER BY count ${order=DESC,DESC|ASC}
LIMIT ${limit=10}; 

5.8 JDBC通用 解释器(首要关键卡塔尔国

概述

JDBC解释器允许你无缝地创立到别的数据源的JDBC连接。
在运作每种语句后,将随时使用插入,更新和升高。
到近来甘休,已经由此以下测量检验:

Betway官网 67

image.png

创制二个新的JDBC解释器

首先,+ Create在解释器设置页面包车型大巴右上角单击按键。

Betway官网 68

image.png

Interpreter
name用别样你想要用作小名的填充字段(如mysql,mysql2,hive,redshift等)。请留神,此别新秀用于%interpreter_name在段落中调用解释器。然后接纳jdbc为Interpreter
group。

Betway官网 69

image.png

JDBC解释器的默许驱动程序设置为PostgreSQL。这象征Zeppelin
PostgreSQL本人就包含驱动程序jar。由此,您无需为延续增添任何依靠项(举例PostgreSQL驱动程序jar
的工件名称或路线)PostgreSQL。JDBC解释器属性默断定义如下。

Betway官网 70

image.png

要是您想连接别的数据库如MysqlRedshiftHive,你供给编写制定的属性值。您还足以接受Credential进展JDBC身份验证。在解释器设置页面中,假如default.userdefault.password特性被删除(使用X开关)实行数据库连接,则JDBC解释器将从Credential赢得帐户信息。

下边的例证是Mysql连接。

Betway官网 71

image.png

终极一步是信赖关系设置。由于Zeppelin
PostgreSQL私下认可仅包涵驱动程序jar,由此你需求为任何数据库增加各样驱动程序的maven坐标或JDBC驱动程序的jar文件路线。

Betway官网 72

image.png

更加多属性
您能够在底下钦点越来越多的JDBC解释器属性。

Betway官网 73

image.png

将JDBC插件绑定到台式机
要绑定解释器设置页面中创制的口译员,请单击右上角的齿轮Logo。

Betway官网 74

image.png

据书上说用例选拔(银色)或注销采纳(黑色)解释器开关。假诺您须求在记录本中利用多少个解释器,请激活多少个开关。不要遗忘点击Save按键,不然你将直面Interpreter
*** is not found错误。

Betway官网 75

image.png

哪些行使
使用JDBC解释器运营段落
要测验你的数据库和Zeppelin是还是不是中标连接,请在段落的最上部输入

%jdbc_interpreter_name
show databases 

假定段落FINISHED未有别的不当,则会在上叁个以往自动抬高三个新的段落%jdbc_interpreter_name。所以你不须要在各类段落的标题中键入那个前缀。

Betway官网 76

image.png

接受Zeppelin动态表单

你能够在查询内采纳Zeppelin
动态表单。您能够动用参数化功用text inputselect form参数化作用。

%jdbc_interpreter_name
SELECT name, country, performer
FROM demo.performers
WHERE name='{{performer=Sheryl Crow|Doof|Fanfarlo|Los Paranoia}}' 

例子
以下是您能够参照的片段例子。富含以下连接器,您能够连接各种数据库,只要它能够配备它的JDBC驱动程序。

Betway官网 77

image.png

Betway官网 78

image.png

Betway官网 79

image.png

Betway官网 80

image.png

Betway官网 81

image.png

Betway官网 82

image.png

5.9 Markdown 解释器

概述

Markdown是风姿洒脱种纯文本格式化语法,能够将其改造为HTML。Apache
Zeppelin使用pegdown和markdown4j作为markdown解析器。

在Zeppelin台式机中,您可以%md在段落的初始使用Markdown解释器,并从Markdown纯文本生成静态html。

在Zeppelin中,Markdown解释器暗许启用,并运用pegdown解析器。

Betway官网 83

image.png

案例

以下示例演示了Zeppelin台式机中Markdown的为主用法。

Betway官网 84

image.png

数学表明

Markdown解释器在此中利用%html展现系统。那代表你能够将数学表明式与markdown语法相结合。有关更加的多新闻,请参阅数学表明部分。

配置

Betway官网 85

image.png

5.10 Python 2&3解释器

Betway官网 86

image.png

Betway官网 87

image.png

Betway官网 88

image.png

Betway官网 89

image.png

Betway官网 90

image.png

5.11 Shell 解释器

Betway官网 91

image.png

5.12 斯Parker 解释器(主要关键)

Betway官网 92

image.png

Betway官网 93

image.png

Betway官网 94

image.png

%spark.dep
z.reset() // clean up previously added artifact and repository

// add maven repository
z.addRepo("RepoName").url("RepoURL")

// add maven snapshot repository
z.addRepo("RepoName").url("RepoURL").snapshot()

// add credentials for private maven repository
z.addRepo("RepoName").url("RepoURL").username("username").password("password")

// add artifact from filesystem
z.load("/path/to.jar")

// add artifact from maven repository, with no dependency
z.load("groupId:artifactId:version").excludeAll()

// add artifact recursively
z.load("groupId:artifactId:version")

// add artifact recursively except comma separated GroupID:ArtifactId list
z.load("groupId:artifactId:version").exclude("groupId:artifactId,groupId:artifactId, ...")

// exclude with pattern
z.load("groupId:artifactId:version").exclude(*)
z.load("groupId:artifactId:version").exclude("groupId:artifactId:*")
z.load("groupId:artifactId:version").exclude("groupId:*")

// local() skips adding artifact to spark clusters (skipping sc.addJar())
z.load("groupId:artifactId:version").local() 

Betway官网 95

image.png

Betway官网 96

image.png

Betway官网 97

image.png

6.Apache Zeppelin平安难点

6.1 Shiro 授权

概述

Apache
Shiro

是多个成效强盛且轻巧使用的** Java**
安全框架,可施行身份验证,授权,加密和对话管理。在本文书档案中,我们将逐级介绍
Shiro 怎么样用于 Zeppelin ****notebook authentication (
台式机验证 卡塔尔。
当您连接到 Apache Zeppelin
时,系统将要求你输入凭据。登入后,您能够访问包涵其余客商注释在内的有所备注。

康宁设置

你能够经过一些粗略的步调设置 Zeppelin notebook authentication

(1).启用 Shiro

私下认可情状下是在 conf ,你将会找到 shiro.ini.template
,以此文件为例,刚强提出您通过施行以下命令创造文件 shiro.ini

cp conf/shiro.ini.template conf/shiro.ini

(2).Secure the Websocket channel ( 固定 WebSocket 通道 )

在 conf/zeppelin-site.xml 中设置属性 zeppelin.anonymous.allowed 为 false
。假如你尚未这些文件,只需将 conf/zeppelin-site.xml.template 复制到
conf/zeppelin-site.xml 。

(3).启动Zeppelin

bin/zeppelin-daemon.sh start (or restart)

下一场您能够浏览 Zeppelin
http://localhost:8080

(4).登录

最后,您能够动用以下 客商名/密码 组合之后生可畏实行登入。

Betway官网 98

image.png

[users]

admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2

你可以为密码旁边的各个客商设置剧中人物。

Groups and permissions (optional卡塔尔(英语:State of Qatar) ( 组和权杖(可选卡塔尔(قطر‎ 卡塔尔(英语:State of Qatar)
如果要采用客户组和权杖,请在 shiro.ini 中的 [main] 段下使用 LDAP 或 AD
的以下配置之生机勃勃。

activeDirectoryRealm = org.apache.zeppelin.realm.ActiveDirectoryGroupRealm
activeDirectoryRealm.systemUsername = userNameA
activeDirectoryRealm.systemPassword = passwordA
activeDirectoryRealm.searchBase = CN=Users,DC=SOME_GROUP,DC=COMPANY,DC=COM
activeDirectoryRealm.url = ldap://ldap.test.com:389
activeDirectoryRealm.groupRolesMap = "CN=aGroupName,OU=groups,DC=SOME_GROUP,DC=COMPANY,DC=COM":"group1"
activeDirectoryRealm.authorizationCachingEnabled = false

ldapRealm = org.apache.zeppelin.server.LdapGroupRealm
# search base for ldap groups (only relevant for LdapGroupRealm):
ldapRealm.contextFactory.environment[ldap.searchBase] = dc=COMPANY,dc=COM
ldapRealm.contextFactory.url = ldap://ldap.test.com:389
ldapRealm.userDnTemplate = uid={0},ou=Users,dc=COMPANY,dc=COM
ldapRealm.contextFactory.authenticationMechanism = SIMPLE

还要定义系统中要有所的剧中人物/组,如下所示;

[roles]
admin = *
hr = *
finance = *
group1 = *

Configure Realm (optional卡塔尔(英语:State of Qatar) ( 配置领域(可选卡塔尔(قطر‎ 卡塔尔

世界担负** Apache Zeppelin** 的身份验证和授权。暗许情形下,Apache
Zeppelin
使用
IniRealm
(客商和组可配置在 conf/shiro.ini 文件** [user]
[group]** 部分)。您还是能行使** Shiro Realms** ,如
JndiLdapRealm
,**
JdbcRealm
**或创建
小编们团结一心的
。要明白有关 Apache Shiro 领域的越多音信,请查看
此文档。

小编们还提供社区自定义领域。

(5卡塔尔国活动目录

activeDirectoryRealm = org.apache.zeppelin.realm.ActiveDirectoryGroupRealm
activeDirectoryRealm.systemUsername = userNameA
activeDirectoryRealm.systemPassword = passwordA
activeDirectoryRealm.hadoopSecurityCredentialPath = jceks://file/user/zeppelin/conf/zeppelin.jceks
activeDirectoryRealm.searchBase = CN=Users,DC=SOME_GROUP,DC=COMPANY,DC=COM
activeDirectoryRealm.url = ldap://ldap.test.com:389
activeDirectoryRealm.groupRolesMap = "CN=aGroupName,OU=groups,DC=SOME_GROUP,DC=COMPANY,DC=COM":"group1"
activeDirectoryRealm.authorizationCachingEnabled = false

而不是在 shiro.ini 管理员的明文中钦点 systemPassword 管理员还可以在
“hadoop凭据” 中内定相仿。使用 hadoop 凭据命令行创造密钥库文件,因为
hadoop commons 应该在类路线中

hadoop credential create activeDirectoryRealm.systempassword -provider jceks://file/user/zeppelin/conf/zeppelin.jceks

纠正Shiro.ini文件中的以下值,并收回注释行:

activeDirectoryRealm.hadoopSecurityCredentialPath = jceks://file/user/zeppelin/conf/zeppelin.jceks

LDAP

ldapRealm = org.apache.zeppelin.realm.LdapGroupRealm
# search base for ldap groups (only relevant for LdapGroupRealm):
ldapRealm.contextFactory.environment[ldap.searchBase] = dc=COMPANY,dc=COM
ldapRealm.contextFactory.url = ldap://ldap.test.com:389
ldapRealm.userDnTemplate = uid={0},ou=Users,dc=COMPANY,dc=COM
ldapRealm.contextFactory.authenticationMechanism = SIMPLE

PAM

PAM
认证补助允许在 Zeppelin
正在运营的主机上海重机厂用现存的证实模块。在第一级的系统模块中,每一个服务配置举个例子
sshd ,** passwd** 等 /etc/pam.d/。您可以重复采取这几个服务之后生可畏或为 Zeppelin 创立自个儿的服务。激活
PAM 认证须要三个参数:1. realm:正在使用的 Shiro 域 2.
service :配置为运用的服务 /etc/pam.d/
。这里的称谓须求与下部的文件名相通 /etc/pam.d/

[main]
 pamRealm=org.apache.zeppelin.realm.PamRealm
 pamRealm.service=sshd

ZeppelinHub

ZeppelinHub
是大器晚成种服务,可同步您的 Apache Zeppelin 台式机,并使你轻便合作。

为了使登入您的 ZeppelinHub 证书,应用以下浮动**conf/shiro.ini**
**[main]**节。

### A sample for configuring ZeppelinHub Realm
zeppelinHubRealm = org.apache.zeppelin.realm.ZeppelinHubRealm
## Url of ZeppelinHub
zeppelinHubRealm.zeppelinhubUrl = https://www.zeppelinhub.com
securityManager.realms = $zeppelinHubRealm

保险你的Zeppelin音信(可选)

私下认可情形下,定义的任哪个人都 [users] 能够在 Apache Zeppelin
中国共产党享解释器设置,凭证和配置新闻。不经常你也许希望隐蔽这几个用于您的用例的新闻。由于
Shiro 提供了基于 U福睿斯L
的安全性,您能够通过在底下的行中注释或撤除注释来掩藏新闻 conf/shiro.ini

[urls]
/api/interpreter/** = authc, roles[admin]
/api/configurations/** = authc, roles[admin]
/api/credential/** = authc, roles[admin]

在这里种情况下,只有具有 admin
剧中人物的剧中人物能力看出解释器设置,凭据和安顿音讯。若是要向别的客户付与此权限,您能够依据留意气风发部分中定义的剧中人物[]开展改正
[users] 。

6.2 台式机授权

概述

我们倘诺有叁个Shiro
Authentication
零器件,它将客商字符串和朝气蓬勃组组字符串与每一个NotebookSocket相关联。即便您未有安装身份验证组件,请先检查Apache
Zeppelin的Shiro身份验证。

授权设置

您能够在各种台式机中安装Zeppelin台式机的权柄。当然唯有台式机具有者能够更换这么些布局。只需单击锁定Logo,然后打开台式机中的权限设置页面。
你能够观察,各样Zeppelin台式机有3个实体:
Owners ( users or groups )
Readers ( users or groups )
Writers ( users or groups )

Betway官网 99

image.png

用逗号分隔的客商和组中配置的conf/shiro.ini文件填写每一个表单。假使表单为空(*),则表示别的客商都可以举行该操作。
若无读权限的人品尝访谈台式机Computer,可能尚未写权限的人正在品尝编辑台式机,则Zeppelin将供给登陆或堵住客户。

Betway官网 100

image.png

Betway官网 101

image.png

6.3 数据源授权

概述

数据源授权涉及对数据源实行身份验证,如 Mysql 数据库,并显明顾客权限。
Apache Zeppelin 允许客户使用自身的凭据与数据源进行身份验证。

譬如说,借使您在全体凭据的 Vertica
数据库中有三个帐户。您或者希望利用此帐户成立叁个 JDBC 连接,并非在
conf / shiro.ini
中定义的保有客户创设叁个分享帐户。在这里种气象下,您可以将凭据音讯增多到
Apache Zeppelin 中,并使用以下轻巧步骤。

How to save the credential information? ( 怎样保存证据消息? 卡塔尔(英语:State of Qatar)

你能够在数据源的下拉菜单中增加新的凭证,能够传递给解释器。

Betway官网 102

image.png

Entity ( 实体 卡塔尔(英语:State of Qatar) 能够是分别各样凭证集的主要(大家提出** Entity**
( 实体 卡塔尔(قطر‎ 的常规是 [Interpreter Group].[Interpreter Name]
)请查看
疏解器组
的详细消息。

键入顾客名和密码为你自个儿的证据。 ex)** MySQL** 解释器的 Mysql
顾客和密码。

Betway官网 103

image.png

根据** conf / shiro.ini** 中定义的客户保存证据。要是你没有在
Apache Zeppelin 中激活 shiro
身份验证,则您的证据新闻将被保存为佚名。全部凭证新闻也得以在
conf / credentials.json 中找到。

JDBC interpreter ( JDBC解释器 )

您要求维护各种客商的连接池。解释方式将客商字符串作为参数,并应用客户连接池中的连接试行jdbc 调用。

Presto

如果** Presto DB** 服务器使用客商的 HDFS
授权运转后端代码,则无需密码。

Vertica and Mysql

你必需存款和储蓄客户的密码新闻。

相关文章