分布式鎖01 介紹 李孟 新浪部落格

2021-10-10 12:08:25 字數 475 閱讀 9001

一.死鎖發生的條件

在分布式計算系統中,有兩個以上的程序在併發執行,每個程序都在等待被其它的程序所占用的系統資源而不能繼續執行,即導致系統中任何乙個程序都無法執行下去(死迴圈),這就產生了死鎖。

當且僅當以下四個條件同時成立時,死鎖才會發生:

1) 互斥。同乙個資源在同一時刻最多只能被乙個程序占用。

2) 占有並等待。必然有乙個程序至少占用了系統中的乙個資源,同時在等待獲取被其他程序占用的資源。

3) 不可剝奪。乙個程序不能剝奪被其他程序占用的資源。

4) 迴圈等待。在等待圖中有乙個迴圈。

一般程序僵死可能出現的原因有若干種情況,考慮最常見的兩種情況:

(1)記憶體資源被耗完。

(2)資源洩露,某些連線或執行緒未被關閉。

二.hadoop鎖

hadoop分布式鎖使用的是租期方式,伺服器端持有鎖,會等待客戶端,如果客戶端沒有續租,則將鎖釋放,否則需要客戶端的請求到達時進行續租。

分布式服務框架 Zookeeper(一)介紹

zookeeper 動物園管理員 顧名思義,是用來管理hadoop 大象 hive 蜜蜂 pig 小豬 的管理員,同時apache hbase apache solr linkedin sensei等眾多專案中都採用了zookeeper。zookeeper曾是hadoop的正式子專案,後發展成為ap...

分布式鎖簡單介紹

如下為簡單實現 介面定義 public inte ce distributedlock extends remoteobject介面實現 public class distributedlockimpl extends unicastremoteobject implements distribut...

分布式系統集群的時間同步 李孟 新浪部落格

將node1配置成乙個time server,修改 etc ntp.conf,root node1 vi etc ntp.conf 其他的配置不怎麼需要改,只需要關注restrict的配置 1.注釋掉原來的restrict default ignore這一行,這一行本身是不響應任何的ntp更新請求,...