中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java大數據開發中ZooKeeper的入門操作是怎樣的

發布時間:2021-12-23 17:15:49 來源:億速云 閱讀:116 作者:柒染 欄目:大數據

Java大數據開發中ZooKeeper的入門操作是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1.1 概述

ZooKeeper翻譯中文名稱是動物園管理員。那是不是就代表和動物有關呢?答案說是也是,說不是也不是。為什么這么說呢?動物園管理員管理的其實不是真正的動物,而是很多以動物命名的框架運行會用到ZooKeeper,大數據中很多框架都與動物有關,比如pig,hive等等,這就是奇葩之處。老外們對框架的命名也太隨意了,想一出是一出。

ZooKeeper是一個開源的分布式的,為分布式應用提供協調服務的Apache項目,Apache出品,所以肯定差不到哪去咯。

1.2 工作機制

Zookeeper從設計模式角度來理解:是一個基于觀察者模式設計的分布式服務管理框架,它負責存儲和管理大家都關心的數據,然后接受觀察者的注冊,一旦這些數據的狀態發生變化,Zookeeper就將負責通知已經在Zookeeper上注冊的那些觀察者做出相應的反應,從而實現集群中類似Master/Slave管理模式,不好理解,我們看下圖:

Java大數據開發中ZooKeeper的入門操作是怎樣的

我們詳細來介紹工作機制里的每一步:

① 圖中1表示,服務器啟動的時候,都會向ZooKeeper(以下簡稱ZK)進行注冊信息;

②  圖中2表示,客戶端獲取到當前在線服務器列表,并且注冊監聽;

③  圖中3表示,有一個哥們手殘,搞掛了一臺服務器,服務器2現在掛掉;

④  圖中4表示,ZK一段時間內,沒有接收到服務器2發射的小biubiu,會通過服務器上下線事件通知客戶端

⑤  圖中5表示,重新獲取服務器列表,并注冊監聽。

1.3 ZK特點

Java大數據開發中ZooKeeper的入門操作是怎樣的

上圖是一個ZK集群,我們看一下他們的特點:

①  ZK集群,是由一個領導者(leader),多個追隨者(follower)組成

②  只要有半數以上的節點存活,ZK集群就能正常使用,肯定有小可愛會有疑問,那如果四個機器掛掉兩個呢?這樣的話,我們的集群就剩了一個半數,不叫“半數以上”好嗎,所以四個掛掉兩個也是不能用滴。為了區分什么是半數以上,大家記好了,搭建集群的時候,我們搭建奇數臺,不就好辦了么。

③  每個服務端都會保存一份數據副本,客戶端無論連接哪一個服務端,數據都是一致的。小伙伴們要搞清楚咯:這里的數據指的是集群服務器的狀態信息,與你數據庫那些數據沒有半毛錢關系。

④  來自同一個客戶端的更新請求,按期發送順序,依次執行。

⑤  原子性:集群機器一次數據更新,要么全部成功,要么全部失敗。

⑥  在一定時間范圍內,客戶端能讀到最新數據。

這么些特點至少要理解半數以上喲(當然,主要是前幾條了)

1.4 應用場景

1.4.1 統一命名服務

分布式環境下,需要對應用/服務進行統一命名,便于識別。

1.4.2 統一配置管理

分布式環境下,要求集群中,所有節點的配置信息是一致的,對配置文件修改后也需要快速同步到各個節點上。配置管理就可交由ZK實現,過程如下:

① 可將配置信息寫入ZK的一個節點

② 每個客戶端服務器監聽這個節點

③ 一旦節點數據被修改,ZK將通知每個客戶端服務器

1.4.3 統一集群管理

分布式環境中需要實時掌握每個節點的狀態,并且根據實時狀態做一些調整。ZK就可以實時監控節點狀態的變化。實現過程如下:

① 可將節點信息,寫入ZK的一個節點

② 監聽節點,實時獲取節點狀態信息

1.4.4 軟負載均衡

可以根據每臺服務器的訪問數,選擇訪問數最少的服務器進行訪問。

1.5 軟件下載

官網下載頁面地址:https://zookeeper.apache.org/releases.html

1.6 ZK安裝(單機模式,非正式環境,可用于測試)

1.6.1 安裝前準備

① 安裝JDK

② 拷貝ZK安裝包到Linux

③ 解壓到指定目錄

在opt目錄下創建dev文件夾,以后將解壓文件,解壓到此處。

Java大數據開發中ZooKeeper的入門操作是怎樣的

1.6.2 配置修改

① 將/opt/dev/zookeeper-3.4.10/conf這個路徑下zoo_sample.cfg修改為zoo.cfg

Java大數據開發中ZooKeeper的入門操作是怎樣的

② 編輯zoo.cfg,修改dataDir路徑

Java大數據開發中ZooKeeper的入門操作是怎樣的

1.6.3 操作ZK

① 啟動ZK

命令:[root@hadoop100 bin]# ./zkServer.sh start

② 查看進程是否啟動 

命令:jps

③ 查看狀態

命令:[root@hadoop100 bin]#  ./zkServer.sh status

④ 啟動客戶端

命令:[root@hadoop100 bin]# ./zkCli.sh

⑤ 退出客戶端

命令:[root@hadoop100 bin]# quit

⑥ 停止ZK

命令:[root@hadoop100 bin]#  ./zkServer.sh stop

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

茶陵县| 芷江| 泽库县| 镶黄旗| 景谷| 资兴市| 太保市| 广水市| 左权县| 渑池县| 康乐县| 井陉县| 交口县| 新巴尔虎右旗| 东源县| 读书| 中宁县| 海淀区| 沙湾县| 天津市| 岳普湖县| 偏关县| 景宁| 老河口市| 宁陵县| 凌海市| 清徐县| 子洲县| 资源县| 涿州市| 阿坝县| 涟源市| 和硕县| 怀宁县| 乌鲁木齐县| 祁东县| 临猗县| 长乐市| 钦州市| 比如县| 思茅市|