當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

叢集配置WebSocket埠

1. 概述

1.1 版本

BI 伺服器版本
5.1

1.2 應用場景

本文將介紹在叢集環境下,如何配置 WebSocket 埠。

2. 範例

2.1 修改欄位值

超級管理者可透過「fine_conf_entity視覺化配置插件」修改 WebSocket 埠。重啓伺服器後設定生效。

注:修改 FineDB 資料庫表欄位值的方法請參考 FineDB 常用表欄位修改 。

JAR 包ID預設值設定範圍

是否支援

設定多個值

Websocket 埠-WebSocketConfig.port["48888", "49888"]

參數值為埠陣列["port1","port2"]

port均屬於區間(1024,65535]

支援
Websocket 轉發埠2019-11-08 之前WebSocketConfig.requestPort48889支援
2019-11-08 及之後WebSocketConfig.requestPorts48889支援

設定埠號時有一些注意事項:

1)埠號可設定範圍:1024~65535,若為多個值,設定格式為:[埠號1,埠號2,埠號3]。

2)建議「WebSocket轉發埠」的值要多於叢集節點數,保證每個節點都會選擇當前可用的埠,不會因為埠占用而導致伺服器無法啟動。

3)建議「WebSocket埠」設定多個值,作為備用,防止一臺伺服器部署了多個工程,埠被佔用。

4)不要設定埠號為伺服器遠端連結埠 3389。

5)如果工程和 nginx 負載均衡在一個環境下,不要重複設定某個埠號既是 WebSocket 埠,又是 WebSocket 轉發埠。

6)若 WebSocketConfig.port、WebSocketConfig.requestPort、WebSocketConfig.requestPorts 欄位後面有空格,配置不生效。

7)若 WebSocketConfig.port、WebSocketConfig.requestPort、WebSocketConfig.requestPorts 大小寫錯誤,配置不生效。

8)WebSocketConfig.requestPort 和 WebSocketConfig.requestPorts 不能同時存在於 fine_conf_entity 表中,否則會出錯。

2.2 修改叢集轉發策略

在負載均衡層面配置 Websocket 的轉發策略為粘滯,詳情請參見:負載均衡配置指導 

2.3 修改叢集監聽埠

nginx.conf 檔案中,server 的 listen 埠需要與「WebSocket 轉發埠」配置一致,詳情請參見:Linux 系統安裝配置 Nginx 4.1 節

例如用設定的 Websocket 轉發埠(WebSocketConfig.requestPort預設48889)轉發 Websocket 埠(WebSocketConfig.port預設 48888 )

以下範例為工程伺服器 IP 為 192.168.6.171,Nginx 伺服器 IP 為 192.168.6.181,如下圖所示:

#使用者或者使用者組 預設為nobody#user  root;#允許進程數量,建議設定為cpu核心數或者auto自動檢查,注意Windows伺服器上雖然可以啟動多個processes,但是實際只會用其中一個worker_processes  auto;#自動根據CPU數目綁定CPU親緣性,nginx1.9.10及以上版本才能用#worker_cpu_affinity  auto;#error日誌存放位置error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#PID存放位置#pid        logs/nginx.pid;#工作模式及連結數上限events {    #每個worker_processes的最大連結數,Windows伺服器無論這裏設定多大實際都只有1024    #併發數是 worker_processes 和 worker_connections 的乘積    worker_connections  1024;}http {    #設定mime型別,型別由mime.type檔案定義    include       mime.types;    #預設檔案型別,預設為text/plain    default_type  application/octet-stream;    #日誌格式    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for" $upstream_addr';    #access_log確定了Nginx是否儲存存取日誌,將這個設定為關閉可以降低磁碟IO而提升速度    access_log  off;    #access_log  logs/access.log  main;    #sendfile 指令指定 nginx 是否呼叫 sendfile 函式(zero copy 方式)來匯出檔案,    #對於普通應用,必須設為 on,    #如果用來進行下載等應用磁碟IO重負載應用,可設定為 off,    #以平衡磁碟與網路I/O處理速度,降低系統的uptime.    sendfile        on;    #tcp_nopush     on;    #http長連結(client

2.4 開放埠

  • 若防火牆開啓,可關閉防火牆,或者單獨開放埠。

  • 若雲伺服器有安全組或者類似的內容,需要設定埠對外開放。

2.5 重啓工程

重啓 nginx 和 FineBI 工程。

重啓工程時,需要殺死工程下運作的進程,等待 2 分鐘埠釋放後,再重啓工程,否則有可能重啓失敗。

2.6 效果預覽

按照WebSocket轉發埠>>WebSocket埠的順序,即如果使用預設值埠,按照「48889,48888,49888」的順序依次嘗試監聽。

  • 如果有一個埠建立監聽成功,則不再嘗試其他埠。

26.png

  • 如果所有埠都無法與系統伺服器建立監聽,會進入部署精靈頁面,引導修改監聽埠列表,相關功能會受到影響。

24.png


附件列表


主題: 管理员指南
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!