Hbase split 學習記錄

2021-09-11 22:33:02 字數 923 閱讀 4438

prepare階段

在記憶體中初始化兩個子region,具體是生成兩個hregioninfo物件,包含tablename、regionname、startkey、endkey等。同時會生成乙個transaction journal,這個物件用來記錄切分的進展,具體見rollback階段

execute階段

a  regionserver 更改該zk中該region的狀態為(spliting)疑問:原來是什麼狀態,觸發更改的事件是什麼?

b matser在zk中監聽到該狀態的改變,修改記憶體中該region的狀態

c master在父region的下新建./split資料夾

d 關閉父region的,改變其狀態,在關閉前將該region的memorystore flush到磁碟

e 在.split資料夾下新建兩個子資料夾,稱之為daughter a、daughter b,並在資料夾中生成reference檔案,引用檔案的名稱為:

hfile name.父region,裡面存放的是:其一是切分點splitkey,其二是乙個boolean型別的變數(true或者false),true表示該reference檔案引用的是父檔案的上半部分(top),而false表示引用的是下半部分 (bottom)

f daughter a、daughter b 複製到hbase根目錄下

g 更改parent region在元資料表meta中為下線狀態,更該daughter a、daughter b為上線狀態

rollback階段

學習

mysql學習記錄 MySQL學習記錄 2

in 子查詢 select from student where id in 1,2 not in 不在其中 select from student where id not in 1,2 is null 是空 select from student where age is null is not...

java學習記錄

陣列雖然是引用資料型別,但它不是類 所以數字中沒有length 方法 只有length屬性。string型別 是乙個類 jdk中已經封裝好的類,是個final類,你可以去查api 類就有屬性和方法但是 string類中沒有length屬性,只有length 方法 1。陣列雖然是引用資料型別,但它不是...

Linux 學習記錄

1.linux 拷貝隱藏檔案 進入當前需要拷貝的目錄,即源目錄 假如 source 拷貝到 centos5.3 cd source tar cf cd centos5.3 tar xvf 或者 cp r centos5.3 2.linux 下新增postgresql 使用者 進入 postgresq...