shell

Definition

Cluster ์ƒ์˜ ์ž„์˜์˜ host์—์„œ shell ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์ขŒ์ธก [Flow๊ตฌ์„ฑ]๋…ธ๋“œ ์ค‘ [shell]๋…ธ๋“œ๋ฅผ drag & drop ํ•œ ํ›„ Property ํ•ญ๋ชฉ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. Property ํŒจ๋„์˜ [๋”๋ณด๊ธฐ+] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๊ฐ€๋Šฅํ•œ ์ „์ฒด Property ํ•ญ๋ชฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Set

[setting], [scheduler], [parameter] ์„ค์ •์€ [์›Œํฌํ”Œ๋กœ์šฐ] > [์ƒ์„ฑ] > [๊ธฐ๋ณธ๊ตฌ์„ฑ]์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

property

[Node Description] ์ž‘์„ฑ ์ค‘์ธ ๋…ธ๋“œ๋ช… ์ž…๋ ฅ

shell01

  1. prepare : ๋…ธ๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ HDFS์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ผ์‚ญ์ œ/ํด๋”์ƒ์„ฑ ์ž‘์—… ์„  ์ˆ˜ํ–‰(์›Œํฌํ”Œ๋กœ์šฐ ๋ฐ˜๋ณต์‹คํ–‰ ์‹œ ํ™œ์šฉ๊ฐ€๋Šฅ)
    • delete : ๋…ธ๋“œ ์‹คํ–‰ ์ „ ์‚ญ์ œํ•  ํด๋”/ํŒŒ์ผ ๊ฒฝ๋กœ
    • mkdir : ๋…ธ๋“œ ์‹คํ–‰ ์ „ ์ƒ์„ฑํ•  ํด๋” ๊ฒฝ๋กœ
  2. file : ๋…ธ๋“œ์—์„œ ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •
  3. archive : archive ๊ฒฝ๋กœ๋ฅผ ์„ค์ •
  4. retry
    • max: ์žฌ์ˆ˜ํ–‰ ํšŸ์ˆ˜
    • period: ์žฌ์ˆ˜ํ–‰ ๊ฐ„๊ฒฉ
  5. jobXml : jobXml ์ž…๋ ฅ
  6. configuration : ์‹คํ–‰์— ์‚ฌ์šฉํ•  ์†์„ฑ (key, value) ์ž…๋ ฅ
  7. envVar : keyValPair ์ž…๋ ฅ
  8. captionOutput : capture output ์—ฌ๋ถ€ ์„ ํƒ
  9. shellCmd : shell command๋ฅผ ์ง์ ‘ ์ž…๋ ฅ
    • [Script Editor]๋ฅผ ์„ ํƒํ•ด์„œ ํŒ์—…๋œ editor๋ฅผ ํ†ตํ•ด ์ฝ”๋”ฉ ๊ฐ€๋Šฅ
  10. argument : ์ธ์ˆ˜ ์„ค์ •
  11. forceOK : ์‹คํŒจ ์‹œ ๊ฐ•์ œ OK ์ฒ˜๋ฆฌ ์—ฌ๋ถ€

Example

ํฌ๊ธฐ๊ฐ€ 0 byte์ธ ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ [shell] ๋…ธ๋“œ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

```
touch /usr/local/hadoop/sample.txt
```
  1. [shell]๋…ธ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” shell์€ ์‚ฌ์ „์— hdfs์— ์œ„์น˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์œ„ ๋‚ด์šฉ์„ ์ €์žฅ(crefile.sh) ํ›„ [๋ธŒ๋ผ์šฐ์ €] > [HDFS] ๋˜๋Š” ํ„ฐ๋ฏธ๋„์— ์ ‘์†ํ•ด์„œ hdfs์— ์ €์žฅ

    • kbtest ํด๋Ÿฌ์Šคํ„ฐ /tmp/ManSample/shell ํด๋”์— ์ €์žฅ
  2. [Flow๊ตฌ์„ฑ]๋…ธ๋“œ ์ค‘ [shell]๋…ธ๋“œ๋ฅผ drag & drop ํ•œ ํ›„ Property ํ•ญ๋ชฉ ์ž…๋ ฅ

    • [2.file] property์—์„œ ์•ž์„œ ์ €์žฅํ•œ ํŒŒ์ผ์„ ์„ ํƒ
      shell02
    • [9.shellCmd] property์—์„œ sheใ…ฃl command๋ฅผ ์ž…๋ ฅ(์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ๋ฅผ hdfs์— ์ €์žฅํ–ˆ์œผ๋ฏ€๋กœ, ํŒŒ์ผ๋ช…๋งŒ ์ž…๋ ฅ)
      shell02_shellcmd
  3. ์›Œํฌํ”Œ๋กœ์šฐ ์ €์žฅ/์‹คํ–‰ ์‹œ shell์ด ์‹คํ–‰๋˜์–ด 0byte์˜ ๋นˆ ํŒŒ์ผ ์ƒ์„ฑ ํ™•์ธ
    shell04

[Note] shell ๋…ธ๋“œ ์‚ฌ์šฉ์‹œ ์œ ์˜์‚ฌํ•ญ

  1. shell ๋…ธ๋“œ ์ˆ˜ํ–‰์„ ์œ„ํ•œ shell ์Šคํฌ๋ฆฝํŠธ๋ฅผ hdfs์— ์ ์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. shell ์Šคํฌ๋ฆฝํŠธ๋Š” yarn resource manager์—์„œ randomํ•˜๊ฒŒ ์ง€์ •ํ•˜๋Š” node manager์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. hdfs์— ์ ์žฌ๋œ ํŒŒ์ผ์„ local๋กœ ๋‚ด๋ฆฌ๋Š” ๋ช…๋ น ์ˆ˜ํ–‰์‹œ ์ž‘์—…์ด ์‹คํ–‰๋˜๋Š” node manager๋ฅผ ๋จผ์ € ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.