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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > centos >内容正文

centos

Centos7 Zookeeper

發布時間:2024/9/5 centos 87 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Centos7 Zookeeper 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文版權歸博客園和作者吳雙本人共同所有 轉載和爬蟲請注明原文地址 www.cnblogs.com/tdws

一.寫在前面

ZK是一個高效的分布式協調服務,高可用的分布式管理協調框架。 朋友推薦一本書《從paxos到zookeeper》,對我幫助的確很大。?

二.集群配置和踩坑

java安裝和環境變量配置可以參考?http://www.cnblogs.com/tdws/p/4096300.html?

1 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz 下載 2 3 tar -zxvf zookeeper-3.4.10.tar.gz 解壓 4 5 mv zookeeper-3.4.10 /usr/local 剪切 6 7 mv zookeeper-3.4.10/ zookeeper 重命名

下面修改配置文件命名

1 cd /usr/local/zookeeper/conf 2 mv zoo_sample.cfg zoo.cfg 配置一共沒幾行 。指定配置中的? dataDir dataDir=/usr/local/zookeeper/data

自行mkdir創建data文件夾。

在配置文件末尾 配置集群 我是單臺機器偽集群 三個節點 1 server.1=your_ip:20881:30881 2 server.2=your_ip:20882:30882 3 server.3=your_ip:20883:30883 在data文件夾中創建文件myid 來做一個標識 nano myid 在文件中填寫0 并且保存。需要注意的是剛才我們的zookeeper文件夾是不使用的,僅作為我們copy新節點的原本。 接下來復制三份zk 1 cp -r zookeeper/ zookeeper1 2 cp -r zookeeper/ zookeeper2 3 cp -r zookeeper/ zookeeper3

?

分別修改三臺節點 其datadir 將路徑指定到自己節點之下 分別修改其端口號和myid,是各個zoo.conf 配置的其中port 設置分別為2181 2182 2183 各個myid內容分別為1 2 3 下面 去三個zk bin目錄下 執行zkServer.sh start ? 第一次?出錯 Error contacting service. It is probably not running. 哎 檢查好幾個小時ZK配置文件 試了十幾種方法, 結果之前JAVA_HOME不小心配置錯了,我是yum安裝的jdk。 ? 第二次 出錯與解決 后來又出一次錯誤 是我stop zk所有節點之后 再次啟動起不來 首先 jps命令 然后看到進程id和QuorumPeerMain 把Quorumpeermain的進程kill -9殺死 ? 第三次 我丟雷樓某! 這個真是困擾了 如果使用阿里云ECS 專有網絡+彈性公網IP 一般不能直接在ECS實例的程序例綁定和使用彈性公網IP地址。因為這個公網IP地址在ECS之外。所以我開了所有的端口,根本沒有用,最后使用0.0.0.0解決問題。 1 server.1=0.0.0.0:20881:30881 2 server.2=0.0.0.0:20882:30882 3 server.3=0.0.0.0:20883:30883

三.應用和小結

學習ZK一段時間,原生API比較難以使用,一般使用zkClient(dubbo依賴于此)和curator框架來操作ZK比較容易。?其典型應用場景包括以下幾點:

1.數據發布與訂閱

? ? ZK在dubbo中作為注冊中心的角色,服務方和調用方都在這里注冊。舉例來說明,我發布了一個dubbo service,消費者webapp引用這個服務

<dubbo:service interface="com.s2s.service.ItemService" ref="itemServiceImpl"/> 發布的服務 <dubbo:reference interface="com.s2s.service.ItemService" id="itemService"/> 引用服務(將使用RPC調用)

  接下來去服務器上查看數據節點,

可以看到根目錄上有dubbo節點,dubbo下有com.s2s.service.ItemService, 其節點下又有consumers和providers等。

服務提供者啟動時向/dubbo/com.s2s.service.ItemService/providers目錄下寫入URL

服務消費者啟動時訂閱/dubbo/com.s2s.service.ItemService/providers目錄下的URL。 并且向/dubbo/com.s2s.service.ItemService/consumers目錄下寫入自己的URL?

監控中心啟動時訂閱/dubbo/com.s2s.service.ItemService/目錄下的所有提供者和消費者URL。

所以dubbo監控中心,查看到消費者和服務提供者

2.負載均衡

3.命名服務

4.分布式通知和協調

5.集群管理與Master選舉

 比如SolrCloud管理。管理集群配置,監控集群狀態,選舉分片leader

6.分布式鎖

有很多人用它做分布式鎖 但是做法比較底層。臨時節點是在一次會話內有效,保證了出現異常時,鎖能得以釋放。比如client1 做分布式操作 那他創建一個臨時節點 然后去做一些其他數據操作 做完操作后, 再去把臨時節點移除。這時c2才能去操作。如果有10個客戶端 要操作同一個數據,但是這個數據,有多個復制的版本 在不同的DB當中(當然值是一致)。 這個時候 分布式鎖的作用就是同步操作??蛻舳? 操作 這條數據, 那就去zk立即 就create個節點 代表占用了這條數據,這時候客戶端2 并發操作這條數據 先去zk上get一下這個節點,get到的話 可以等待一下,等客戶端1 釋放掉后,去再次create一下占領數據。

7.分布式隊列

本文主要是安裝配置,分布式理論的學習還是比較好,接下來將會繼續分享實踐中的收獲。

轉載于:https://www.cnblogs.com/tdws/p/8282540.html

總結

以上是生活随笔為你收集整理的Centos7 Zookeeper的全部內容,希望文章能夠幫你解決所遇到的問題。

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