ืืืืจ, ืฉืืื! ืืชืืื ืขื
ืืงืืื ืงืื ื ืืืฆื ืื ื ืืฉืชืืฉืื ืืกืคืืจืง. ืืฉ ืื ื ืชืืื ืืช ืืฉืืืฉื ืืืืฉืื
ืืืืืจืืช ืฉื ืืฉืืืืฉ ืฉืื ื ืืื ืฉืืกืคืจ ืืื ืฉืื ืฉืขืืืืื ืื ืืื ืืช ืขื Spark ืืืื ืืืืืช ืฉืืื ืืื ืืงืืืฆื. ืืืฉื, ืืกืืื ืจ, ืืฉืืืื ืื ืกืื ืืฉืื ืื ืืื ืืช ืืืืืจืื ืืืจื ืืืืจื ืฉืื ื. ืืื ืื ืืจืื - ืืคืขืืื ืขื 40 ืืืฉ. ืื ืจืื ืฉืืื ืืจืื ืืืจืืช ืืขืืื ืฉืขืืืืืช ืืคื ื ืืงืจื ืฉืืืืฉ ืืื.
ืืืืจ ืืื, ืืกืคืจ ืื ืืืฆื ืืืืืข ืืืจื ื ืคืจืืืจืื ืืกืืืืื ืฉื ืชืฆืืจื.
ืืืื ื ืชืืื ืืืืชืืื. ื-Spark ืืฉ 3 ืืคืฉืจืืืืช ืืจืืฅ ืขื ืืฉืืื: ืขืฆืืื, ืืืืฆืขืืช Mesos ืืฉืืืืฉ ื-YARN. ืืืืื ื ืืืืืจ ืืืคืฉืจืืช ืืฉืืืฉืืช ืื ืื ื ืจืื ืื ื ืืืืื ื. ืืืจ ืืฉ ืื ื ืืฉืืื Hadoop. ืืืฉืชืชืคืื ืฉืื ื ืืืจ ืืืืจืื ืืืื ืืช ืืืจืืืืงืืืจื ืฉืื. ืืืื ื ืฉืชืืฉ ื-YARN.
spark.master=yarn
ืขืื ืืืชืจ ืืขื ืืื. ืืื ืืืช ื-3 ืืคืฉืจืืืืช ืืคืจืืกื ืืืื ืืฉ 2 ืืคืฉืจืืืืช ืคืจืืกื: ืืงืื ืืืฉืืื. ืืืืกืก
spark.deploy-mode=client
ืืืืคื ืืืื, ืืขืืฉืื Spark ืืืืฉืื ืืขืืื ืขื YARN, ืืื ืื ืื ืืกืคืืง ืื ื. ืืืืืื ืฉืืฉ ืื ื ืชืืื ืืช ืขื ืืื ืืืื, ืืคืขืืื ืืืฉืชืชืคืื ืื ืืกืคืืงื ืืื ืฉืืืฉื ืืืกืืจืช ืฉื ืืืชืื ืฉืืื ืฉื ืืฉืืืื. ืืื ืืฆืื ื ืืืจ ืืขื ืืื - ืืงืฆืืช ืืฉืืืื ืืื ืืืช. ืืงืืฆืืจ, ืื ืงืืื ืืื ืืื: ืื ืืฉ ืื ืืฉืืื ืงืฉื ืืืืฉืืื ืคื ืื (ืืืืืื, ืืืืงืจ), ืื ืืฉืืืืฉ ืืืคืฉืจืืช ืืื Spark ืืืื ืืชืช ืื ืืฉืืืื ื ืืกืคืื. ื ืืืฆืืช ืืืืฉื ืฉื ืืคื ื ืืกืื ืขืจืืืืืช. ืื ื ืืื ืก ืืคืจืืื - ืื ืขืืื ืืื.
spark.dynamicAllocation.enabled=true
ืืืืจื ื ืืช ืืคืจืืืจ ืืื, ืืขื ืืืคืขืื Spark ืงืจืก ืืื ืืชืืื. ืื ื ืืื, ืื ืืืืชื ืืืื ืืงืจืื ืืช ืื
spark.shuffle.service.enabled=true
ืืื ืื ื ืืืฅ? ืืฉืืขืืืื ืฉืื ื ืืืจ ืื ืืืจืฉืช ืื ืื ืืจืื ืืฉืืืื, ืกืคืืจืง ืฆืจืื ืืืืืืจ ืืืชื ืืืจืืื ืืืฉืืชืคืช. ืืฉืื ืฉืืืงื ืืช ืืืื ืืืขื ืืื ืืฉืืื ืฉื MapReduce ืืื ืฉืื Shuffle. ืคืจืืืจ ืื ืืืคืฉืจ ืืฉืืืจ ืืช ืื ืชืื ืื ืฉื ืืฆืจืื ืืฉืื ืื ืืืฉืืจืจ ืืช ืืืืฆืขืื ืืืชืื. ืืืืืฆืื ืืคืืขื ืืื ืืชืืืื ืฉืืืฉื ืืื ืขื ืืขืืื. ืืฉ ืื ืืกืคืจ ืืกืืื ืฉื ืืืืืช ืืขืื ืืืืืช ืืกืืืืช ืฉื ืืืืจืื.
ืคืจืืืจ ืื ื ืืกืฃ. ื ืจืื ืืื ืฉืืื ืขืืื. ืืชืืจืจ ืฉืืืขืฉื ื ืืชื ื ืืืฉืชืชืคืื ืืืชืจ ืืฉืืืื ืืฉืื ืืงืืงืื ืืื. ืืื ืฆืฆื ืืขืื ื ืืกืคืช - ืืฉืื ืืกืืื ืืฉืชืชืคืื ืืืจืื ืืชืขืืจืจื ืืจืฆื ืื ืื ืืืฉืชืืฉ ืืกืคืืจืง, ืืื ืืื ืืื ืชืคืืก ืฉื, ืืื ืื ืืื ืืจืืฆืื. ืืคืฉืจ ืืืืื ืืืชื. ืืชืืื ื ืืขืืื ืืชืืขืื. ืืชืืจืจ ืฉืืฉ ืขืื ืืกืคืจ ืคืจืืืจืื ืฉื ืืชื ืืืฉืชืืฉ ืืื ืืื ืืืฉืคืืข ืขื ืืชืืืื. ืืืืืื, ืื ืืืืฆืข ื ืืฆื ืืืฆื ืืืชื ื, ืืืืจ ืืืื ืืื ื ืืชื ืืงืืช ืืื ื ืืฉืืืื?
spark.dynamicAllocation.executorIdleTimeout=120s
ืืืงืจื ืฉืื ื, ืื ืืืืฆืืืื ืืคืืขื ืฉืื ืื ืขืืฉืื ืืืื ืืืฉื ืฉืชื ืืงืืช, ืื ืืืงืฉื ืืืืจ ืืืชื ืืืจืืื ืืืฉืืชืคืช. ืืื ืืคืจืืืจ ืืื ืื ืชืืื ืืกืคืืง. ืืื ืืจืืจ ืฉืืืื ืื ืขืฉื ืืืจ ืืืฉื ืืื ืจื, ืืืฉืืืื ืื ืืชืคื ื. ืืชืืจืจ ืฉืืฉ ืื ืคืจืืืจ ืืืืื - ืืืจื ืืืื ืฉืขื ืืืืืจ executors ืืืืืืื ื ืชืื ืื ืืืืืื. ืืืจืืจืช ืืืื, ืืคืจืืืจ ืืื ืืื ืืื ืกืืฃ! ืชืืงื ื ืืช ืื.
spark.dynamicAllocation.cachedExecutorIdleTimeout=600s
ืืืืืจ, ืื ืืืืฆืืืื ืืคืืขื ืฉืืื ืื ืขืืฉืื ืืืื ืืืฉื 5 ืืงืืช, ืชื ื ืืืชื ืืืจืืื ืืืฉืืชืคืช. ืืืฆื ืื, ืืืืจืืช ืืฉืืจืืจ ืืื ืคืงืช ืืฉืืืื ืขืืืจ ืืกืคืจ ืจื ืฉื ืืฉืชืืฉืื ืืคืื ืืืื ื. ืืืืช ืื ืฉืืืขืืช ืืจืฆืื ืืจืื. ืืื ืืืืื ื ืืืืช ืจืืืง ืืืชืจ ืืืืืืื ืืช ืืืกืคืจ ืืืจืื ืฉื ืืืฆืขืื ืืื ืืคืืืงืฆืื - ืืขืฆื ืืื ืืฉืชืชืฃ ืืชืืื ืืช.
spark.dynamicAllocation.maxExecutors=19
ืขืืฉืื, ืืืืื, ืืฉ ืื ืฉืื ืื ืืจืืฆืื ืืฆื ืืฉื ื - "ืืืฉืืื ืืื, ืืืฉ ืื ืจืง 19 ืืืฆืขืื", ืืื ืื ืืชื ืืืื ืืขืฉืืช? ืื ืื ื ืฆืจืืืื ืืืืฉืื ืืืืื ื ืืื. ืื ืืคืฉืจ ืืฉืื ืืช ืืืื.
ืืขืื ืกืืคืืจ ืงืื ืฉืงืฉืืจ ืืคืจืื ืืืงืจื ืฉืื ื. ืืืืฉืื, ืืื ืื ืฉืื ืืืืจื ืืฉืืขืืจ ืืขืฉื, ืืืฉืื ืื ืกืคืืจืง ืื ืืชืืื ืืฉืืืื. ืืืงื ื ืืช ืืืืช ืืืฉืืืื ืืคื ืืืื - ื ืจืื ืฉืืฉ. ื ืืฆืืฅ ืฆืจืื ืืืชืืื. ืืืจืื ืืืื, ืืืืชื ืืื ืืชืืขืื ืืืจ ืืชืืืกืฃ ืืชืช-ืงืืืคืช ืืืื ืืืคืฉืื, ืื ืืืจื ื ืฉืขื ืืืฉืงื, Spark ืืืคืฉ ืืฆืืื ืฉืืคืฉืจ ืืืชืืื ืื. ืื ืืืฆืืื ืืจืืฉืื ื ืืืืื ืชืคืืกื, ืืื ืขืืืจืช ืืืฆืืื ืืืื ืืคื ืืกืืจ. ืื ืื ืืืื ื, ืื ืืืื. ืืืฉ ืคืจืืืจ ืฉืืฆืืื ืืช ืืกืคืจ ืื ืืกืืื ืืช ืืืงืกืืืื ืืื. ืืจืืจืช ืืืืื ืืื 16. ืืืกืคืจ ืงืื ืืืกืคืจ ืืื ืฉืื ืืงืืืฆื ืฉืื ื ืืืืชื. ืืืชืื, ืืืืจ 16 ื ืืกืืื ืืช, ืกืคืืจืง ืืืชืจ ืืืืจ ืฉืื ื ืื ืืืื ืืืชืืื. ืชืืงื ื ืืช ืืคืจืืืจ ืืื.
spark.port.maxRetries=50
ืืฉืื ืืื ืืกืคืจ ืืื ืขื ืืื ืืืืจืืช ืฉืืื ื ืงืฉืืจืืช ืืืืืื ืืคืจืื ืืืงืจื ืฉืื ื.
ืืื ืืืคืขืื ืืช Spark ืืืจ ืืืชืจ, ืืืืืฅ ืืืืกื ืืช ืชืืงืืืช ื-jars ืฉื ืืฆืืช ืืกืคืจืืืช ืืืืช ืฉื SPARK_HOME ืืืืขืืืช ืืืชื ืขื HDFS. ืื ืืื ืื ืืืืื ืืื ืืืขืืืก ืืช ืื'ืจื ืืงืื ืืืื ืขื ืืื ืขืืืืื.
spark.yarn.archive=hdfs:///tmp/spark-archive.zip
ืืื ืื, ืืืืืฅ ืืืฉืชืืฉ ื-kryo ืืืืืจ ืกืืจื ืืคืขืืื ืืืืจื ืืืชืจ. ืื ืืืชืื ืืืชืจ ืืืฉืจ ืืจืืจืช ืืืืื.
spark.serializer=org.apache.spark.serializer.KryoSerializer
ืืืฉ ืื ืืขืื ืืจืืืช ืฉื ืื ืขื Spark ืฉืืขืชืื ืงืจืืืืช ืืื ืงืืจืก ืืืืืืจืื. ืืขืชืื ืงืจืืืืช ืื ืงืืจื ืืจืืข ืฉืื ืืขืืืืื ืืืฉืื ืืื ืืฉืืืืื ืืช ืืชืืฆืื ืื ืื. ืืคืื ื ืืช ืืคืจืืืจ ืืื ืืืืื ืืืชืจ ืขืืืจ ืขืฆืื ื. ืืืจืืจืช ืืืื, ืืื 1GB, ืืคืื ื ืืืชื ื-3.
spark.driver.maxResultSize=3072
ืืืืกืืฃ, ืืงืื ืื. ืืืฆื ืืขืืื ืืช Spark ืืืจืกื 2.1 ืืืคืฆืช HortonWorks - HDP 2.5.3.0. ืืจืกื ืื ืฉื HDP ืืืืื ืืจืกื 2.0 ืืืชืงื ืช ืืจืืฉ, ืืื ืคืขื ืืืืื ื ืืขืฆืื ื ืฉ-Spark ืืคืชืืช ืื ืคืขืื, ืืื ืืจืกื ืืืฉื ืืชืงื ืช ืืื ืืืืื ืคืืืก ืืกืคืงืช ืชืืื ืืช ื ืืกืคืืช, ืืืื ืขืืืจ ื-API ืฉื python, ืื ืืืืื ื, ืื ืฆืจืื ืืขืฉืืช ืืื ืขืืืื.
ืืืจื ืืช ืืืจืกื ืืืืชืจ ืืจืฉืื ืฉื Hadoop 2.7. ืคืชื ืืืชื ืืืื ืก ืืชืืงืืืช HDP. ืืชืงื ื ืืช ืืกืืืื ืืคื ืืฆืืจื. ืื ืื ื ืืฉืืงืื ืืช ืื - ืื ืื ืืชืืื. ืืืชื ืฉืืืื ืืืื ืื ืืจืืจื.
java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig
ืืืืจ ืืืคืืฉืื ืืืืื, ืืืืื ื ืฉืกืคืืจืง ืืืืืื ืื ืืืืืช ืขื ืฉืืืืืืค ืชืืืืื, ืืืืืืื ืืืฉืชืืฉ ืืืจืกื ืืืืฉื ืฉื ื'ืจืื. ืื ืขืฆืื ืืชืืืืืื ืื ืขื ืื ืขื ืื ืืฉื ืืื ื-JIRA. ืืคืชืจืื ืืื ืืืืจืื
ืขืงืคื ื ืืช ืืฉืืืื ืืื, ืืื ื ืืฆืจื ืืืช ืืืฉื ืืื ืืขืืื.
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 ืืืืืืจื ืืืืืกืืฃ ืฉื ืคืจืืืจ ืืืชืจ ืืื ืืืชืื ืืืฉืืช:
hdp.version=2.5.3.0-37
ืืงืกื ืืื ืขืืจ, ืืกืคืืจืง ืืืจืื. ืืืงื ื ืืื ืืืืืฉืืื ืื ืืืืื ืฉืื ื Jupyter. ืืื ืขืืื. ืื ืื ื ืืืื ืื ืืฉืืขืืจ ื ืืฆืืฅ ืจืืฉืื ืืฉืืช (ืืืจ)!
UPD. ืืืืื ืืฉืืขืืจ ืืชืืืชื ืืขืื ื ืืกืคืช. ืืฉืื ืืกืืื, YARN ืืคืกืืงื ืืกืคืง ืืืืืืช ืขืืืจ ืกืคืืจืง. ื-YARN ืืื ืฆืืจื ืืชืงื ืืช ืืคืจืืืจ, ืืฉืจ ืืืจืืจืช ืืืื ืืื 0.2:
yarn.scheduler.capacity.maximum-am-resource-percent=0.8
ืืืืืจ, ืจืง 20% ืืืืฉืืืื ืืฉืชืชืคื ืืืืืงืช ืืืฉืืืื. ืืืืจ ืฉืื ืื ืืคืจืืืจืื, ืืขื ืืืืฉ ืืช YARN. ืืืขืื ื ืคืชืจื ืืฉืืจ ืืืฉืชืชืคืื ืืฆืืืื ืื ืืืจืืฅ ืืช ืืงืฉืจ.
ืืงืืจ: www.habr.com