日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Zookeeper服务器集群的搭建与操作

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zookeeper服务器集群的搭建与操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ZooKeeper

作用:Zookeeper?可以用來保證數據在zk集群之間的數據的事務性一致(原子操作)。

介紹:Zookeeper 是 Google 的 Chubby一個開源的實現,是 Hadoop 的分布式協調服務

   ?它包含一個簡單的原語集,分布式應用程序可以基于它實現同步服務,配置維護和命名服務等。

特性:簡單的、富有表現力的、具有高可用性、采用松耦合交互方式、是一個資源庫。

?


如何搭建ZooKeeper服務器集群
2.1 ZooKeeper服務器集群規模不小于3個節點,要求各服務器之間系統時間要保持一致。
2.2 在hadoop0的/usr/local目錄下,解壓縮zookeeper-3.4.5.tar.gz(tar -zxvf zookeeper-3.4.5.tar.gz),
  設置環境變量vi /etc/profile
    export ZOOKEEPER_HOME=/usr/local/zk
    export PATH=.:$....:$ZOOKEEPER_HOME/bin:$.....
  環境變量設置好了,執行source /etc/profile
2.3 在conf目錄下
    重命名: mv zoo_sample.cfg zoo.cfg
2.4 編輯該文件,執行vi zoo.cfg
    修改dataDir=/usr/local/zk/data
    新增server.0=hadoop0:2888:3888
      server.1=hadoop1:2888:3888
      server.2=hadoop2:2888:3888
2.5 創建文件夾mkdir /usr/local/zk/data
2.6 在data目錄下,創建文件myid(vi myid),值為0
2.7 把zk目錄復制到hadoop1和hadoop2中
      scp -r /usr/local/zk/ hadoop1:/usr/local/
      scp -r /usr/local/zk/ hadoop2:/usr/local/
  將hadoop0中的環境變量復制到hadoop1和hadoop2中
      scp /etc/profile hadoop1:/etc/
      scp /etc/profile hadoop2:/etc/
  環境變量復制好了以后,在hadoop1和hadoop2上都要執行source /etc/profile
2.8 把hadoop1中相應的myid的值改為1
    vi /usr/local/zk/data/myid 將里面的值改為1
  把hadoop2中相應的myid的值改為2
    vi /usr/local/zk/data/myid 將里面的值改為2
2.9 啟動,在三個節點上分別執行命令zkServer.sh start
cd /usr/local/zk/bin
ls
zkServer.sh start
啟動完了之后,在bin目錄下多了一個zookeeper.out
2.10 檢驗,在三個節點上分別執行命令zkServer.sh status(可以看到MODE,誰是leader,誰是follower)

?

ZooKeeper的操作(只有shell操作,也可以用java操作)
在hadoop0下,執行zkCli.sh ,就進入到了ZooKeeper,可以在里面使用命令進行相關操作:
ls /
create /chaoren hadoop (/chaoren是path,hadoop是里面的data)
get /chaoren (可以查看到里面的data)

也可以在hadoop1或hadoop2里面:
zkCli.sh
get /chaoren
也可以修改里面的data:
set /chaoren change_data (將chaoren里面的data修改為change_data)
get /chaoren

?

ZooKeeper的數據模型

層次化的目錄結構,命名符合常規文件系統規范

每個節點在zookeeper中叫做znode,并且其有一個唯一的路徑標識

節點Znode可以包含數據和子節點,但是EPHEMERAL類型的節點不能有子節點

Znode中的數據可以有多個版本,比如某一個路徑下存有多個數據版本,那么查詢這個路徑下的數據就需要帶上版本

客戶端應用可以在節點上設置監視器

節點不支持部分讀寫,而是一次性完整讀寫

?

Zookeeper的節點

Znode有兩種類型,短暫的(ephemeral)和持久的(persistent)

Znode的類型在創建時確定并且之后不能再修改

短暫znode的客戶端會話結束時,zookeeper會將該短暫znode刪除,短暫znode不可以有子節點

持久znode不依賴于客戶端會話,只有當客戶端明確要刪除該持久znode時才會被刪除

Znode有四種形式的目錄節點,PERSISTENT、PERSISTENT_SEQUENTIAL、EPHEMERAL、EPHEMERAL_SEQUENTIAL

?

Zookeeper的角色

領導者(leader),負責進行投票的發起和決議,更新系統狀態

學習者(learner),包括跟隨者(follower)和觀察者(observer),follower用于接受客戶端請求并想客戶端返回結果,在選主過程中參與投票

Observer可以接受客戶端連接,將寫請求轉發給leader,但observer不參加投票過程,只同步leader的狀態,observer的目的是為了擴展系統,提高讀取速度

客戶端(client),請求發起方

?

?

?


轉載于:https://www.cnblogs.com/ahu-lichang/p/6671272.html

總結

以上是生活随笔為你收集整理的Zookeeper服务器集群的搭建与操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。