๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/5585

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๋ฐฉํ–ฅ์„ฑ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„ DAG(Directed Acyclic Graph)

apche spark๋ฅผ ์ ‘ํ•ด๋ดค๋‹ค๋ฉด, DAG๋ผ๋Š” ์šฉ์–ด๊ฐ€ ์ต์ˆ™ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ฐฉํ–ฅ์„ฑ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„๋ผ๋Š” ๋ง์ž์ฒด ์ดํ•ดํ•˜๊ธฐ ์ข€ ์–ด๋ ต์ง€๋งŒ ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ์‰ฝ๋‹ค.

Airflow ๐Ÿช

์ตœ๊ทผ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด ์ง๋ฌด ์ฑ„์šฉ๊ณต๊ณ ๋ฅผ ๋ณด๋ฉด Airflow ์‚ฌ์šฉ๊ฒฝํ—˜์„ ์šฐ๋Œ€ํ•ด ์ฃผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋ชจ๋“  ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์ ‘ํ•ด์„œ ๊ณต๋ถ€ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ, ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์น˜๊นŒ์ง€๋Š” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊น ใ…œ

๊ทธ๋ฆฌ๊ณ  ์˜คํ”ˆ์†Œ์Šค ํ•œ๋‘๊ฐœ๋งŒ ์ •ํ•ด์„œ ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•ด๋„ ๋‹ค๋ฅธ๊ฑธ ์“ธ๋•Œ๋„ ์–ด๋ ต์ง€์•Š๊ฒŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ธˆ๋ฐฉ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
https://airflow.apache.org/docs/apache-airflow/stable/start/local.html

 

Running Airflow locally — Airflow Documentation

airflow.apache.org

 

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋ธ”๋ก์„ ๋ฌถ๊ฑฐ๋‚˜ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜๋Š” ํ”Œ๋žซํผ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ (๊ฐ„๋‹จํ•˜๊ฒŒ๋Š” ์Šค์ผ€์ค„๋Ÿฌ ๋А๋‚Œ)

Hadoop์— ์ข…์†๋˜์ง€์•Š์Œ Python์œผ๋กœ ๊ฐœ๋ฐœ๊ฐ€๋Šฅํ•จ

1. ํ™˜๊ฒฝ ์„ธํŒ… (๋ฆฌ๋ˆ…์Šค RedHat)

kerberos openldap๊ณผ ๊ฐ™์€ ํŒจํ‚ค์ง€๋“ค ์„  ์„ค์น˜ํ•„์š”

  sudo yum install -y \
        freetds \
        freetds-devel \
        krb5-server krb5-libs krb5-auth-dialog \
        openldap openldap-clients openldap-servers \
        libffi \
        cyrus-sasl-plain cyrus-sasl\ (libsasl2  ๋Œ€์‹  )
        openssl-devel \
        redhat-lsb \
        sqlite \
        unixODBC

๊ทผ๋ฐ ๋ณด์•ˆ๊นŒ์ง€ ์„ค์ •ํ•˜๋ฉด์„œ ๊ณต๋ถ€ํ•˜์ง€์•Š์„ ์˜ˆ์ •์ด๋ผ ์œ„๊ณผ์ •์€ ์ƒ๋žต ์ถ”ํ›„๋ฅผ ์œ„ํ•ด (๊ณต์‹์‚ฌ์ดํŠธ์—” ์šฐ๋ถ„ํˆฌ๊ธฐ์ค€ ๋ ˆ๋“œํ–‡๊ณ„์—ด ์ฐพ์•„๋ณด๋˜๊ฐ€ํ•ด์•ผํ•œ๋‹ค)

2. Airflow ๋‹ค์šด๋กœ๋“œ ๋ฐฉ๋ฒ•

  1. Apache Mirror์—์„œ ๋‹ค์šด https://dlcdn.apache.org/airflow/2.2.4/apache-airflow-2.2.4.tar.gz
  2. Github git clone -b v2-2-stable --single-branch https://github.com/apache/airflow.git
  3. ๊ณต์‹์‚ฌ์ดํŠธ https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-sources.html

1๋ฒˆ ๋ฐฉ๋ฒ•์œผ๋กœ Airflow ์„ค์น˜

$ sudo wget https://dlcdn.apache.org/airflow/2.2.4/apache-airflow-2.2.4.tar.gz --no-check-certificate

build

python3 -m venv /opt/apache-airflow-2.2.4/
source /opt/apache-airflow-2.2.4/bin/activate

airflow ์‹คํ–‰

./airflow webserver -p 8080
  ____________       _____________
 ____    |__( )_________  __/__  /________      __
____  /| |_  /__  ___/_  /_ __  /_  __ \_ | /| / /
___  ___ |  / _  /   _  __/ _  / / /_/ /_ |/ |/ /
 _/_/  |_/_/  /_/    /_/    /_/  \____/____/|__/

 

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

Extract - ์ถ”์ถœ 

Transform - ๋ณ€ํ™˜

Load - ๋กœ๋“œ

 

 

ETL

 

ELT

 

EtLT

 

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ - ๋‹ค์–‘ํ•œ ์†Œ์Šค์—์„œ ์ƒˆ๋กœ์šด ๊ฐ€์น˜๋ฅผ ์–ป์„์ˆ˜ ์žˆ๋Š” ๋Œ€์ƒ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๊ณ  ๋ณ€ํ™˜ํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์ด๋‹ค

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•
python3 -m pip install Django
django-admin startprogect web_study

 

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

01์žฅ: ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์†Œ๊ฐœ

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์ด๋ž€?
๋ˆ„๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ• ๊นŒ?
___SQL๊ณผ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์ง• ๊ธฐ์ดˆ
___ํŒŒ์ด์ฌ ๊ทธ๋ฆฌ๊ณ /๋˜๋Š” ์ž๋ฐ”
___๋ถ„์‚ฐ ์ปดํ“จํŒ…
___๊ธฐ๋ณธ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ
___๋ชฉํ‘œ ์ง€ํ–ฅ์  ์‚ฌ๊ณ ๋ฐฉ์‹
์™œ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ• ๊นŒ?
์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ• ๊นŒ?

02์žฅ: ์ตœ์‹  ๋ฐ์ดํ„ฐ ์ธํ”„๋ผ

๋ฐ์ดํ„ฐ ์†Œ์Šค์˜ ๋‹ค์–‘์„ฑ
___์†Œ์Šค ์‹œ์Šคํ…œ ์†Œ์œ ๊ถŒ
___์ˆ˜์ง‘ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
___๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ
___๋ฐ์ดํ„ฐ ํด๋ Œ์ง• ์ž‘์—…๊ณผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
___์†Œ์Šค ์‹œ์Šคํ…œ์˜ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ ๋Œ€์—ญํญ
ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ๋ฐ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ
๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋„๊ตฌ
๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋ฐ ๋ชจ๋ธ๋ง ๋„๊ตฌ
์›Œํฌํ”Œ๋กœ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ
___๋ฐฉํ–ฅ์„ฑ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„
๋ฐ์ดํ„ฐ ์ธํ”„๋ผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•

03์žฅ: ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ํŒจํ„ด

ETL๊ณผ ELT
ETL์„ ๋„˜์–ด์„  ELT์˜ ๋“ฑ์žฅ
EtLT ํ•˜์œ„ ํŒจํ„ด
๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ELT
๋ฐ์ดํ„ฐ ๊ณผํ•™์„ ์œ„ํ•œ ELT
๋ฐ์ดํ„ฐ ์ œํ’ˆ ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹์„ ์œ„ํ•œ ELT
___๋จธ์‹ ๋Ÿฌ๋‹ ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋‹จ๊ณ„
___ํŒŒ์ดํ”„๋ผ์ธ์— ํ”ผ๋“œ๋ฐฑ ํ†ตํ•ฉ
___ML ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ž๋ฃŒ

04์žฅ: ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘: ๋ฐ์ดํ„ฐ ์ถ”์ถœ

ํŒŒ์ด์ฌ ํ™˜๊ฒฝ ์„ค์ •
ํด๋ผ์šฐ๋“œ ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€ ์„ค์ •
MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ์ถ”์ถœ
___์ „์ฒด ๋˜๋Š” ์ฆ๋ถ„ MySQL ํ…Œ์ด๋ธ” ์ถ”์ถœ
___MySQL ๋ฐ์ดํ„ฐ์˜ ์ด์ง„ ๋กœ๊ทธ ๋ณต์ œ
PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ์ถ”์ถœ
___์ „์ฒด ๋˜๋Š” ์ฆ๋ถ„ Postgres ํ…Œ์ด๋ธ” ์ถ”์ถœ
___Write-Ahead ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ณต์ œ
MongoDB์—์„œ ๋ฐ์ดํ„ฐ ์ถ”์ถœ
REST API์—์„œ ๋ฐ์ดํ„ฐ ์ถ”์ถœ
์นดํ”„์นด ๋ฐ Debezium์„ ํ†ตํ•œ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

05์žฅ: ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘: ๋ฐ์ดํ„ฐ ๋กœ๋“œ

Amazon Redshift ์›จ์–ดํ•˜์šฐ์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ตฌ์„ฑ
Redshift ์›จ์–ดํ•˜์šฐ์Šค์— ๋ฐ์ดํ„ฐ ๋กœ๋“œ
___์ฆ๋ถ„ ๋ฐ ์ „์ฒด ๋กœ๋“œ
___CDC ๋กœ๊ทธ์—์„œ ์ถ”์ถœํ•œ ๋ฐ์ดํ„ฐ ๋กœ๋“œ
Snowflake ์›จ์–ดํ•˜์šฐ์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ตฌ์„ฑ3
Snowflake ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์— ๋ฐ์ดํ„ฐ ๋กœ๋“œ
ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ๋กœ ์‚ฌ์šฉ
์˜คํ”ˆ ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ
์ƒ์—…์  ๋Œ€์•ˆ

06์žฅ: ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ํ•˜๊ธฐ

๋น„๋ฌธ๋งฅ์  ๋ณ€ํ™˜
___ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ ์ค‘๋ณต ์ œ๊ฑฐ
___URL ํŒŒ์‹ฑ
์–ธ์ œ ๋ณ€ํ™˜ํ•  ๊ฒƒ์ธ๊ฐ€, ์ˆ˜์ง‘ ์ค‘ ํ˜น์€ ์ˆ˜์ง‘ ํ›„?
๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๊ธฐ์ดˆ
___์ฃผ์š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์šฉ์–ด
___์™„์ „ํžˆ ์ƒˆ๋กœ ๊ณ ์นจ ๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
___์™„์ „ํžˆ ์ƒˆ๋กœ ๊ณ ์นจ ๋œ ๋ฐ์ดํ„ฐ์˜ ์ฐจ์›์„ ์ฒœ์ฒœํžˆ ๋ณ€๊ฒฝ
___์ฆ๋ถ„ ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
___์ถ”๊ฐ€ ์ „์šฉ(Append-only) ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
___๋ณ€๊ฒฝ ์บก์ฒ˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

07์žฅ: ํŒŒ์ดํ”„๋ผ์ธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

___๋ฐฉํ–ฅ์„ฑ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„
์•„ํŒŒ์น˜ ์—์–ดํ”Œ๋กœ์šฐ ์„ค์ • ๋ฐ ๊ฐœ์š”
___์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ
___์—์–ดํ”Œ๋กœ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
___์›น ์„œ๋ฒ„ ๋ฐ UI
___์Šค์ผ€์ค„๋Ÿฌ
___์‹คํ–‰๊ธฐ(Executors)
___์—ฐ์‚ฐ์ž(Operators)
์—์–ดํ”Œ๋กœ์šฐ DAG ๊ตฌ์ถ•
___๊ฐ„๋‹จํ•œ DAG
___ELT ํŒŒ์ดํ”„๋ผ์ธ DAG
์ถ”๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ ์ž‘์—…
___๊ฒฝ๊ณ  ๋ฐ ์•Œ๋ฆผ
___๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
๊ณ ๊ธ‰ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๊ตฌ์„ฑ
___๊ฒฐํ•ฉ๋œ ํŒŒ์ดํ”„๋ผ์ธ ์ž‘์—… ๋Œ€ ๊ฒฐํ•ฉ๋˜์ง€ ์•Š์€ ํŒŒ์ดํ”„๋ผ์ธ ์ž‘์—…
___DAG๋ฅผ ๋ถ„ํ• ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
___์„ผ์„œ๋กœ ์—ฌ๋Ÿฌ DAG ์กฐ์ •
๊ด€๋ฆฌํ˜• ์—์–ดํ”Œ๋กœ์šฐ ์˜ต์…˜
๊ธฐํƒ€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
์ผ์ฐ ๊ทธ๋ฆฌ๊ณ  ์ž์ฃผ ๊ฒ€์ฆํ•  ๊ฒƒ

08์žฅ: ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ

___์†Œ์Šค ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ
___๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์œ„ํ—˜
___๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€ ๊ฒ€์ฆ ํ™œ์„ฑํ™”
๊ฐ„๋‹จํ•œ ๊ฒ€์ฆ ํ”„๋ ˆ์ž„์›Œํฌ
___์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ ํ”„๋ ˆ์ž„์›Œํฌ ์ฝ”๋“œ
___๊ฒ€์ฆ ํ…Œ์ŠคํŠธ์˜ ๊ตฌ์กฐ
___๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์‹คํ–‰
___์—์–ดํ”Œ๋กœ์šฐ DAG์—์„œ์˜ ์‚ฌ์šฉ
___ํŒŒ์ดํ”„๋ผ์ธ์„ ์ค‘๋‹จํ•ด์•ผ ํ•  ๋•Œ์™€ ๊ฒฝ๊ณ ํ•˜๊ณ  ๊ณ„์†ํ•ด์•ผ ํ•  ๋•Œ
___ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ™•์žฅ
๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์˜ˆ์ œ
___์ˆ˜์ง‘ ํ›„ ์ค‘๋ณต๋œ ๋ ˆ์ฝ”๋“œ
___์ˆ˜์ง‘ ํ›„์˜ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ํ–‰ ๊ฐœ์ˆ˜
___์ง€ํ‘œ ๊ฐ’ ๋ณ€๋™
์ƒ์šฉ ๋ฐ ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ํ”„๋ ˆ์ž„์›Œํฌ
์†Œ์Šค ์‹œ์Šคํ…œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ฒ˜๋ฆฌ

09์žฅ: ํŒŒ์ดํ”„๋ผ์ธ ์œ ์ง€ ๊ด€๋ฆฌ ๋ชจ๋ฒ” ์‚ฌ๋ก€

___์ถ”์ƒํ™” ๋„์ž…
___๋ฐ์ดํ„ฐ ๊ณ„์•ฝ ์œ ์ง€ ๊ด€๋ฆฌ
___Schema-on-Read์˜ ๊ณ ๋ ค์‚ฌํ•ญ
ํ™•์žฅ ๋ณต์žก์„ฑ
___๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํ‘œ์ค€ํ™”
___๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๋กœ์ง์˜ ์žฌ์‚ฌ์šฉ
___์ข…์†์„ฑ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ
์ค‘์š” ํŒŒ์ดํ”„๋ผ์ธ ์ง€ํ‘œ

10์žฅ: ํŒŒ์ดํ”„๋ผ์ธ ์„ฑ๋Šฅ ์ธก์ • ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ์ค€๋น„
___๋ฐ์ดํ„ฐ ์ธํ”„๋ผ ์Šคํ‚ค๋งˆ
์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋กœ๊น… ๋ฐ ์ˆ˜์ง‘
___์—์–ดํ”Œ๋กœ์šฐ์—์„œ DAG ์‹คํ–‰ ๊ธฐ๋ก ์ˆ˜์ง‘
___๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ์— ๋กœ๊น… ์ถ”๊ฐ€
์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜
___DAG ์„ฑ๊ณต๋ฅ 
___์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ฅธ DAG ๋Ÿฐํƒ€์ž„ ๋ณ€๊ฒฝ
___๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๋ณผ๋ฅจ ๋ฐ ์„ฑ๊ณต๋ฅ 
์„ฑ๋Šฅ ํŒŒ์ดํ”„๋ผ์ธ ์กฐ์ •
___DAG์˜ ์„ฑ๋Šฅ
์„ฑ๋Šฅ ํˆฌ๋ช…์„ฑ

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

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
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

์‹œ์Šคํ…œ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ž๋™ํ™” ํ•œ๋‹ค. 

 

Web server - NiFi์˜ HTTP ๊ธฐ๋ฐ˜ ๋ช…๋ น ๋ฐ ์ œ์–ด API๋ฅผ ํ˜ธ์ŠคํŒ…

Flow Controller - ์‹คํ–‰ํ•  ํ™•์žฅ์— ์Šค๋ ˆ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํ™•์žฅ์ด ์‹คํ–‰ํ•  ๋ฆฌ์†Œ์Šค๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์ผ์ •์„ ๊ด€๋ฆฌ

Extension - JVM ๋‚ด์—์„œ ์ž‘๋™ํ•˜๊ณ  ์‹คํ–‰

FlowFile Repo - NiFi๊ฐ€ ํ˜„์žฌ ํ๋ฆ„์—์„œ ํ™œ์„ฑ ์ƒํƒœ์ธ ์ฃผ์–ด์ง„ FlowFile์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์˜ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ณณ

Content Repo - ์ฝ˜ํ…์ธ  ์ €์žฅ์†Œ๋Š” ์ง€์ •๋œ FlowFile์˜ ์‹ค์ œ ์ฝ˜ํ…์ธ  ๋ฐ”์ดํŠธ๊ฐ€ ์žˆ๋Š” ๊ณณ

Provenance Repo - ๋ชจ๋“  ์ถœ์ฒ˜ ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ, ํ”Œ๋Ÿฌ๊ทธํ˜•์ด๋ฉฐ ๊ธฐ๋ณธ ๊ตฌํ˜„์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ, ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ธ๋ฑ์‹ฑ ๋˜๊ณ  ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ

 

 

NiFi ์„ค์น˜ 

wget http://apache.mirrors.tds.net/nifi/1.15.0/nifi-1.15.0-bin.tar.gz
tar xvzf nifi-1.15.0-bin.tar.gz

 

NiFi ์‹คํ–‰

cd ${NiFi_SRC}/bin
./nifi.sh start

 

NiFi Port - nifi.properties ์—์„œ port ๋”ฐ๋กœ ์ง€์ •

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

 

  • ์ผ๊ด„ ์ฒ˜๋ฆฌ ๊ณ„์ธต(์‹คํ–‰ ๋ถ€ํ•˜ ๋ฏธ๋‹ฌ ๊ฒฝ๋กœ)์€ ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์›์‹œ ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๊ณ  ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ผ๊ด„ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ์˜ ๊ฒฐ๊ณผ๋Š” ์ผ๊ด„ ์ฒ˜๋ฆฌ ๋ณด๊ธฐ ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ๋น ๋ฅธ ๋ ˆ์ด์–ด(์‹คํ–‰ ๋ถ€ํ•˜ ๊ณผ๋‹ค ๊ฒฝ๋กœ)๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„์ธต์€ ์ •ํ™•๋„๋Š” ๋–จ์–ด์ง€์ง€๋งŒ ์งง์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜๋„๋ก ๋””์ž์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

hot path - ๋น ๋ฅธ๋ ˆ์ด์–ด -> ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ ์‹คํ–‰์ด ๋น ๋ฅด๋‚˜ ๋ถ€ํ•˜๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

cold path - ์ผ๊ด„์ฒ˜๋ฆฌ๊ณ„์ธต -> ๋†’์€ ์ •ํ™•๋„์˜ ๊ณ„์‚ฐ์ด ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰

 

-----------์ž‘์„ฑ ์ค‘ ---------------

์‹ค์ œ ๋น…๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์—์„  ์–ด๋–ค ๋ฐฉ์‹์ผ์ง€? ์•„ํ‚คํ…์ณ ์ฐพ์•„๋ณด๊ธฐ

 

 

 

 

https://docs.microsoft.com/ko-kr/azure/architecture/data-guide/big-data/

 

๋น… ๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜ - Azure Architecture Center

๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์— ๋น„ํ•ด ๋„ˆ๋ฌด ํฌ๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ง‘, ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋น… ๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

docs.microsoft.com

 

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

Name space

-๋””๋ ‰ํ„ฐ๋ฆฌ, ํŒŒ์ผ, ๋ธ”๋ก์œผ๋กœ ๊ตฌ์„ฑ

-ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋งŒ๋“ค๊ธฐ, ์‚ญ์ œ, ์ˆ˜์ • ๋ฐ ๋ชฉ๋ก ์ง€์ •๊ณผ ๊ฐ™์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ด€๋ จ ๋ชจ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ ์ž‘์—…์„ ์ง€์›

Block Storage Service

Block Management (Namenode์—์„œ ์ˆ˜ํ–‰)

-๋“ฑ๋ก ๋ฐ ์ฃผ๊ธฐ์ ์ธ ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์› ์ž๊ฒฉ์„ ์ œ๊ณต

-๋ธ”๋ก ๋ณด๊ณ ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ธ”๋ก ์œ„์น˜๋ฅผ ์œ ์ง€

-๋ธ”๋ก ์œ„์น˜ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ • ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋“ฑ์˜ ๋ธ”๋ก ๊ด€๋ จ ์ž‘์—…์„ ์ง€์›

-๋ณต์ œ๋ณธ ๋ฐฐ์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ๋ณต์ œ๋˜์ง€ ์•Š์€ ๋ธ”๋ก์— ๋Œ€ํ•œ ๋ณต์ œ๋ฅผ ์ฐจ๋‹จํ•˜๋ฉฐ, ๊ณผ๋„ํ•˜๊ฒŒ ๋ณต์ œ๋œ ๋ธ”๋ก์„ ์‚ญ์ œ

Storage

-๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋ธ”๋ก์„ ์ €์žฅํ•˜๊ณ  ์ฝ๊ธฐ/์“ฐ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋…ธ๋“œ์— ์˜ํ•ด ์ œ๊ณต

HDFS Federation์€ ์—ฌ๋Ÿฌ ๋„ค์ž„๋…ธ๋“œ/๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์„ HDFS์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ œํ•œ์„ ํ•ด๊ฒฐ

 

Block Pool - ๋‹จ์ผ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์†ํ•˜๋Š” ๋ธ”๋ก์ง‘ํ•ฉ์œผ๋กœ ๋ธ”๋กํ’€์€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌ๋จ

๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ณผ๋ฅจ = ๋„ค์ž„์ŠคํŽ˜์ด์Šค + ๋ธ”๋ก ํ’€

๋„ค์ž„๋…ธ๋“œ. ๋„ค์ž„์Šคํ…Œ์ด์Šค๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ๋ฐ์ดํ„ฐ๋…ธ๋“œ์˜ ํ•ด๋‹น ๋ธ”๋ก ํ’€์ด ์‚ญ์ œ๋œ๋‹ค.

ClusterID -ID ์‹๋ณ„์ž๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

๋„ค์ž„๋…ธ๋“œ๋ฅผ ํฌ๋งทํ•˜๋ฉด ์ด ์‹๋ณ„์ž๊ฐ€ ์ œ๊ณต๋˜๊ฑฐ๋‚˜ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋จ. ์ด ID๋Š” ๋‹ค๋ฅธ ๋„ค์ž„๋…ธ๋“œ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ํฌ๋งทํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

 

 

๋„ค์ž„๋…ธ๋“œ์™€ ๋ฐ์ดํ„ฐ๋…ธ๋“œ์˜ current ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— VERSION ํŒŒ์ผ ์กด์žฌ

ํ•ด๋‹นํŒŒ์ผ ์ฝ์œผ๋ฉด ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

cat ~/hdfs/namenode/current/VERSION

 

Wed June 20 09:11:23 KST 2020

namespaceID=367232048

clusterID=CID-234sdaf234-3fsda-4949-v324-fsd3asfdf234

cTime=123123123342323

storageType=NAME_NODE

blockpoolID=BP-217871978-000.000.000.000-000000000000

layoutVersion=-64

 

์ด๋Ÿฐ ํ˜•์‹์œผ๋กœ ๊ฐ ID๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

+ Recent posts