Zeppelin笔记本电脑和口译员在Kubernetes入口后丢失

问题描述 投票:0回答:1

[在遇到使Kubernetes入口到达我的Zeppelin容器后,缺少解释器的问题。

我正在Kubernetes上运行Zeppelin 0.8.2,当它不在入口后面时,一切都可以正常工作。我可以在笔记本创建弹出窗口中选择默认解释器,然后运行段落而不会出现问题。

在Kubernetes中设置了入口时,先前创建的笔记本和新笔记本创建期间的解释器选择丢失。我仍然可以进入解释器设置页面,并且看起来它们都还在那里。

在zeppelin-site.xml中进行的必需更改才能在没有入口的情况下运行。

<property>
  <name>zeppelin.server.addr</name>
  <value>0.0.0.0</value>
  <description>Server binding address</description>
</property>

默认情况下为127.0.0.0

根据此论坛讨论对shiro.ini进行的更改:https://community.cloudera.com/t5/Support-Questions/How-do-I-recover-missing-Zeppelin-Interpreter-tab-and-its/m-p/160680

sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager 
cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager 
securityManager.cacheManager = $cacheManager 
securityManager.sessionManager = $sessionManager 
securityManager.sessionManager.globalSessionTimeout = 86400000

下面使用变量更改了名称的入口

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/ssl-redirect: "true"
  name: zeppelin-name
  namespace: namespace_here
spec:
  rules:
  - host: zeppelin.zeppelin-services.my-host.org
    http:
      paths:
      - backend:
          serviceName: zeppelin-name
          servicePort: 8080
        path: /
  tls:
  - hosts:
    - zeppelin.zeppelin-services.my-host.org
    secretName: secret-name
status:
  loadBalancer: {}

Zeppelin在Kubernetes Ingress后面正常工作,让我看到以前创建的笔记本以及创建新笔记本时下拉菜单中的解释器,我缺少什么?

kubernetes apache-zeppelin
1个回答
1
投票

同事找到了答案。事实证明信息未到达齐柏林飞艇的页面。经检查,出现405错误:

'wss://zeppelin.zeppelin-services.my-host.org/ws'失败:WebSocket握手时出错:意外的响应代码:405

他检查了Nginx-ingress荚上的日志,发现了类似的失败消息。

问题在使用的入口Yaml中,并且需要在注释中添加一个内容

metadata:
  annotations:
    nginx.org/websocket-services: zeppelin-name
© www.soinside.com 2019 - 2024. All rights reserved.