ืงืึทื ืคื™ื’ื™ืขืจื™ื ื’ ืกืคึผืึทืจืง ืื•ื™ืฃ ื™ืึทืจืŸ

ื”ืืจ, ื”ืขืœื! ื ืขื›ื˜ืŸ ืื•ื™ืฃ ืžื™ื˜ืึทืคึผ ื“ืขื“ืึทืงื™ื™ื˜ืึทื“ ืฆื• Apache Spark, ืคึฟื•ืŸ ื“ื™ ื’ื™ื™ื– ืคื•ืŸ Rambler&Co, ืขืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ื’ืึทื ืฅ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืคึฟืจืื’ืŸ ืคื•ืŸ ืคึผืึทืจื˜ื™ืกืึทืคึผืึทื ืฅ ื•ื•ืขื’ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ืขื ื’ืขืฆื™ื™ึทื’. ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื ืึธื›ืคืึธืœื’ืŸ ืื™ืŸ ื–ื™ื™ืŸ ืคื•ืกืกื˜ืขืคึผืก ืื•ืŸ ื˜ื™ื™ืœืŸ ืื•ื ื“ื–ืขืจ ื“ืขืจืคืึทืจื•ื ื’. ื“ื™ ื˜ืขืžืข ืื™ื– ื ื™ืฉื˜ ื’ืจื™ื ื’ - ืึทื–ื•ื™ ืžื™ืจ ืœืึทื“ืŸ ืื™ืจ ืฆื• ื˜ื™ื™ืœืŸ ื“ื™ื™ืŸ ื“ืขืจืคืึทืจื•ื ื’ ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ, ืืคึฟืฉืจ ืžื™ืจ ืื•ื™ืš ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืื•ืŸ ื ื•ืฆืŸ ืขืคึผืขืก ืคืึทืœืฉ.

ื ื‘ื™ืกืœ ื”ืงื“ืžื” ืฆื• ื•ื•ื™ ืžื™ืจ ื ื•ืฆืŸ Spark. ืžื™ืจ ื”ืึธื‘ืŸ ืึท ื“ืจื™ื™-ื—ื•ื“ืฉ ืคึผืจืึธื’ืจืึทื "ื‘ื™ื’ ื“ืึทื˜ืึท ืžื•ืžื›ืข", ืื•ืŸ ืื™ื‘ืขืจ ื“ื™ ืจื’ืข ืžืึธื“ื•ืœืข ืื•ื ื“ื–ืขืจ ืคึผืึทืจื˜ื™ืกืึทืคึผืึทื ืฅ ืึทืจื‘ืขื˜ ืื•ื™ืฃ ื“ืขื ืงื™ื™ืœืข. ื“ืขืจืคึฟืึทืจ, ืื•ื ื“ื–ืขืจ ืึทืจื‘ืขื˜, ื•ื•ื™ ืึธืจื’ืึทื ื™ื™ื–ืขืจื–, ืื™ื– ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ื“ืขื ืงื ื•ื™ืœ ืคึฟืึทืจ ื ื•ืฆืŸ ืื™ืŸ ืึทื–ืึท ืึท ืคืึทืœ.

ื“ื™ ืคึผื™ืงื™ื•ืœื™ืขืจืึทื˜ื™ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื ื•ืฆืŸ ืื™ื– ืึทื– ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืžืขื ื˜ืฉืŸ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืกืคึผืึทืจืง ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืœื™ื™ึทืš ืฆื• ื“ื™ ื’ืื ืฆืข ื’ืจื•ืคึผืข. ืœืžืฉืœ, ืื™ืŸ ืึท ืกืขืžื™ื ืึทืจ, ื•ื•ืขืŸ ืึทืœืขืžืขืŸ ืคึผืจื•ึผื•ื•ื˜ ืขืคึผืขืก ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ืื•ืŸ ืจื™ืคึผื™ื˜ื™ื“ ื ืึธืš ืื•ื ื“ื–ืขืจ ืœืขืจืขืจ. ืื•ืŸ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึท ืคึผืœืึทืฅ - ืžืืœ ืึทืจื•ื™ืฃ ืฆื• 40 ืžืขื ื˜ืฉืŸ. ืขืก ื–ืขื ืขืŸ ืžื™ืกื˜ืึธืžืข ื ื™ืฉื˜ ืคื™ืœืข ืงืึธืžืคึผืึทื ื™ืขืก ืื™ืŸ ื“ืขืจ ื•ื•ืขืœื˜ ื•ื•ืึธืก ื”ืึธื‘ืŸ ืึทื–ืึท ืึท ื ื•ืฆืŸ ืคืึทืœ.

ื“ืขืจื ืึธืš, ืื™ืš ื•ื•ืขืœ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ื™ ืื•ืŸ ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ื–ื™ื›ืขืจ ืงืึทื ืคื™ื’ื™ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจืก.

ื–ืืœ ืก ืึธื ื”ื™ื™ื‘ืŸ ืคื•ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘. ืกืคึผืึทืจืง ื”ืื˜ 3 ืึธืคึผืฆื™ืขืก ืฆื• ืœื•ื™ืคืŸ ืื•ื™ืฃ ืึท ืงื ื•ื™ืœ: ืกื˜ืึทื ื“ืึทืœืึธื ืข, ื ื™ืฆืŸ Mesos ืื•ืŸ ื ื™ืฆืŸ YARN. ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืงืœื™ื™ึทื‘ืŸ ื“ื™ ื“ืจื™ื˜ ืึธืคึผืฆื™ืข ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื–ื™ื ืขืŸ ืคึฟืึทืจ ืื•ื ื“ื–. ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืึท ื”ืึธืึธืึธืคึผ ืงื ื•ื™ืœ. ืื•ื ื“ื–ืขืจืข ืคึผืึทืจื˜ื™ืกืึทืคึผืึทื ืฅ ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื’ื•ื˜ ื‘ืึทืงืึทื ื˜ ืžื™ื˜ ื–ื™ื™ึทืŸ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ. ื–ืืœ ืก ื ื•ืฆืŸ YARN.

spark.master=yarn

ื•ื•ื™ื™ึทื˜ืขืจ ืžืขืจ ื˜ืฉื™ืงืึทื•ื•ืข. ื™ืขื“ืขืจ ืคื•ืŸ ื“ื™ 3 ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืึธืคึผืฆื™ืขืก ื”ืื˜ 2 ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืึธืคึผืฆื™ืขืก: ืงืœื™ืขื ื˜ ืื•ืŸ ืงื ื•ื™ืœ. ื‘ืื–ื™ืจื˜ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ืคืึทืจืฉื™ื“ืŸ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ืขืŸ ืื•ื™ืฃ ื“ืขืจ ืื™ื ื˜ืขืจื ืขืฅ, ืžื™ืจ ืงืขื ืขืŸ ืคืึทืจืขื ื“ื™ืงืŸ ืึทื– ื“ืขืจ ืงืœื™ืขื ื˜ ืื™ื– ืคึผืึทืกื™ืง ืคึฟืึทืจ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื• ืึทืจื‘ืขื˜ - ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื•ืจืš ื“ื–ืฉื•ืคึผื™ื˜ืขืจ ื”ืขืคื˜, ืื•ืŸ ืงื ื•ื™ืœ ืื™ื– ืžืขืจ ืคึผืึทืกื™ืง ืคึฟืึทืจ ืคึผืจืึธื“ื•ืงืฆื™ืข ืกืึทืœื•ืฉืึทื ื–. ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืžื™ืจ ื–ืขื ืขืŸ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื• ืึทืจื‘ืขื˜, ื“ืขืจื™ื‘ืขืจ:

spark.deploy-mode=client

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืคึฟื•ืŸ ืื™ืฆื˜ ืื•ื™ืฃ Spark ื•ื•ืขื˜ ืขืคืขืก ืึทืจื‘ืขื˜ ืื•ื™ืฃ YARN, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ื’ืขื ื•ื’ ืคึฟืึทืจ ืื•ื ื“ื–. ื–ื™ื ื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืคึผืจืึธื’ืจืึทื ื•ื•ืขื’ืŸ ื’ืจื•ื™ืก ื“ืึทื˜ืŸ, ืžืืœ ื“ื™ ืคึผืึทืจื˜ื™ืกืึทืคึผืึทื ืฅ ื”ืื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ื’ืขื ื•ื’ ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื‘ืืงื•ืžืขืŸ ืื™ืŸ ื“ื™ ืคืจื™ื™ืžื•ื•ืขืจืง ืคื•ืŸ ืึท ื’ืœื™ื™ึทืš ืกืœื™ื™ืกื™ื ื’ ืคื•ืŸ ืจืขืกื•ืจืกืŸ. ืื•ืŸ ื“ืขืžืึธืœื˜ ืžื™ืจ ื’ืขืคื•ื ืขืŸ ืึท ื˜ืฉื™ืงืึทื•ื•ืข ื–ืึทืš - ื“ื™ื ืึทืžื™ืฉ ืžื™ื˜ืœ ืึทืœืึทืงื™ื™ืฉืึทืŸ. ืื™ืŸ ืงื•ืจืฅ, ื“ื™ ืคื•ื ื˜ ืื™ื– ื“ืึธืก: ืื•ื™ื‘ ืื™ืจ ื”ืึธื‘ืŸ ืึท ืฉื•ื•ืขืจ ืึทืจื‘ืขื˜ ืื•ืŸ ื“ืขืจ ืงื ื•ื™ืœ ืื™ื– ืคืจื™ื™ (ืœืžืฉืœ, ืื™ืŸ ื“ืขืจ ืžืึธืจื’ืŸ), ื ื™ืฆืŸ ื“ืขื ืึธืคึผืฆื™ืข ืกืคึผืึทืจืง ืงืขื ืขืŸ ื’ืขื‘ืŸ ืื™ืจ ื ืึธืš ืจืขืกื•ืจืกืŸ. ื ื•ื™ื˜ื™ืง ื•ื•ืขืจื˜ ื“ืึธืจื˜ืŸ ืื•ื™ืกื’ืขืจืขื›ื ื˜ ืœื•ื™ื˜ ืึท ื›ื™ื˜ืจืข ืคืึธืจืžื•ืœืข. ืžื™ืจ ื•ื•ืขืœืŸ ื ื™ืฉื˜ ื’ื™ื™ืŸ ืื™ืŸ ื“ืขื˜ืึทื™ืœืก - ืขืก ืึทืจื‘ืขื˜ ื’ื•ื˜.

spark.dynamicAllocation.enabled=true

ืžื™ืจ ืฉื˜ืขืœืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ, ืื•ืŸ ื‘ื™ื™ ืกื˜ืึทืจื˜ืึทืคึผ ืกืคึผืึทืจืง ืงืจืึทืฉื˜ ืื•ืŸ ื”ืื˜ ื ื™ืฉื˜ ืึธื ื”ื™ื™ื‘ืŸ. ืึทื– ืก ืจืขื›ื˜, ื•ื•ื™ื™ึทืœ ืื™ืš ื’ืขื”ืื˜ ืฆื• ืœื™ื™ืขื ืขืŸ ืขืก ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืžืขืจ ืงืขืจืคืึทืœื™. ืขืก ืฉื˜ื™ื™ื˜ ืึทื– ื›ึผื“ื™ ืึทืœืฅ ื–ืึธืœ ื–ื™ื™ืŸ ื’ื•ื˜, ืื™ืจ ืื•ื™ืš ื“ืึทืจืคึฟืŸ ืฆื• ื’ืขื‘ืŸ ืึทืŸ ื ืึธืš ืคึผืึทืจืึทืžืขื˜ืขืจ.

spark.shuffle.service.enabled=true

ืคืืจื•ื•ืืก ืื™ื– ืขืก ื“ืืจืฃ? ื•ื•ืขืŸ ืื•ื ื“ื–ืขืจ ืึทืจื‘ืขื˜ ื“ืึทืจืฃ ื ื™ื˜ ืžืขืจ ืึทื–ื•ื™ ืคื™ืœืข ืจืขืกื•ืจืกืŸ, ืกืคึผืึทืจืง ื–ืึธืœ ื–ื™ื™ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ื“ื™ ืคึผืจืึธืกื˜ ื‘ืขืงืŸ. ื“ื™ ืžืขืจืกื˜ ืฆื™ื™ื˜-ืงืึทื ืกื•ืžื™ื ื’ ื‘ื™ื ืข ืื™ืŸ ื›ึผืžืขื˜ ืงื™ื™ืŸ MapReduce ืึทืจื‘ืขื˜ ืื™ื– ื“ื™ ืฉื•ืคืคืœืข ื‘ื™ื ืข. ื“ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ื“ื™ ื“ืึทื˜ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืื™ืŸ ื“ืขื ื‘ื™ื ืข ืื•ืŸ ืžืขืœื“ื•ื ื’ ื“ื™ ืขืงืกืึทืงื™ื•ื˜ืขืจื– ืึทืงืึธืจื“ื™ื ื’ืœื™. ืื•ืŸ ื“ืขืจ ืขืงืกืึทืงื™ื•ื˜ืขืจ ืื™ื– ื“ืขืจ ืคึผืจืึธืฆืขืก ื•ื•ืึธืก ืงืึทืœืงื™ืึทืœื™ื™ืฅ ืึทืœืฅ ืื•ื™ืฃ ื“ื™ ืึทืจื‘ืขื˜ืขืจ. ืขืก ื”ืื˜ ืึท ื–ื™ื›ืขืจ ื ื•ืžืขืจ ืคื•ืŸ ืคึผืจืึทืกืขืกืขืจ ืงืึธืจืขืก ืื•ืŸ ืึท ื–ื™ื›ืขืจ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ื–ื›ึผืจื•ืŸ.

ื“ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ. ืึทืœืฅ ื”ืึธื˜ ืื•ื™ืกื’ืขื–ืขืŸ ืฆื• ืึทืจื‘ืขื˜ืŸ. ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ืืžืขืจืงื˜ ืึทื– ืคึผืึทืจื˜ื™ืกืึทืคึผืึทื ืฅ ื–ืขื ืขืŸ ืคืืงื˜ื™ืฉ ื’ืขื’ืขื‘ืŸ ืžืขืจ ืจืขืกื•ืจืกืŸ ื•ื•ืขืŸ ื–ื™ื™ ื“ืืจืฃ ื–ื™ื™. ืื‘ืขืจ ื ืืš ื ืคืจืื‘ืœืขื ืื™ื– ืื•ื™ืคื’ืขืฉื˜ืื ืขืŸ - ืืžืืœ ื”ืื‘ืŸ ื–ื™ืš ืื•ื™ืคื’ืขื•ื•ืขืงื˜ ืื ื“ืขืจืข ื‘ืื˜ื™ื™ืœื™ื’ื˜ืขืจ ืื•ืŸ ื”ืื‘ืŸ ืื•ื™ืš ื’ืขื•ื•ืืœื˜ ื ื•ืฆืŸ ืกืคืืจืง, ืื‘ืขืจ ื“ืืจื˜ ืื™ื– ืืœืขืก ื’ืขื•ื•ืขืŸ ืคืืจื ื•ืžืขืŸ, ืื•ืŸ ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืื•ืžื’ืœื™ืงืœืขืš. ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืืจืฉื˜ืื ืขืŸ. ืžื™ืจ ืื ื’ืขื”ื•ื™ื‘ืŸ ืงื•ืงืŸ ืื™ืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ. ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– ืขืก ื–ืขื ืขืŸ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืื ื“ืขืจืข ืคึผืึทืจืึทืžืขื˜ืขืจืก ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ื”ืฉืคึผืขื” ืื•ื™ืฃ ื“ืขื ืคึผืจืึธืฆืขืก. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ื“ืขืจ ืขืงืกืึทืงื™ื•ื˜ืขืจ ืื™ื– ืื™ืŸ ืกื˜ืึทื ื“ื‘ื™ื™ ืžืึธื“ืข, ื ืึธืš ื•ื•ืึธืก ืฆื™ื™ื˜ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื ื•ืžืขืŸ ืคื•ืŸ ืขืก ืจืขืกื•ืจืกืŸ?

spark.dynamicAllocation.executorIdleTimeout=120s

ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืื•ื™ื‘ ื“ื™ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืขืจื– ื˜ืึธืŸ ื’ืึธืจื ื™ืฉื˜ ืคึฟืึทืจ ืฆื•ื•ื™ื™ ืžื™ื ื•ื˜, ื‘ื™ื˜ืข ืฆื•ืจื™ืงืงื•ืžืขืŸ ื–ื™ื™ ืฆื• ื“ืขืจ ืคึผืจืึธืกื˜ ื‘ืขืงืŸ. ืื‘ืขืจ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื– ื ื™ื˜ ืฉื˜ืขื ื“ื™ืง ื’ืขื ื•ื’. ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืงืœืึธืจ ืึทื– ื“ืขืจ ืžืขื ื˜ืฉ ื”ืื˜ ื ื™ืฉื˜ ื˜ืืŸ ืขืคึผืขืก ืคึฟืึทืจ ืึท ืœืึทื ื’ ืฆื™ื™ึทื˜, ืื•ืŸ ื“ื™ ืจืขืกื•ืจืกืŸ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืคืจื™ื™. ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– ืขืก ืื™ื– ืื•ื™ืš ืึท ืกืคึผืขืฆื™ืขืœ ืคึผืึทืจืึทืžืขื˜ืขืจ - ื ืึธืš ื•ื•ืึธืก ืžืึธืœ ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืขืงืกืขืงื•ื˜ืึธืจืก ื•ื•ืึธืก ืึทื ื˜ื”ืึทืœื˜ืŸ ืงืึทืฉื˜ ื“ืึทื˜ืŸ. ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ื•ืžืขื ื“ื™ืงื™ื™ึทื˜! ืžื™ืจ ืงืขืจืขืงื˜ืึทื“ ืขืก.

spark.dynamicAllocation.cachedExecutorIdleTimeout=600s

ืึทื– ืื™ื–, ืื•ื™ื‘ ื“ื™ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืขืจื– ื˜ืึธืŸ ื’ืึธืจื ื™ืฉื˜ ืคึฟืึทืจ 5 ืžื™ื ื•ื˜, ื’ืขื‘ืŸ ื–ื™ื™ ืฆื• ื“ืขืจ ืคึผืจืึธืกื˜ ื‘ืขืงืŸ. ืื™ืŸ ื“ืขื ืžืึธื“ืข, ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ืจื™ืœื™ืกื™ื ื’ ืื•ืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืจืขืกื•ืจืกืŸ ืคึฟืึทืจ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื ื™ืฆืขืจืก ืื™ื– ื’ืขื•ื•ืืจืŸ ืœื™ื™ึทื˜ื™ืฉ. ื“ื™ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ืื•ืžืฆื•ืคืจื™ื“ื ืงื™ื™ื˜ ืื™ื– ื“ื™ืงืจื™ืกื˜. ืึธื‘ืขืจ ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื’ื™ื™ืŸ ื•ื•ื™ื™ึทื˜ืขืจ ืื•ืŸ ื‘ืึทื’ืจืขื ืขืฆืŸ ื“ื™ ืžืึทืงืกื™ืžื•ื ื ื•ืžืขืจ ืคื•ืŸ ืขืงืกืึทืงื™ื•ื˜ืขืจื– ืคึผืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ - ื‘ื™ื™ืกื™ืงืœื™ ืคึผืขืจ ืคึผืจืึธื’ืจืึทื ื‘ืึทื˜ื™ื™ืœื™ืงื˜ืขืจ.

spark.dynamicAllocation.maxExecutors=19

ืื™ืฆื˜, ืคึฟืึทืจืฉื˜ื™ื™ื˜ ื–ื™ืš, ื–ืฒึทื ืขืŸ ืื•ื™ืฃ ื“ืขืจ ืึทื ื“ืขืจืขืจ ื–ื™ื™ื˜ ื ื™ืฉื˜ ืฆื•ืคึฟืจื™ื“ืŸ โ€” "ื“ืขืจ ืืฉื›ื•ืœ ืื™ื– ืœื™ื™ื“ื™ืง, ืื•ืŸ ืื™ืš ื”ืึธื‘ ื ืึธืจ 19 ืขืงื–ืขืงื•ื˜ืึธืจืก", ืึธื‘ืขืจ ื•ื•ืึธืก ืงืขื ืกื˜ื• ื˜ืึธืŸ, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืึท ืžื™ืŸ ืจื™ื›ื˜ื™ืง ื•ื•ืึธื’. ืžืข ืงืึธืŸ ื ื™ืฉื˜ ืึทืœืขืžืขืŸ ื’ืœื™ืงืœืขืš ืžืึทื›ืŸ.

ืื•ืŸ ื ืึธืš ืึท ืงืœื™ื™ืŸ ื’ืขืฉื™ื›ื˜ืข ืฉื™ื™ืš ืฆื• ื“ื™ ืกืคึผืขืกื™ืคื™ืงืก ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ. ืขืคืขืก, ืขื˜ืœืขื›ืข ืžืขื ื˜ืฉืŸ ื–ืขื ืขืŸ ืฉืคึผืขื˜ ืคึฟืึทืจ ืึท ืคึผืจืึทืงื˜ื™ืฉ ืœืขืงืฆื™ืข, ืื•ืŸ ืคึฟืึทืจ ืขื˜ืœืขื›ืข ืกื™ื‘ื” ืกืคึผืึทืจืง ื”ืื˜ ื ื™ืฉื˜ ืึธื ื”ื™ื™ื‘ืŸ ืคึฟืึทืจ ื–ื™ื™. ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขืงื•ืงื˜ ืื•ื™ืฃ ื“ื™ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ืคืจื™ื™ ืจืขืกื•ืจืกืŸ - ืขืก ืžื™ื™ื ื˜ ืฆื• ื–ื™ื™ืŸ ื“ืึธืจื˜. ืึธื ืฆื™ื ื“ืŸ ื–ืึธืœ ืึธื ื”ื™ื™ื‘ืŸ. ืฆื•ืž ื’ืœื™ืง, ืื™ืŸ ื“ืขืจ ืฆื™ื™ื˜, ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ื– ืฉื•ื™ืŸ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ื“ื™ ืกื•ื‘ืงืึธืจื˜ืขืงืก ืขืจื’ืขืฅ, ืื•ืŸ ืžื™ืจ ื’ืขื“ืขื ืงื˜ ืึทื– ื•ื•ืขืŸ ืœืึธื ื˜ืฉื™ื ื’, ืกืคึผืึทืจืง ื–ื•ื›ื˜ ืคึฟืึทืจ ืึท ืคึผืึธืจื˜ ืื•ื™ืฃ ื•ื•ืึธืก ืฆื• ืึธื ื”ื™ื™ื‘ืŸ. ืื•ื™ื‘ ื“ืขืจ ืขืจืฉื˜ืขืจ ืคึผืึธืจื˜ ืื™ืŸ ื“ื™ ืงื™ื™ื˜ ืื™ื– ืคืึทืจื ื•ืžืขืŸ, ืขืก ื‘ืื•ื•ืขื’ื˜ ืฆื• ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืื™ืŸ ืกื“ืจ. ืื•ื™ื‘ ืขืก ืื™ื– ืคืจื™ื™, ืขืก ืงืึทืคึผื˜ืฉืขืจื–. ืื•ืŸ ืขืก ืื™ื– ืึท ืคึผืึทืจืึทืžืขื˜ืขืจ ื•ื•ืึธืก ื™ื ื“ื™ืงื™ื™ืฅ ื“ื™ ืžืึทืงืกื™ืžื•ื ื ื•ืžืขืจ ืคื•ืŸ ืคืจื•ื•ื•ืŸ ืคึฟืึทืจ ื“ืขื. ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืื™ื– 16. ื“ื™ ื ื•ืžืขืจ ืื™ื– ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืžืขื ื˜ืฉืŸ ืื™ืŸ ืื•ื ื“ื–ืขืจ ื’ืจื•ืคึผืข ืื™ืŸ ืงืœืึทืก. ืึทืงืงืึธืจื“ื™ื ื’ืœื™, ื ืึธืš 16 ืคืจื•ื•ื•ืŸ, ืกืคึผืึทืจืง ื’ืขื’ืขื‘ืŸ ืึทืจื•ื™ืฃ ืื•ืŸ ื’ืขื–ืื’ื˜ ืึทื– ืื™ืš ืงืขืŸ ื ื™ืฉื˜ ืึธื ื”ื™ื™ื‘ืŸ. ืžื™ืจ ื”ืึธื‘ืŸ ืงืขืจืขืงื˜ืึทื“ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ.

spark.port.maxRetries=50

ื•ื•ื™ื™ึทื˜ืขืจ ืื™ืš ื•ื•ืขื˜ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ืขื’ืŸ ืขื˜ืœืขื›ืข ืกืขื˜ื˜ื™ื ื’ืก ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืขืจ ืฉื™ื™ึทื›ื•ืช ืฆื• ื“ื™ ืกืคึผืขืกื™ืคื™ืงืก ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ.

ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืกืคึผืึทืจืง ืคืึทืกื˜ืขืจ, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ืึทืจืงื™ื™ื•ื• ื“ื™ ื“ื–ืฉืึทืจื– ื˜ืขืงืข ืื™ืŸ ื“ื™ SPARK_HOME ื”ื™ื™ื ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืื•ื™ืฃ HDFS. ื“ืขืžืืœ ื˜ ืฐืข ื˜ ืข ืจ ื ื™ ื˜ ืฐื™ืกื˜ ืŸ ืฆืฒื˜ , ื‘ืืœืื“ืข ืŸ ื“ ื™ ื“ืื–ื™ืง ืข ื“ื–ืฉืืจื ื™ืงืขืก , ื“ื•ืจ ืš ืืจื‘ืขื˜ืขืจ .

spark.yarn.archive=hdfs:///tmp/spark-archive.zip

ืขืก ืื™ื– ืื•ื™ืš ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ ืงืจื™ืึธ ื•ื•ื™ ืึท ืกื™ืจื™ืึทืœื™ื–ืขืจ ืคึฟืึทืจ ืคืึทืกื˜ืขืจ ืึธืคึผืขืจืึทืฆื™ืข. ืขืก ืื™ื– ืžืขืจ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื•ื•ื™ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜.

spark.serializer=org.apache.spark.serializer.KryoSerializer

ืื•ืŸ ืขืก ืื™ื– ืื•ื™ืš ืึท ืœืึทื ื’-ืฉื˜ื™ื™ืขื ื“ื™ืง ืคึผืจืึธื‘ืœืขื ืžื™ื˜ Spark ืึทื– ืขืก ืึธืคื˜ ืงืจืึทืฉื™ื– ืคื•ืŸ ื–ื›ึผืจื•ืŸ. ืึธืคื˜ ื“ืึธืก ื›ืึทืคึผืึทื ื– ืื™ืŸ ื“ืขื ืžืึธืžืขื ื˜ ื•ื•ืขืŸ ื“ื™ ืึทืจื‘ืขื˜ืขืจ ื”ืึธื‘ืŸ ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื“ ืึทืœืฅ ืื•ืŸ ืฉื™ืงืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืฆื• ื“ื™ ืฉืึธืคืขืจ. ืžื™ืจ ื’ืขืžืื›ื˜ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ ื’ืจืขืกืขืจืข ืคึฟืึทืจ ื–ื™ืš. ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ืขืก ืื™ื– 1GB, ืžื™ืจ ื’ืขืžืื›ื˜ ืขืก 3.

spark.driver.maxResultSize=3072

ืื•ืŸ ืœืขืกืึธืฃ, ื•ื•ื™ ืึท ืคืึทืจื‘ื™ื™ึทืกืŸ. ื•ื•ื™ ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ Spark ืฆื• ื•ื•ืขืจืกื™ืข 2.1 ืื•ื™ืฃ HortonWorks ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ - HDP 2.5.3.0. ื“ื™ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื”ื“ืคึผ ื›ึผื•ืœืœ ืึท ืคืึทืจ-ืื™ื ืกื˜ืึทืœื™ืจืŸ ื•ื•ืขืจืกื™ืข 2.0, ืึธื‘ืขืจ ืžื™ืจ ืึทืžืึธืœ ื‘ืึทืฉืœืึธืกืŸ ืคึฟืึทืจ ื–ื™ืš ืึทื– ืกืคึผืึทืจืง ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ื’ืึทื ืฅ ืึทืงื˜ื™ื•ื•ืœื™, ืื•ืŸ ื™ืขื“ืขืจ ื ื™ื™ึท ื•ื•ืขืจืกื™ืข ืคื™ืงืกื™ื– ืขื˜ืœืขื›ืข ื‘ืึทื’ื– ืคึผืœื•ืก ื’ื™ื˜ ื ืึธืš ืคึฟืขื™ึดืงื™ื™ื˜ืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืคึฟืึทืจ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ืึทืคึผื™, ืึทื–ื•ื™ ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ื•ื•ืึธืก ื“ืึทืจืฃ ืฆื• ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ืื™ื– ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ.

ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื“ื™ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ืคึฟืึทืจ Hadoop 2.7. ืึทื ื–ื™ืคึผ ืขืก ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืื™ืŸ ื“ื™ HDP ื˜ืขืงืข. ืžื™ืจ ื”ืึธื‘ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืกื™ืžืœื™ื ืงืก ื•ื•ื™ ื“ืืจืฃ. ืžื™ืจ ืงืึทื˜ืขืจ ืขืก - ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ืึธื ื”ื™ื™ื‘ืŸ. ืฉืจื™ื™ื‘ื˜ ื–ื™ื™ืขืจ ื ืžืื“ื ืข ื˜ืขื•ืช.

java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig

ื ืึธืš ื’ืึธื’ืœื™ื ื’, ืžื™ืจ ื’ืขืคื•ื ืขืŸ ืึทื– ืกืคึผืึทืจืง ื‘ืึทืฉืœืึธืกืŸ ื ื™ืฉื˜ ืฆื• ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– Hadoop ืื™ื– ื’ืขื‘ื•ื™ืจืŸ, ืื•ืŸ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื–ืฉืขืจื–ื™. ื–ื™ื™ ื–ื™ืš ื˜ืขื ื”ืŸ ืžื™ื˜ ื™ืขื“ืขืจ ืื ื“ืขืจืข ื•ื•ืขื’ืŸ ื“ืขื ื˜ืขืžืข ืื™ืŸ JIRA. ื“ื™ ืœื™ื™ื–ื•ื ื’ ืื™ื– ื’ืขื•ื•ืขืŸ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ื“ื–ืฉืขืจื–ื™ ื•ื•ืขืจืกื™ืข 1.17.1. ืึธืจื˜ ื“ืขื ืื™ืŸ ื“ื™ ื“ื–ืฉืึทืจื– ื˜ืขืงืข ืื™ืŸ SPARK_HOME, ืคืึทืจืฉืœืขืกืœืขืŸ ืขืก ื•ื•ื™ื“ืขืจ ืื•ืŸ ื•ืคึผืœืึธืึทื“ ืขืก ืฆื• HDFS.

ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ืึทืจื•ื ื“ืขื ื˜ืขื•ืช, ืึธื‘ืขืจ ืึท ื ื™ื™ึทืข ืื•ืŸ ื’ืึทื ืฅ ืกื˜ืจื™ืžืœื™ื™ื ื“ ื˜ืขื•ืช ืื™ื– ืื•ื™ืคื’ืขืฉื˜ืื ืขืŸ.

org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master

ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืžื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืœื•ื™ืคืŸ ื•ื•ืขืจืกื™ืข 2.0 - ืึทืœืฅ ืื™ื– ื’ื•ื˜. ืคึผืจื•ึผื•ื•ื˜ ืฆื• ื˜ืจืขืคืŸ ื•ื•ืึธืก ืก 'ื’ื™ื™ื˜ ืื•ื™ืฃ. ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขืงื•ืงื˜ ืื™ืŸ ื“ื™ ืœืึธื’ืก ืคื•ืŸ ื“ืขื ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ื’ืขื–ืขืŸ ืขืคึผืขืก ื•ื•ื™ ื“ืึธืก:

/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืคึฟืึทืจ ืขื˜ืœืขื›ืข ืกื™ื‘ื” hdp.version ื”ืื˜ ื ื™ืฉื˜ ื”ืึทืœื˜ืŸ. ื ืึธืš ื’ื•ื’ืœื™ื ื’, ืžื™ืจ ื’ืขืคึฟื•ื ืขืŸ ืึท ืœื™ื™ื–ื•ื ื’. ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื’ื™ื™ืŸ ืฆื• ื“ื™ YARN ืกืขื˜ื˜ื™ื ื’ืก ืื™ืŸ Ambari ืื•ืŸ ืœื™ื™ื’ืŸ ืึท ืคึผืึทืจืึทืžืขื˜ืขืจ ืฆื• ื“ื™ ืžื ื”ื’ ื™ืึทืจืŸ ืคึผืœืึทืฅ:

hdp.version=2.5.3.0-37

ื“ืึธืก ืžืึทื’ื™ืฉ ื”ืึธื˜ ื’ืขื”ืึธืœืคึฟืŸ, ืื•ืŸ ืคึฟื™ื ืงืŸ ื”ืึธื˜ ื–ื™ืš ื’ืขื ื•ืžืขืŸ. ืžื™ืจ ื˜ืขืกื˜ืขื“ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ืื•ื ื“ื–ืขืจ ื“ื–ืฉื•ืคึผื™ื˜ืขืจ ืœืึทืคึผื˜ืึทืคึผืก. ืึทืœืฅ ืึทืจื‘ืขื˜. ืžื™ืจ ื–ืขื ืขืŸ ื’ืจื™ื™ื˜ ืคึฟืึทืจ ื“ืขืจ ืขืจืฉื˜ืขืจ ืกืคึผืึทืจืง ืœืขืงืฆื™ืข ืฉื‘ืช (ืžืึธืจื’ืŸ)!

DUP. ื‘ืขืฉืึทืก ื“ื™ ืœืขืงืฆื™ืข, ืืŸ ืื ื“ืขืจ ืคึผืจืึธื‘ืœืขื ื’ืขืงื•ืžืขืŸ ืฆื• ืœื™ื›ื˜. ืื™ืŸ ืขื˜ืœืขื›ืข ืคื•ื ื˜, YARN ืคืืจืฉื˜ืืคื˜ ืฆื•ืฉื˜ืขืœืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืคึฟืึทืจ ืกืคึผืึทืจืง. ืื™ืŸ YARN, ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ืคืึทืจืจื™ื›ื˜ืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ, ื•ื•ืึธืก ืื™ื– ืกื˜ืึทื ื“ืึทืจื˜ 0.2:

yarn.scheduler.capacity.maximum-am-resource-percent=0.8

ืึทื– ืื™ื–, ื‘ืœื•ื™ื– 20% ืคื•ืŸ ืจืขืกื•ืจืกืŸ ืื ื˜ื™ื™ืœ ืื™ืŸ ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืคื•ืŸ ืจืขืกื•ืจืกืŸ. ื ืึธืš ื˜ืฉืึทื ื’ื™ื ื’ ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจืก, ืžื™ืจ ืจื™ืœืึธื•ื“ื™ื“ ื™ืึทืจืŸ. ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ืกืึทืœื•ื•ื“ ืื•ืŸ ื“ื™ ืจืขืฉื˜ ืคื•ืŸ ื“ื™ ืคึผืึทืจื˜ื™ืกืึทืคึผืึทื ืฅ ื–ืขื ืขืŸ ืื•ื™ืš ื‘ื™ื›ื•ืœืช ืฆื• ืœื•ื™ืคืŸ ืึธื ืฆื™ื ื“ืŸ ืงืึธื ื˜ืขืงืกื˜.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’