专栏首页AILearningApache Zeppelin配置

Apache Zeppelin配置

Zeppelin Properties

有两个位置可以配置Apache Zeppelin。

  • 环境变量可以被定义conf/zeppelin-env.shconf\zeppelin-env.cmd适用于Windows)。
  • Java属性可以定义在conf/zeppelin-site.xml

如果两者都被定义,则环境变量将被优先考虑。

zeppelin-env.sh

zeppelin-site.xml

默认值

描述

ZEPPELIN_PORT

zeppelin.server.port

8080

Zeppelin服务器端口 注意:请确保您没有使用与Zeppelin Web应用程序开发端口相同的端口(默认值:9000)。

ZEPPELIN_SSL_PORT

zeppelin.server.ssl.port

8443

Zeppelin Server ssl端口(当ssl环境/属性设置为true时使用)

ZEPPELIN_MEM

N/A

-Xmx1024m -XX:MaxPermSize=512m

JVM mem 选项

ZEPPELIN_INTP_MEM

N/A

ZEPPELIN_MEM

用于解释程序的JVM mem选项

ZEPPELIN_JAVA_OPTS

N/A

JVM 选项

ZEPPELIN_ALLOWED_ORIGINS

zeppelin.server.allowed.origins

*

启用一种方式来指定REST和Websockets的允许起源的“,”分隔列表。 例如: http://localhost:8080

N/A

zeppelin.anonymous.allowed

true

默认情况下允许匿名(anonymous)用户。

ZEPPELIN_SERVER_CONTEXT_PATH

zeppelin.server.context.path

/

Web应用程序的上下文路径

ZEPPELIN_SSL

zeppelin.ssl

false

ZEPPELIN_SSL_CLIENT_AUTH

zeppelin.ssl.client.auth

false

ZEPPELIN_SSL_KEYSTORE_PATH

zeppelin.ssl.keystore.path

keystore

ZEPPELIN_SSL_KEYSTORE_TYPE

zeppelin.ssl.keystore.type

JKS

ZEPPELIN_SSL_KEYSTORE_PASSWORD

zeppelin.ssl.keystore.password

ZEPPELIN_SSL_KEY_MANAGER_PASSWORD

zeppelin.ssl.key.manager.password

ZEPPELIN_SSL_TRUSTSTORE_PATH

zeppelin.ssl.truststore.path

ZEPPELIN_SSL_TRUSTSTORE_TYPE

zeppelin.ssl.truststore.type

ZEPPELIN_SSL_TRUSTSTORE_PASSWORD

zeppelin.ssl.truststore.password

ZEPPELIN_NOTEBOOK_HOMESCREEN

zeppelin.notebook.homescreen

显示Apache Zeppelin主屏幕上的注释ID, 例如: 2A94M5J1Z

ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE

zeppelin.notebook.homescreen.hide

false

隐藏在ZEPPELIN_NOTEBOOK_HOMESCREENApache Zeppelin主屏幕上设置的音符ID 。 有关更多信息,请参阅自定义您的Zeppelin主页。

ZEPPELIN_WAR_TEMPDIR

zeppelin.war.tempdir

webapps

jetty临时目录的位置

ZEPPELIN_NOTEBOOK_DIR

zeppelin.notebook.dir

notebook

保存笔记本电脑目录的根目录

ZEPPELIN_NOTEBOOK_S3_BUCKET

zeppelin.notebook.s3.bucket

zeppelin

将存储笔记本文件的S3 Bucket

ZEPPELIN_NOTEBOOK_S3_USER

zeppelin.notebook.s3.user

user

S3桶的用户名, 例如: bucket/user/notebook/2A94M5J1Z/note.json

ZEPPELIN_NOTEBOOK_S3_ENDPOINT

zeppelin.notebook.s3.endpoint

s3.amazonaws.com

桶的端点

ZEPPELIN_NOTEBOOK_S3_KMS_KEY_ID

zeppelin.notebook.s3.kmsKeyID

用于S3中加密数据的AWS KMS密钥ID(可选)

ZEPPELIN_NOTEBOOK_S3_EMP

zeppelin.notebook.s3.encryptionMaterialsProvider

用于S3中加密数据的自定义S3加密资料提供者实现的类名称(可选)

ZEPPELIN_NOTEBOOK_AZURE_CONNECTION_STRING

zeppelin.notebook.azure.connectionString

Azure存储帐户连接字符串 例如: DefaultEndpointsProtocol=https; AccountName=<accountName>; AccountKey=<accountKey>

ZEPPELIN_NOTEBOOK_AZURE_SHARE

zeppelin.notebook.azure.share

zeppelin

Azure共享笔记本文件将被保存

ZEPPELIN_NOTEBOOK_AZURE_USER

zeppelin.notebook.azure.user

user

Optional user name of an Azure file share e.g. share/user/notebook/2A94M5J1Z/note.json

ZEPPELIN_NOTEBOOK_STORAGE

zeppelin.notebook.storage

org.apache.zeppelin.notebook.repo.GitNotebookRepo

逗号分隔的笔记本存储位置列表

ZEPPELIN_NOTEBOOK_ONE_WAY_SYNC

zeppelin.notebook.one.way.sync

false

如果有多个笔记本电脑存储位置,我们应该把第一个视为真理的唯一来源吗?

ZEPPELIN_NOTEBOOK_PUBLIC

zeppelin.notebook.public

true

owners创建/导入默认情况下,将笔记本设为公开(仅限设置)。如果设置为false将添加user到readers和writers为好,使其成为私人和无形的给其他用户,除非授予权限。

ZEPPELIN_INTERPRETERS

zeppelin.interpreters

org.apache.zeppelin.spark.SparkInterpreter, org.apache.zeppelin.spark.PySparkInterpreter, org.apache.zeppelin.spark.SparkSqlInterpreter, org.apache.zeppelin.spark.DepInterpreter, org.apache.zeppelin.markdown.Markdown, org.apache.zeppelin.shell.ShellInterpreter, ...

逗号分隔的解释器配置[Class]  注意:此属性自Zeppelin-0.6.0起已弃用,Zeppelin-0.7.0将不受支持。

ZEPPELIN_INTERPRETER_DIR

zeppelin.interpreter.dir

interpreter

Interpreter 目录

ZEPPELIN_INTERPRETER_DEP_MVNREPO

zeppelin.interpreter.dep.mvnRepo

http://repo1.maven.org/maven2/

解释器附加依赖加载的远程主体存储库

ZEPPELIN_DEP_LOCALREPO

zeppelin.dep.localrepo

local-repo

依赖加载器的本地存储库。 ex)npm的可视化模块。

ZEPPELIN_HELIUM_NPM_REGISTRY

zeppelin.helium.npm.registry

http://registry.npmjs.org/

Helium依赖加载器的远程Npm注册表

ZEPPELIN_WEBSOCKET_MAX_TEXT_MESSAGE_SIZE

zeppelin.websocket.max.text.message.size

1024000

可以由websocket接收的最大文本消息的大小(字符)。

SSL配置

启用SSL需要进行一些配置更改。首先,您需要创建证书,然后更新必要的配置,以启用服务器端SSL和/或客户端证书身份验证。

创建和配置证书

信息如何生成证书和密钥库可以在这里找到。

这个StackOverflow帖子的顶部答案中可以找到一个精简的例子。

密钥库在服务器端保存私钥和证书。trustore拥有可信赖的客户端证书。请确保在以下密码字段中正确配置了这两个存储区的路径和密码。他们可以使用Jetty密码工具进行混淆。之后,Maven引用了所有依赖关系构建Zeppelin,其中一个Jetty jar包含了密码工具。使用适当的版本,用户和密码从Zeppelin home构建目录调用此命令。

java -cp ./zeppelin-server/target/lib/jetty-all-server-<version>.jar org.eclipse.jetty.util.security.Password <user> <password>

如果您使用自签名,由不受信任的CA签名的证书,或者启用客户端身份验证,则客户端必须具有浏览器才能为正常的HTTPS端口和WebSocket端口创建异常。这可以通过尝试在浏览器中建立到两个端口的HTTPS连接(例如,如果端口是443和8443,然后访问https://127.0.0.1:443和https://127.0.0.1:8443)。如果服务器证书由受信任的CA签名并且客户端验证被禁用,则可以跳过此步骤。

配置服务器端SSL

需要更新以下属性zeppelin-site.xml才能启用服务器端SSL。

<property>   <name>zeppelin.server.ssl.port</name>   <value>8443</value>   <description>Server ssl port. (used when ssl property is set to true)</description> </property>   <property>   <name>zeppelin.ssl</name>   <value>true</value>   <description>Should SSL be used by the servers?</description> </property>   <property>   <name>zeppelin.ssl.keystore.path</name>   <value>keystore</value>   <description>Path to keystore relative to Zeppelin configuration directory</description> </property>   <property>   <name>zeppelin.ssl.keystore.type</name>   <value>JKS</value>   <description>The format of the given keystore (e.g. JKS or PKCS12)</description> </property>   <property>   <name>zeppelin.ssl.keystore.password</name>   <value>change me</value>   <description>Keystore password. Can be obfuscated by the Jetty Password tool</description> </property>   <property>   <name>zeppelin.ssl.key.manager.password</name>   <value>change me</value>   <description>Key Manager password. Defaults to keystore password. Can be obfuscated.</description> </property>

启用客户端证书认证

zeppelin-site.xml为了启用客户端证书认证,需要更新以下属性。

<property>   <name>zeppelin.server.ssl.port</name>   <value>8443</value>   <description>Server ssl port. (used when ssl property is set to true)</description> </property>   <property>   <name>zeppelin.ssl.client.auth</name>   <value>true</value>   <description>Should client authentication be used for SSL connections?</description> </property>   <property>   <name>zeppelin.ssl.truststore.path</name>   <value>truststore</value>   <description>Path to truststore relative to Zeppelin configuration directory. Defaults to the keystore path</description> </property>   <property>   <name>zeppelin.ssl.truststore.type</name>   <value>JKS</value>   <description>The format of the given truststore (e.g. JKS or PKCS12). Defaults to the same type as the keystore type</description> </property>   <property>   <name>zeppelin.ssl.truststore.password</name>   <value>change me</value>   <description>Truststore password. Can be obfuscated by the Jetty Password tool. Defaults to the keystore password</description> </property>

使用Jetty密码工具模糊密码

安全最佳做法建议不要使用纯文本密码,Jetty提供了一个密码工具来帮助模糊用于访问KeyStore和TrustStore的密码。

密码工具文档可以在这里找到。

使用该工具后:

java -cp $ZEPPELIN_HOME/zeppelin-server/target/lib/jetty-util-9.2.15.v20160210.jar \          org.eclipse.jetty.util.security.Password  \          password   2016-12-15 10:46:47.931:INFO::main: Logging initialized @101ms password OBF:1v2j1uum1xtv1zej1zer1xtn1uvk1v1v MD5:5f4dcc3b5aa765d61d8327deb882cf99

使用模糊密码更新您的配置:

<property>   <name>zeppelin.ssl.keystore.password</name>   <value>OBF:1v2j1uum1xtv1zej1zer1xtn1uvk1v1v</value>   <description>Keystore password. Can be obfuscated by the Jetty Password tool</description> </property>

注意:更新这些配置后,需要重新启动Zeppelin服务器。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【机器学习实战】第7章 集成方法 ensemble method

    第7章 集成方法 ensemble method ? 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:...

    片刻
  • Apache Spark 2.2.0 中文文档 - 集群模式概述 | ApacheCN

    集群模式概述 该文档给出了 Spark 如何在集群上运行、使之更容易来理解所涉及到的组件的简短概述。通过阅读 应用提交指南 来学习关于在集群上启动应用。 ...

    片刻
  • Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南 | ApacheCN

    Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized ...

    片刻
  • https证书

    获取certbot wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto 安装nginx yu...

    零月
  • EventBus in SAP UI5 and Kyma

    EventBus是一个小型的subscribe/publish模式实现,位于namespace sap.ui.core下面。

    Jerry Wang
  • 10个需要澄清的边缘计算误区

    对于不同的技术领导者来说,边缘计算意味着不同的东西,从“云计算之外的事物”到“捕获、存储、处理、分析最接近生成位置的数据的实践”。需要了解边缘计算是什么,同样重...

    静一
  • NoteBook学习(二)-------- Zeppelin简介与安装

      多用途的笔记本。数据的采集 发现 分析 可视化 协作。。 支持20+种后端语言,支持多种解释器 内置集成Spark

    实时计算
  • Airtest跨平台的UI自动化测试框架(二)

    Configparser具体操作方法 第一步,新建一个ini文件,例如config.ini,然后编辑session,key,value字段。

    用户5521279
  • 5款Python程序员高频使用开发工具推荐

    本来想推荐 fish 或者 zsh,但其实这两个我也主要是贪图自动补全这个特性。最近在用的这个 Upterm 其实很简单好用,它是一个全平台的终端,可以说是终端...

    python学习教程
  • 向边缘计算的转变正在迅速发生的原因

    无论人们称之为第四次工业革命还是数字化转型,企业IT都在不断地快速发生变化,而边缘计算就是其中的一个。如今,边缘计算的范式正在改变,很多人日益关注边缘计算。

    静一

扫码关注云+社区

领取腾讯云代金券