zeppelin高可用部署

2022-01-18 18:33:10 浏览数 (1)

这边所说的zeppelin高可用不是传统意义上的HA模式,而是利用统一的配置文件,在一个zeppelin server挂掉之后,在另一个zeppelin server从统一配置文件再恢复到原有作业模式。在集群中,同时仅存在一个zeppelin server服务。

下面描述如何配置。

环境准备

服务器以及组件安装位置:

服务器名称

hadoop

hadoop1

组件名称

hdfs

hdfs

组件名称

zeppelin

zeppelin

说明:

  • hadoop和hadoop1组成hdfs集群。
  • zeppelin位于hadoop和hadoop1上,其配置完全相同。

zeppelin配置

为了配置两台机器中,一台zeppelin server挂掉之后另一台机器能够接管上面运行的任务,需要做如下配置。

注意,两台zeppelin server配置完全相同。

修改zeppelin-site.xml,设置zeppelin.notebook.storage和zeppelin.notebook.dir为如下所示,该配置表示将notebook存储于hdfs上:

代码语言:javascript复制
<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>

<property>
  <name>zeppelin.notebook.dir</name>
  <value>hdfs://hadoop:9000/zeppelin-notebook</value>
  <description>path or URI for notebook persist</description>
</property>Copy

修改zeppelin-site.xml,设置zeppelin.recovery.storage.class和zeppelin.recovery.dir为如下所示,该配置表示启用zeppelin的恢复功能,并将回复信息放在hdfs上:

代码语言:javascript复制
<property>
  <name>zeppelin.recovery.storage.class</name>
  <value>org.apache.zeppelin.interpreter.recovery.FileSystemRecoveryStorage</value>
  <description>ReoveryStorage implementation based on hadoop FileSystem</description>
</property>

<property>
  <name>zeppelin.recovery.dir</name>
  <value>hdfs://hadoop:9000/zeppelin-recovery</value>
  <description>Location where recovery metadata is stored</description>
</property>Copy

基本测试

接下来以一个Flink SQL任务为例进行测试。

首先在hadoop主机上启动zeppelin server

提交任务

查看flink作业

停止hadoop主机上的zeppelin server

在hadoop1主机上启动zeppelin server

在hadoop1主机上查看任务情况

我们可以发现,hadoop1已经接管了hadoop之前运行的任务。

总结

基于上述方式,可以达到一台zeppelin server主机宕机,利用另一台zeppelin server主机接管原有任务,达到高可用的目的。

本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://cloud.tencent.com/developer/article/1936355

0 人点赞