SKIL/工作流程/添加更多Zeppelin实例
添加更多Zeppelin实例
当SKIL启动时,它将默认创建一个名为“Default Zeppelin”(在端口8080上)的zeppelin服务器进程。此服务器负责管理SKIL中“实验”的笔记本。除了默认的Zeppelin服务器,还有一个默认的Zeppelin解释器进程(以“Default Interpreter”的名称),负责执行笔记本中的段落(在端口6500上运行)。下图显示了Zeppelin服务器及其解释器的两个进程。
The Zeppelin server and the interpreter process connected to it image.gif Zeppelin服务器和与其连接的解释器进程
为什么要有更多的Zeppelin服务器实例?
所有的笔记本都在Zeppelin服务器里运行。当Zeppelin服务器执行笔记本时,它实际上不能做任何其他事情。此外,由于笔记本是全局的,因此,如果在一个笔记本中创建一个“foo”变量,其他使用其他笔记本的用户将可以看到它(并且可能会弄乱它们的代码)。所以,如果你想让多个人在一个SKIL集群中工作,你需要多个Zeppelin服务器。
你可以使用skil zeppelin
和 skil zeppelinInterpreter
命令创建额外的zeppelin服务器。最简单的形式中,用法如下:
# 如果没有设置SKIL_HOME和JAVA_HOME变量,请取消对以下行的注释
# export SKIL_HOME=/opt/skil
# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
# 先授权
$SKIL_HOME/sbin/skil login --userId admin --password admin # 你可能有不同的用户名和密码,请相应地替换它们。
# 创建Zeppelin服务器
$SKIL_HOME/sbin/skil zeppelin --name Zeppelin2 --interpreterPort 6560 --zeppelinPort 8140
# 创建解释器进程
$SKIL_HOME/sbin/skil zeppelinInterpreter --interpreterPort 6560
image.gif
你可以连接到端口8140上的新Zeppelin服务器,就像连接到默认的Zeppelin实例一样。
The new Zeppelin server running on port 8140 image.gif 在8140端口上运行的新Zeppelin服务器
你还可以在skil用户界面的“进程(PROCESSES)”选项卡下查看新的Zeppelin解释器进程(参见下图)。
新zeppelin服务器及其解释器的新进程
由于我们没有将--name
参数与zeppelinInterpreter命令
一起使用,系统为zeppelin interpreter进程创建了一个随机名称,其模式为 {thinking synonym}<space>{ML pioneer}。
还可以使用以下命令查看进程列表。
$SKIL_HOME/sbin/skil processes
image.gif
Zeppelin服务器的默认参数
zeppelin和zeppelin解释器子命令的其他参数及其默认值为:
对于 "skil zeppelin"
| 参数 | 默认值 |
| master | local[*] |
| zeppelinHost | 0.0.0.0 |
| zeppelinPort | 8080 |
| zeppelinUserName | admin |
| zeppelinPassword | admin |
| zeppelinMemory | 1000 |
| zeppelinHome | /tmp/zeppelinhome |
| zeppelinNotebookDirectory | /tmp/zeppelinhome/notebooks |
| zeppelinWarDir | /tmp/zeppelinhome |
| zeppelinConfDir | /tmp/zeppelinhome/conf |
| zeppelinBinDir | /tmp/zeppelinhome/bin |
| zeppelinInterpreterDir | /tmp/zeppelinhome/interpreter |
| zeppelinLocalRepo | /tmp/zeppelinhome/local-repo |
| deleteInterpreterRepoOnStartup | False |
| interpreterPort | 6500 |
| zeppelinLogFile | /tmp/zeppelinhome/zeppelin.log |
对于 "skil zeppelinInterpreter"
| 参数 | 默认值 |
| zeppelinHome | /tmp/zeppelinhome |
| zeppelinInterpreterDir | /tmp/zeppelinhome/interpreter |
| interpreterPort | 6500 |
在实验中使用新的Zeppelin服务器
现在你可以用同样的方法创建你的实验,但是选择新的Zeppelin服务器。
Utilizing the new Zeppelin server in experiments image.gif 在实验中使用新的Zeppelin服务器