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

๋ชฉ๋กBIGDATA/ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ (34)

data_lab

[Apache NiFi] ์•„ํŒŒ์น˜ ๋‚˜์ดํŒŒ์ด ๋ž€?

์‹œ์Šคํ…œ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ž๋™ํ™” ํ•œ๋‹ค. Web server - NiFi์˜ HTTP ๊ธฐ๋ฐ˜ ๋ช…๋ น ๋ฐ ์ œ์–ด API๋ฅผ ํ˜ธ์ŠคํŒ… Flow Controller - ์‹คํ–‰ํ•  ํ™•์žฅ์— ์Šค๋ ˆ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํ™•์žฅ์ด ์‹คํ–‰ํ•  ๋ฆฌ์†Œ์Šค๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์ผ์ •์„ ๊ด€๋ฆฌ Extension - JVM ๋‚ด์—์„œ ์ž‘๋™ํ•˜๊ณ  ์‹คํ–‰ FlowFile Repo - NiFi๊ฐ€ ํ˜„์žฌ ํ๋ฆ„์—์„œ ํ™œ์„ฑ ์ƒํƒœ์ธ ์ฃผ์–ด์ง„ FlowFile์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์˜ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ณณ Content Repo - ์ฝ˜ํ…์ธ  ์ €์žฅ์†Œ๋Š” ์ง€์ •๋œ FlowFile์˜ ์‹ค์ œ ์ฝ˜ํ…์ธ  ๋ฐ”์ดํŠธ๊ฐ€ ์žˆ๋Š” ๊ณณ Provenance Repo - ๋ชจ๋“  ์ถœ์ฒ˜ ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ, ํ”Œ๋Ÿฌ๊ทธํ˜•์ด๋ฉฐ ๊ธฐ๋ณธ ๊ตฌํ˜„์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ, ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ธ๋ฑ์‹ฑ ๋˜๊ณ  ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ NiFi ์„ค์น˜ wget h..

lamda arch

์ผ๊ด„ ์ฒ˜๋ฆฌ ๊ณ„์ธต(์‹คํ–‰ ๋ถ€ํ•˜ ๋ฏธ๋‹ฌ ๊ฒฝ๋กœ)์€ ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์›์‹œ ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๊ณ  ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ผ๊ด„ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ์˜ ๊ฒฐ๊ณผ๋Š” ์ผ๊ด„ ์ฒ˜๋ฆฌ ๋ณด๊ธฐ ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋น ๋ฅธ ๋ ˆ์ด์–ด(์‹คํ–‰ ๋ถ€ํ•˜ ๊ณผ๋‹ค ๊ฒฝ๋กœ)๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„์ธต์€ ์ •ํ™•๋„๋Š” ๋–จ์–ด์ง€์ง€๋งŒ ์งง์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜๋„๋ก ๋””์ž์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. hot path - ๋น ๋ฅธ๋ ˆ์ด์–ด -> ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ ์‹คํ–‰์ด ๋น ๋ฅด๋‚˜ ๋ถ€ํ•˜๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. cold path - ์ผ๊ด„์ฒ˜๋ฆฌ๊ณ„์ธต -> ๋†’์€ ์ •ํ™•๋„์˜ ๊ณ„์‚ฐ์ด ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ -----------์ž‘์„ฑ ์ค‘ --------------- ์‹ค์ œ ๋น…๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์—์„  ์–ด๋–ค ๋ฐฉ์‹์ผ์ง€? ์•„ํ‚คํ…์ณ ์ฐพ์•„๋ณด๊ธฐ https://docs.microsoft.com/ko-kr/azure/archit..

[Hadoop] Block Pool

Name space -๋””๋ ‰ํ„ฐ๋ฆฌ, ํŒŒ์ผ, ๋ธ”๋ก์œผ๋กœ ๊ตฌ์„ฑ -ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋งŒ๋“ค๊ธฐ, ์‚ญ์ œ, ์ˆ˜์ • ๋ฐ ๋ชฉ๋ก ์ง€์ •๊ณผ ๊ฐ™์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ด€๋ จ ๋ชจ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ ์ž‘์—…์„ ์ง€์› Block Storage Service Block Management (Namenode์—์„œ ์ˆ˜ํ–‰) -๋“ฑ๋ก ๋ฐ ์ฃผ๊ธฐ์ ์ธ ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์› ์ž๊ฒฉ์„ ์ œ๊ณต -๋ธ”๋ก ๋ณด๊ณ ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ธ”๋ก ์œ„์น˜๋ฅผ ์œ ์ง€ -๋ธ”๋ก ์œ„์น˜ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ • ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋“ฑ์˜ ๋ธ”๋ก ๊ด€๋ จ ์ž‘์—…์„ ์ง€์› -๋ณต์ œ๋ณธ ๋ฐฐ์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ๋ณต์ œ๋˜์ง€ ์•Š์€ ๋ธ”๋ก์— ๋Œ€ํ•œ ๋ณต์ œ๋ฅผ ์ฐจ๋‹จํ•˜๋ฉฐ, ๊ณผ๋„ํ•˜๊ฒŒ ๋ณต์ œ๋œ ๋ธ”๋ก์„ ์‚ญ์ œ Storage -๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋ธ”๋ก์„ ์ €์žฅํ•˜๊ณ  ์ฝ๊ธฐ/์“ฐ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋…ธ๋“œ์— ์˜ํ•ด ์ œ๊ณต HDFS Federation์€ ์—ฌ๋Ÿฌ ๋„ค์ž„๋…ธ๋“œ/๋„ค..

[Apache Livy] Apache Livy / ์•„ํŒŒ์น˜ ๋ฆฌ๋น„๋ž€?

spark ์ž‘์—…๊ด€๋ฆฌ Apache Livy๋Š” REST ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด Spark ํด๋Ÿฌ์Šคํ„ฐ์™€ ์‰ฝ๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ REST ์ธํ„ฐํŽ˜์ด์Šค ๋˜๋Š” RPC ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด Spark ์ž‘์—… ๋˜๋Š” Spark ์ฝ”๋“œ ์Šค๋‹ˆํŽซ, ๋™๊ธฐ ๋˜๋Š” ๋น„๋™๊ธฐ ๊ฒฐ๊ณผ ๊ฒ€์ƒ‰, Spark ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Apache Livy๋Š” Spark์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ๋Œ€ํ™”ํ˜• ์›น/๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— Spark๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ์—ฌ๋Ÿฌ Spark ์ž‘์—…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ๊ธฐ ์‹คํ–‰ Spark ์ปจํ…์ŠคํŠธ ๋ณด์œ  ์—ฌ๋Ÿฌ ์ž‘์—… ๋ฐ ํด๋ผ์ด์–ธํŠธ์—์„œ ์บ์‹œ๋œ RDD ๋˜๋Š” ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ๊ณต์œ  ์—ฌ๋Ÿฌ Spark Context..

[Hadoop 3] Eraser coding

๋ชฉ์  ๋ณต์ œ ๋น„์šฉ์ด ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค. HDFS์˜ ๊ธฐ๋ณธ 3๋ฐฐ ๋ณต์ œ ์ฒด๊ณ„๋Š” ์Šคํ† ๋ฆฌ์ง€ ๊ณต๊ฐ„ ๋ฐ ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค(์˜ˆ: ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ)์—์„œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ 200%์ž…๋‹ˆ๋‹ค. ์ƒ๋Œ€์ ์œผ๋กœ I/O ์ž‘์—…์ด ์ ์€ Warm๋ฐ Cold ๋ฐ์ดํ„ฐ์…‹์˜ ๊ฒฝ์šฐ ์ผ๋ฐ˜ ์ž‘์—… ์ค‘์—๋Š” ์ถ”๊ฐ€ ๋ธ”๋ก ๋ณต์ œ๋ณธ์— ๊ฑฐ์˜ ์•ก์„ธ์Šคํ•˜์ง€ ์•Š์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ๋ณต์ œ๋ณธ๊ณผ ๋™์ผํ•œ ์–‘์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Hot : ๋น ๋ฅธ ์ฟผ๋ฆฌ, fresh ๋ฐ์ดํ„ฐ, ๋™์‹œ์„ฑ๋†’์Œ warm : hot, cold ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์ด cold data : ๋Š๋ฆฐ์ฟผ๋ฆฌ, not fresh ๋ฐ์ดํ„ฐ, ๋ฆฌํฌํŒ…, ํ”Œ๋žœ, ๋™์‹œ์„ฑ ๋‚ฎ์Œ ํ›จ์”ฌ ์ ์€ ์Šคํ† ๋ฆฌ์ง€ ๊ณต๊ฐ„์œผ๋กœ ํ•˜๋‘ก ์ด์ „๋ฒ„์ „์˜ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ Eraser Coding(EC) ์„ค์ •์—์„œ ์Šคํ† ๋ฆฌ์ง€ ์˜ค๋ฒ„ํ—ค๋“œ๋Š” 50%๋ฅผ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. EC ํŒŒ์ผ์˜ ๋ณต์ œ ํŒฉ..

[Hadoop] Hadoop 3.1.1 ๋ฒ„์ „ ํ…Œ์ŠคํŠธ / ํ•˜๋‘ก ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

ํ•˜๋‘ก์„ ์„ค์น˜ํ•˜๊ณ  ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์„ธํŒ…ํ•œ ํ›„ ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” example.jar ํŒŒ์ผ์„ ํ†ตํ•ด ์ž„์˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ณ‘๋ ฌ์ฒ˜๋ฆฌํ•˜์—ฌ ์ •๋ ฌ, ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜์—ฌ ๊ธฐ๋ณธ์ ์ธ ์„ฑ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ณต์‹์‚ฌ์ดํŠธ์—์„œ๋Š” ์˜ˆ์ œ ์ฐพ๊ธฐ ํž˜๋“ค์—ˆ๊ณ , microsoft azure๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. https://docs.microsoft.com/ko-kr/azure/hdinsight/hadoop/apache-hadoop-run-samples-linux HDInsight์—์„œ Apache Hadoop MapReduce ์˜ˆ์ œ ์‹คํ–‰ - Azure HDInsight์— ํฌํ•จ๋œ jar ํŒŒ์ผ์˜ MapReduce ์ƒ˜ํ”Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘ํ•˜์„ธ์š”. SSH๋ฅผ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ์—..