๊ด€๋ฆฌ ๋ฉ”๋‰ด

data_lab

[kudu] apache kudu ๋ž€ (23.12.01 ์ˆ˜์ •) ๋ณธ๋ฌธ

BIGDATA/ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ

[kudu] apache kudu ๋ž€ (23.12.01 ์ˆ˜์ •)

๐Ÿฐํžˆํžˆ 2021. 12. 14. 13:09

kudu๊ฐ€ ๋ญ”์ง€, ์‚ฌ์šฉํ•ด๋ณด์ง€๋„ ๋ชปํ•˜๊ณ  rpm ๋นŒ๋“œ๋ฅผ ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์—์„œ ๊ธ€์„ ์ผ๋‹ค๊ฐ€ ์ตœ๊ทผ์— ๋‹ค์‹œ ์ˆ˜์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

ํ˜„์žฌ๋„ kudu๋Š” ์‚ฌ์šฉํ•ด๋ณด์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ๋Œ€๋ถ€๋ถ„ ์•„ํ‚คํ…์ณ๊ฐ€ ์œ ์‚ฌํ•œ ๋Š๋‚Œ์ด๋ผ ์ดํ•ดํ•˜๋Š”๋ฐ ํฌ๊ฒŒ ์–ด๋ ต์ง€๋Š” ์•Š๋‹ค.

์ฒ˜์Œ์— kudu ์ฐพ์•„๋ดค์„ ๋•Œ

kudo์˜ ์•„ํ‚คํ…์ณ๋Š” hbase์™€ ์œ ์‚ฌํ•œ ์ ์ด ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ hbase๋ฅผ ์‚ฌ์šฉํ•ด๋ดค๊ฑฐ๋‚˜ ํ–ˆ๋‹ค๋ฉด, kudu์ดํ•ดํ•˜๋Š”๋ฐ์—” ํฌ๊ฒŒ ์–ด๋ ค์›€์ด ์—†์„ ๊ฒƒ์ด๋‹ค.

kudu์—์„œ ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ๋Š” key-value ์ด๋‹ค.

 

์ผ๋‹จ, kudu๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์ด๊ฒƒ ์ €๊ฒƒ ๋ณด๋‹ค๋ณด๋ฉด ๊ทธ๋ž˜์„œ hbase๊ฐ™์€๊ฑฐ๋ผ๋Š” ๊ฑด๊ฐ€? ์ƒ๊ฐ์ด ๋“ ๋‹ค.

๋”ฐ๋ผ๋‹ค๋‹ˆ๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ key-value๋กœ ์ธ๋ฐ, hbase ๋˜ํ•œ key-value๊ฐ€ ํ•ต์‹ฌํ‚ค์›Œ๋“œ์ด๋‹ค.

kudu ์ „์— hbase

kudu๋ฅผ ์•Œ์•„๋ณด๊ธฐ์ „์— hbase์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ฉด HDFS๋Š” append-only , immutable์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. HDFS์— ์ €์žฅ๋œ ํŒŒ์ผ์€ ์ˆ˜์ •์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค. (๋ฎ์–ด์“ฐ๊ธฐํ•ด์„œ ์ˆ˜์ •)

Hbase์˜ ๊ฒฝ์šฐ HDFS์™€ ๋‹ฌ๋ฆฌ ์ˆ˜์ • ๊ฐ€๋Šฅํ•˜๊ณ  ๋žœ๋ค์œผ๋กœ ์ ‘๊ทผํ•ด ์ฝ๊ณ  ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ ‘๊ทผ์ด ๋น ๋ฅด๊ณ  low latency๋กœ input, output ๊ณผ์ •์—์„œ ์ง€์—ฐ์„ ์ตœ์†Œํ™” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

hbase์™€ kudu์˜ ์ฐจ์ด์ ์€ ?

๊ทธ๋Ÿผ kudu์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅผ๊นŒ??

hbase๋Š” ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋‚ฎ๊ณ , kudu๋Š” ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋†’๋‹ค๊ณ  ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.

hbase์€ HDFS์—์„œ JSONํŒŒ์ผ, kudu๋Š” HDFS์—์„œ parquet ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค

kudu๋Š” parquet ์™€ hbase์˜ ์ž์‹๊ฒฉ์ด๋‹ค.

 

parquetํŒŒ์ผ์„ ๋‹ค๋ค„๋ดค๋‹ค๋ฉด, ์••์ถ•๋ฅ ์ด ๋†’์•„(์šฉ๋Ÿ‰์ด ์ž‘์Œ ๋“ฑ๋“ฑ) ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋†’๋‹ค๊ณ  ๋Š๋‚„ ์ˆ˜ ์žˆ๋‹ค.

 

parquet์ด ๋จผ๋””?

hbase์ฒ˜๋Ÿผ ์นผ๋Ÿผ๋ฒ ์ด์Šค ์Šคํ† ๋ฆฌ์ง€์ด๋ฉฐ, hbase๊ฐ™์€ parquet parquet๊ฐ™์€ hbase๋ผ๊ณ  ์ƒ๊ฐํ•ด์•ผํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

Kudu๋Š” Hbase์™€ parquet์˜ ํ˜ผ์ข… 

์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์ฐฉํ•˜์—ฌ ์ €์žฅํ•  ๋•, Hbase์™€ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๋ฉฐ,
์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ถ„์„ ์›Œํฌ๋กœ๋“œ ์‹คํ–‰ํ•  ๋•, parquet๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.

 

์ฟผ๋ฆฌ๋กœ ๊ธด ๊ธฐ๊ฐ„ ๋‚ด์—ญ ๋ฐ์ดํ„ฐ์™€ ์‹ค์‹œ๊ฐ„ ๋‹จ๊ธฐ ๋ฐ์ดํ„ฐ ๊ฒฐํ•ฉ์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค

Hbase in-memory + Parquet columar layout = kudu

Kudu์™€ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๋Š” ๊ฒƒ๋“ค?

  • Impala
    • ๋ณ„๋„์˜ ์งˆ์˜ ๊ธฐ๋Šฅ์„ kudu์—์„œ ์ง€์›ํ•˜์ง€์•Š๊ธฐ์— impala์™€ ๊ฐ™์€ ์งˆ์˜ ์—”์ง„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.
    • ํ™•์‹คํžˆ ํ•˜์ด๋ธŒ ์ฟผ๋ฆฌ์™€๋Š” ์†๋„๊ฐ€ ๋น ๋ฆ„์„ ๋Š๋‚„ ์ˆ˜ ์žˆ๋‹ค. ๋ฌด๊ฑฐ์šด ์ฟผ๋ฆฌ๋งŒ ๋Œ๋ฆฌ๊ณ  ์ƒ์ฃผํ•˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ๋งŽ๋‹ค๋ฉด TEZ์—”์ง„ ์‚ฌ์šฉ์ž์ฒด๋„ ๋ถ€๋‹ด์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. MR์—”์ง„ ์“ฐ๋Š” ํ•˜์ด๋ธŒ์™€๋Š” ๋งค์šฐ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค
  • C++,java,python client
  • MapReduce
  • Spark

Kudu ์•„ํ‚คํ…์ณ

Kudu Master

  • Fault Tolerance ์žฅ์• ํ—ˆ์šฉ
  • Failover to backup masters ๋ฐฑ์—…์œผ๋กœ ์žฅ์• ์กฐ์น˜
  • Raft used for electing new leaders ์ƒˆ๋กœ์šด ๋ฆฌ๋” ๋ฝ‘์„๋•Œ Raft ์‚ฌ์šฉ
  • Only leader serves client request ๋ฆฌ๋”๋งŒ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์ˆ˜์šฉ

Tablets

  • Hbase์˜ region๊ณผ ๋น„์Šทํ•จ
  • 3- 5 ๊ฐœ ๋ณต์ œ๊ฐ€๋Šฅํ•จ
  • ๋ณต์ œ๋Š” ํ•ฉ์˜๋ฅผ ์œ„ํ•ด Raft์˜ ๋ฆฌ๋”/ํŒ”๋กœ์›Œ ํŒจํ„ด์„ ์‚ฌ์šฉ
  • HDFS์•„๋‹Œ ๋กœ์ปฌ์— ๋ฐ์ดํ„ฐ ์ €์žฅํ•จ

 

Kudu ์‹คํ–‰

https://n-a-y-a.tistory.com/108

 

[kudu] kudu cluster๋ชจ๋“œ๋กœ ์‹คํ–‰

Kudu Cluster ๊ตฌ์„ฑ์ •๋ณด ์˜ˆ์‹œ kudu1.com kudu master kudu2.com kudu master kudu3.com kudu tserver kudu4.com kudu tserver kudu5.com kudu tserver Master Server kudu1 ๋…ธ๋“œ [user@kudu1 ~] ${KUDU_HOME}/sbin/kudu-master/sbin/kudu-master --rpc_bind_addresses=

n-a-y-a.tistory.com

 

Kudu Impala, Hive metastore ์—ฐ๋™

https://n-a-y-a.tistory.com/110

 

hive metastore - kudu - impala ์—ฐ๋™

hive-site.xml hive.metastore.transactional.event.listeners org.apache.hive.hcatalog.listener.DbNotificationListener, org.apache.kudu.hive.metastore.KuduMetastorePlugin hive.metastore.disallow.incompatible.col.type.changes false hive.metastore.notifications

n-a-y-a.tistory.com

๊ผญ ํ•˜์ด๋ธŒ๋ฉ”ํƒ€์Šคํ† ์–ด์™€๋Š” ์—ฐ๋™์„ ํ•˜์ง€์•Š์•„๋„ ๋ ๊ฒƒ๊ฐ™์ง€๋งŒ, ๊ธฐ์กด์— ํ•˜์ด๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉด ์—ฐ๋™ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ํŽธ๋ฆฌํ•  ๊ฒƒ์ด๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•