HBase
 sql >> Teknologi Basis Data >  >> NoSQL >> HBase

Penggabungan wilayah HBase

HBase menulis data ke beberapa server, yang disebut Server Wilayah .

Setiap server wilayah berisi satu atau beberapa Wilayah , dan data dialokasikan di wilayah ini; Hbase akan mengontrol server wilayah mana yang mengontrol wilayah mana.

Nomor wilayah dapat ditentukan pada tingkat pembuatan tabel :

[hbase@gw gelandangan]$ kinit -kt /etc/security/keytabs/hbase.headless.keytab hbase[hbase@gw gelandangan]$ hbase shellhbase(main):001:0> buat 'table2' , 'columnfamily1', {NUMREGIONS => 5, SPLITALGO => 'HexStringSplit'} 

Kami sebelumnya telah menetapkan bahwa 5 wilayah akan akurat, terkait dengan jumlah server wilayah dan ukuran wilayah yang diinginkan, dan 2 algoritme dasar disediakan, HexStringSplit dan UniformSplit (tetapi Anda dapat menambahkan milik Anda).

Anda dapat memberikan split Anda sendiri :

hbase(main):001:0> buat 'table2', 'columnfamily1', {NUMREGIONS => 5, SPLITS=> ['a', 'b', 'c']}

Jadi ini tabel2 telah dibuat dengan 5 wilayah kami, mari kita pergi ke HBase webUI untuk melihat seperti apa :

Kami memiliki 5 wilayah kami, lihat partisi ulang kunci, dan kami dapat melihat di nama wilayah:table_name, start_key,end_key,timestamp.ENCODED_REGIONNAME.

Jadi sekarang, jika kita ingin menggabungkan region, kita bisa menggunakan merge_region di hbase shell.
Region harus bersebelahan.

hbase(main):010:0> merge_region '234a12e83e203f2e3158c39e1da6b6e7', '89dd2d5a88e1b2b9787e3254b85b91d3'0 baris dalam 0,0140 detik 

Ya.

Perhatikan bahwa ENCODED_REGIONNAME dari wilayah hasil adalah yang baru.

hbase(main):012:0> merge_region 'bfad503057fca37bd60b5a83109f7dc6','e37d7ab5513e06268459c76d5e7335e4'0 baris dalam 0,0040 detik 

Mari gabungkan semua wilayah, akhirnya!

hbase(main):013:0> merge_region '0f5fc22bf0beacbf83c1ad562324c778','af6d7af861f577ba456cff88bf5e5e38','3f1e029afd907bc62f5e5fb5908b6e1b

Kemudian kita dapat melihat bahwa hanya satu wilayah yang tersisa :

Sebagai catatan, Anda dapat membuat tabel HBase yang telah dipecah sebelumnya jika Anda mengetahui partisi ulang kunci Anda :baik dengan melewatkan SPLITS, atau dengan menyediakan SPLITS_FILE yang berisi titik-titik pemisahan (jadi nomor baris =daerah -1)
Perhatikan pesanannya, SPLITS_FILE sebelum {…} tidak akan berfungsi.

[hbase@gw gelandangan]$ echo "a\nb\nc"> /tmp/splits.txt;[hbase@gw gelandangan]$ kinit -kt /etc/security/keytabs/hbase.headless. keytab hbase[hbase@gw gelandangan]$ hbase shellhbase(main):011:0> buat 'test_split', { NAMA=> 'cf', VERSI => 1, TTL => 69200 }, SPLITS_FILE => '/tmp/ splits.txt' 

Dan hasilnya :


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Selamat Ulang Tahun Apache HBase! 10 tahun ketahanan, stabilitas, dan kinerja

  2. bunuh server wilayah mati zombie

  3. Cara:Mengelola Data HBase melalui Hue

  4. 6 Fitur Teratas HDFS – Tutorial Hadoop HDFS

  5. Cara Kerja Hadoop – Pahami Cara Kerja Hadoop