數據分析如何用好高可用?Naming雙活必須掌握!

在以前的文章中,咱們有作過永洪對數據的加工和處理的方法和介紹,此次咱們來學習一下永洪產品高可用的配置設計方案。node

在使用永洪產品過程當中,可能會遇到服務器斷電、網絡質量差、服務器宕機等突發問題,結果使集羣中的節點失效,從而影響到永洪BI的正常使用,致使沒法正常的查看、分析數據,爲了解決如此問題,永洪也完善並支持服務的高可用場景。tomcat

永洪如何實現產品的高可用呢,答案是Naming雙活,也就是部署兩個N節點,經過ZooKeeper實現集羣的高可用性。對於不瞭解永洪集羣環境節點類型的小夥伴能夠查看以前的講解(一文讀懂大數據量組合數據集在永洪的應用實例)。服務器

➤在講解Naming雙活以前呢,仍是須要先學習一下ZooKeeper的相關知識。網絡

首先講解一下什麼是 ZooKeeper Server:ide

啓動Naming雙活,須要安裝部署ZooKeeper Server。學習

ZooKeeper的部署分爲單機模式和集羣模式,集羣模式是指在多個節點上啓動ZooKeeper Server。通常考慮在三臺機器上部署ZooKeeper Server。大數據

除了Server 這個角色之外,還有這樣的一類角色ZooKeeper Client:在這裏,Client指的是MPP集市中的節點。設計

ZooKeeper Client鏈接到ZooKeeper Server,經過心跳保持鏈接。3d

➤那麼Naming雙活的工做原理是如何進行的呢?日誌

一、ZooKeeper Client鏈接到ZooKeeper Server

MPP集市啓動時,首先Naming Node鏈接到ZooKeeper Server,並初始化領導者選舉,而後Backup Node和其它Nodes(Map/Reduce/Client)鏈接到ZooKeeper Server。若是有多個Backup Node,則有First Backup Node,First Backup Node會和Naming Node同步meta文件,其餘Backup Nodes處於待命狀態。

二、Naming Node宕機時

First Backup Node會成爲新的Naming Node(該過程須要半分鐘至幾分鐘完成),其餘節點將被通知更換新的Naming Node,對配置文件進行自動修改。

若是要將以前的Naming Node再從新加入到集市,將做爲Backup Node加入集市;並修改global_bi.properties中的dc.node.naming爲此時Naming Node的ip+offset。

三、Backup Node宕機時

若是是First Backup Node宕機,則剩餘的Backup Nodes選舉出新的First Backup Node,繼續和Naming Node同步。

➤瞭解了zookeeper的工做原理以後,咱們開始學習如何安裝並啓動Naming雙活的功能。

一、 規劃ZooKeeper集羣環境

MPP集市節點的規劃:幾臺Naming Node,哪些做爲備份Naming Node,集市中的節點都有哪些,怎麼搭建,須要提早規劃,而後將全部節點和ZooKeeper Server鏈接。

ZooKeeper集羣節點規劃:ZooKeeper Server裝在哪些機器上,須要提早規劃好。

ZooKeeper集羣節點和MPP集市節點能夠部署到同一臺機器,安裝包裏已經包含ZooKeeper內容,因此,若是一臺機器既想裝MPP集市節點,又想裝ZooKeeper Server,只需同時勾上集市節點類型和ZooKeeper服務就能夠了。

二、安裝、配置和啓動

全部集羣節點須要啓用命名節點的雙活機制。
在安裝過程當中,每一個節點須要勾上「使用命名節點的雙活機制」,並配置ZooKeeper的鏈接地址,形式爲:IP1:Host1,IP2:Host2,IP3:Host3。裝了幾個ZooKeeper Server(通常爲基數個),就將幾個的IP:Host寫上。

IP:ZooKeeper Server機器IP。

Host:ZooKeeper Server的端口號。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
安裝完畢後,全部節點的global_bi.properties都會加上:

dc.use.backup=true

zk.conn.hosts=#hosts

Naming Node和Backup Naming Node
若是安裝Naming Node,則不須要選擇「備份節點」;

若是安裝Backup Naming Node,則須要選擇「命名節點安裝版」和「備份節點」,以下圖,勾選了「備份節點」,會在bi.properties中加入屬性:dc.backup=false。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
安裝ZooKeeper Server
在安裝界面,經過選擇「在此節點啓用ZooKeeper服務」來安裝ZooKeeper Server。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
點擊「下一步「,出現「設置ZooKeeper配置信息」界面來設置ZooKeeper Server的信息。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
ZooKeeper 端口: 正在安裝的這個ZooKeeper Server的端口號。用於ZooKeeper Client(C/N/M/R節點)和ZooKeeper Server之間通信。
Data目錄:存儲快照文件Snapshot 的目錄。
日誌目錄:ZooKeeper日誌輸出目錄。
集羣節點配置:用於ZooKeeper Server之間的通訊。裝了幾個ZooKeeper Server(通常爲基數個),就將幾個的IP:Host1:Host2寫上。
IP:ZooKeeper Server機器IP。
Host1:通訊端口。
Host2:選舉通訊端口。
集羣節點編號:指定正在安裝的ZooKeeper Server是ZooKeeper集羣節點配置中的第幾個節點。
以上屬性會存到如下兩個文件裏:

zookeeper\conf\zoo.cfg

zookeeper\data\myid

啓動ZooKeeper Server
在安裝的ZooKeeper Server的安裝目錄下,進入zookeeper\bin目錄

Linux:運行zkServer.sh

Windows:運行zkServer.cmd

若是是ZooKeeper集羣模式,在啓動以後須要等待一小段時間(半分鐘之內),讓ZooKeeper集羣內部完成領導者選舉。

啓動Naming Node
Linux:tomcat/bin/startup.sh

Windows: tomcat/bin/startup.bat

啓動集市其它節點
此步驟與上述內容一致

➤接着咱們拿一個實際案例進行實踐。

一、規劃一個啓用了Naming雙活的集市環境

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
本機(Windows,IP:192.168.1.238)安裝4個集市節點,CR、M、N、N_Backup(N節點的備份)。

其中CR、M和N節點上安裝ZooKeeper Server。

二、安裝過程

安裝CR:

選擇數據集市->MPP集市->選擇「客戶端節點安裝版」和「Reduce節點安裝版」。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
勾選「使用命名節點的雙活機制」;

輸入ZooKeeper鏈接地址:

192.168.1.238:2181,192.168.1.238:2182,192.168.1.238:2183

安裝Zookeeper Server:

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
注:ZooKeeper端口:2181,集羣節點編號:1

安裝N:

選擇數據集市->MPP集市->選擇「命名節點安裝版」,不勾選「備份節點」。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
勾選「使用命名節點的雙活機制」:

輸入ZooKeeper鏈接地址,同CR。

安裝Zookeeper Server,同CR,ZooKeeper端口:2182,集羣節點編號:2。

在這裏插入圖片描述
數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
安裝N(備份):

選擇數據集市->MPP集市->選擇「命名節點安裝版」,勾選「備份節點」。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
勾選「使用命名節點的雙活機制」:

輸入ZooKeeper鏈接地址,同CR。

不安裝Zookeeper Server。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
安裝M:

選擇數據集市->MPP集市->選擇「Map節點安裝版」。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
勾選「使用命名節點的雙活機制」:

輸入ZooKeeper鏈接地址,同CR。

安裝ZooKeeper Server,同CR,ZooKeeper端口:2183,集羣節點編號:3。

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
修改集羣配置
在同一臺機器上啓動多個節點須要配置端口偏移,因此,在啓動以前,在CR、N(備份)和M的bi.properties裏分別配置:

dc.port.offset=1

dc.port.offset=2

dc.port.offset=3

啓動ZooKeeper Server
Naming雙活啓動順序

一、先啓動Zookeeper,沒有前後順序;

二、當Zookeeper集羣穩定後,先啓動主N的Tomcat;

三、再啓動其餘節點的Tomcat,沒有前後順序。

在永洪安裝路徑下找到Zookeeper/bin目錄

雙擊 zkServer.cmd啓動

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了
啓動Tomcat
在永洪安裝路徑找到tomcat/bin目錄

雙擊startup.bat

數據分析遇到突發問題別慌!永洪BI高可用配置設計方案詳解來了➤小結:永洪高可用使用的技術是基於Zookeeper集羣實現的,使用時要確保Zookeeper節點之間的通訊,並且儘可能採用奇數個節點的設計。以上就是咱們對於Naming雙活的介紹。

相關文章
相關標籤/搜索