{"id":283450,"date":"2017-01-06T21:10:03","date_gmt":"2017-01-06T18:10:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=283450"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=283450","title":{"rendered":"Hadoop From Scratch"},"content":{"rendered":"<p><img decoding=\"async\" width=\"300\" align=\"right\" src=\"https:\/\/habrastorage.org\/files\/bb9\/7b3\/b01\/bb97b3b0113a4ab98d9ee6a9b53f54d9.png\"\/>\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u043b\u0443\u0436\u0438\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435, \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Hadoop \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c. \u041c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c Hadoop \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u0430\u043a \u043d\u0430\u0434\u043e. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u0442\u0435 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0441 Hadoop, \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435 \u0438\u0437 \u043a\u0430\u043a\u0438\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u043e\u043d \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442, \u0432\u043e\u0442 \u043f\u0430\u0440\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e:<\/p>\n<p>  <a href=\"http:\/\/hadoop.apache.org\/docs\/r2.7.3\/hadoop-project-dist\/hadoop-hdfs\/HdfsDesign.html\">hadoop.apache.org\/docs\/r2.7.3\/hadoop-project-dist\/hadoop-hdfs\/HdfsDesign.html<\/a><br \/>  <a href=\"http:\/\/hadoop.apache.org\/docs\/r2.7.3\/hadoop-yarn\/hadoop-yarn-site\/YARN.html\">hadoop.apache.org\/docs\/r2.7.3\/hadoop-yarn\/hadoop-yarn-site\/YARN.html<\/a><\/p>\n<p>  <b>\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432?<\/b><\/p>\n<p>   \u2014 \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u0445\u043e\u0436\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0447\u0430\u0441\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0441 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u043c Cloudera \u0438\u043b\u0438 HortonWorks. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u2013 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441 \u0443\u0439\u043c\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442. \u041d\u043e\u0432\u0438\u0447\u043a\u0443 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0433\u0434\u0435 \u0447\u0442\u043e, \u0438 \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442. \u041d\u0430\u0447\u0438\u043d\u0430\u044f from scratch \u043c\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u043c \u043f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u043c\u0435\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e \u043e\u0434\u043d\u043e\u0439.<\/p>\n<p>   \u2014 \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438. \u0415\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043b\u0430\u0433 \u043c\u0435\u0436\u0434\u0443 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0430 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0432\u0435\u0440\u0441\u0438\u0438, \u0412\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432. \u0422\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0443\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0441\u043e\u0444\u0442\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u0430\u043a \u0435\u0441\u0442\u044c.<\/p>\n<p>   \u2014 Just for fun.<br \/>  <a name=\"habracut\"><\/a><br \/>  <b>\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432? \u0412\u0435\u0434\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 Hadoop \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b.<\/b><\/p>\n<p>  \u0427\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 Hadoop \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 C\/C++. \u041d\u0435 \u0437\u043d\u0430\u044e, \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0431\u043e\u0440\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043d\u043e \u0421-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u043c\u0438 \u0441\u0431\u043e\u0440\u043a\u0430\u043c\u0438 Hadoop, \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 libc, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u0442 \u043d\u0438 \u0432 RHEL, \u043d\u0438 \u0432 Debian\/Ubuntu. \u041d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0421-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a Hadoop \u0432 \u043e\u0431\u0449\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e, \u043d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0438\u0447\u0438 \u0431\u0435\u0437 \u043d\u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443\u0442.<\/p>\n<p>  <b>\u0417\u0430\u0447\u0435\u043c \u0437\u0430\u043d\u043e\u0432\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0442\u043e, \u0447\u0442\u043e \u0438 \u0442\u0430\u043a \u0435\u0441\u0442\u044c \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438?<\/b><\/p>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u0438\u0437\u0432\u0430\u043d\u0430 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f. \u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 quickstart-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u2013 \u0434\u0435\u043b\u0430\u0439 \u0442\u0430\u043a \u0438 \u043e\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043f\u043e \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u201c\u0432\u0430\u043d\u0438\u043b\u044c\u043d\u044b\u0439\u201d Hadoop, \u043d\u043e \u043d\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e\u0431 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0431 \u0438 \u043e\u0448\u0438\u0431\u043e\u043a, \u0432\u044b \u0437\u0430\u0448\u043b\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443.<\/p>\n<h3>\u0421\u0431\u043e\u0440\u043a\u0430<\/h3>\n<p>  \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c CentOS 7. \u0415\u0441\u043b\u0438 \u0432\u0435\u0440\u0438\u0442\u044c \u0421loudera, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 RHEL \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445 (CentOS, Oracle Linux). 7-\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0435\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 protobuf \u043d\u0443\u0436\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0415\u0441\u043b\u0438 \u0412\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c CentOS 6, \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c protobuf \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u0421\u0431\u043e\u0440\u043a\u0443 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0441 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u044f\u043c\u0438 root (\u0447\u0442\u043e\u0431 \u043d\u0435 \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e).<\/p>\n<p>  \u0413\u0434\u0435-\u0442\u043e 95% \u043a\u043e\u0434\u0430 Hadoop \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 Java. \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f Oracle JDK \u0438 Maven.<\/p>\n<p>  \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e JDK \u0441 \u0441\u0430\u0439\u0442\u0430 Oracle \u0438 \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u043c \u0432 \/opt. \u0422\u0430\u043a \u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e JAVA_HOME (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Hadoop) \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \/opt\/java\/bin \u0432 PATH \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f root (\u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430):<\/p>\n<pre><code class=\"bash\">cd ~  wget --no-check-certificate --no-cookies --header &quot;Cookie: oraclelicense=accept-securebackup-cookie&quot; http:\/\/download.oracle.com\/otn-pub\/java\/jdk\/8u112-b15\/jdk-8u112-linux-x64.tar.gz  tar xvf ~\/jdk-8u112-linux-x64.tar.gz  mv ~\/jdk1.8.0_112 \/opt\/java  echo &quot;PATH=\\&quot;\/opt\/java\/bin:\\$PATH\\&quot;&quot; &gt;&gt; ~\/.bashrc  echo &quot;export JAVA_HOME=\\&quot;\/opt\/java\\&quot;&quot; &gt;&gt; ~\/.bashrc <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u041caven. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0441\u0431\u043e\u0440\u043a\u0438. \u041f\u043e-\u044d\u0442\u043e\u043c\u0443 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0433\u043e \u0432 \u043d\u0430\u0448 home (\u043f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u0432 home, \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0438\u0442\u044c). <\/p>\n<pre><code class=\"bash\">cd ~  wget http:\/\/apache.rediris.es\/maven\/maven-3\/3.3.9\/binaries\/apache-maven-3.3.9-bin.tar.gz  tar xvf ~\/apache-maven-3.3.9-bin.tar.gz  mv ~\/apache-maven-3.3.9 ~\/maven  echo &quot;PATH=\\&quot;\/root\/maven\/bin:\\$PATH\\&quot;&quot; &gt;&gt; ~\/.bashrc  source ~\/.bashrc <\/code><\/pre>\n<p>  \u0413\u0434\u0435-\u0442\u043e 4-5% \u043a\u043e\u0434\u0430 Hadoop \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 C\/C++. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438:<\/p>\n<pre><code class=\"bash\"> yum -y install gcc gcc-c++ autoconf automake libtool cmake<\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438:<\/p>\n<pre><code class=\"bash\">yum -y install zlib-devel openssl openssl-devel snappy snappy-devel bzip2 bzip2-devel protobuf protobuf-devel <\/code><\/pre>\n<p>  \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0433\u043e\u0442\u043e\u0432\u0430. \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c, \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Hadoop \u0432 \/opt:<\/p>\n<pre><code class=\"bash\">cd ~  wget http:\/\/apache.rediris.es\/hadoop\/common\/hadoop-2.7.3\/hadoop-2.7.3-src.tar.gz  tar -xvf ~\/hadoop-2.7.3-src.tar.gz  mv ~\/hadoop-2.7.3-src ~\/hadoop-src  cd ~\/hadoop-src  mvn package -Pdist,native -DskipTests -Dtar  tar -C\/opt -xvf ~\/hadoop-src\/hadoop-dist\/target\/hadoop-2.7.3.tar.gz  mv \/opt\/hadoop-* \/opt\/hadoop  echo &quot;PATH=\\&quot;\/opt\/hadoop\/bin:\\$PATH\\&quot;&quot; &gt;&gt; ~\/.bashrc  source ~\/.bashrc <\/code><\/pre>\n<h3>\u041f\u0435\u0440\u0432\u0438\u0447\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/h3>\n<p>  Hadoop \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043e\u043a\u043e\u043b\u043e \u0442\u044b\u0441\u044f\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Hadoop \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0432\u044b\u0435 \u0448\u0430\u0433\u0438 \u0432 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u043a\u043e\u043b\u043e 40, \u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>  \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c. \u0415\u0441\u043b\u0438 \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Hadoop \u0432 \/opt\/hadoop. \u0412\u0441\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \/opt\/hadoop\/etc\/hadoop. \u0412 \u043e\u0431\u0449\u0435\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c 6 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u0412\u0441\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u043d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043c\u0430\u043d\u0434. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0442\u0435, \u043a\u0442\u043e \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0432\u043e\u0439 Hadoop \u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043c\u043e\u0433\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u043f\u0430\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c. <\/p>\n<p>  \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f JAVA_HOME \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 hadoop-env.sh \u0438 yarn-env.sh. \u0422\u0430\u043a \u043c\u044b \u0434\u0430\u0434\u0438\u043c \u0432\u0441\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u0437\u043d\u0430\u0442\u044c, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 java, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.<\/p>\n<pre><code class=\"bash\">sed -i '1iJAVA_HOME=\/opt\/java' \/opt\/hadoop\/etc\/hadoop\/hadoop-env.sh  sed -i '1iJAVA_HOME=\/opt\/java' \/opt\/hadoop\/etc\/hadoop\/yarn-env.sh <\/code><\/pre>\n<p>  \u0421\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c URL \u0434\u043b\u044f HDFS \u0432 \u0444\u0430\u0439\u043b\u0435 core-site.xml. \u041e\u043d \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 hdfs:\/\/, \u0438\u043c\u0435\u043d\u0438 \u0445\u043e\u0441\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u043f\u0443\u0449\u0435\u043d NameNode \u0438 \u043f\u043e\u0440\u0442\u0430. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c, Hadoop \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0424\u0421 \u043d\u0430 \u0432\u0430\u0448\u0435\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 (URL \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: file:\/\/\/).<\/p>\n<pre><code class=\"bash\">cat &lt;&lt; EOF &gt; \/opt\/hadoop\/etc\/hadoop\/core-site.xml  &lt;configuration&gt;    &lt;property&gt;&lt;name&gt;fs.defaultFS&lt;\/name&gt;&lt;value&gt;hdfs:\/\/localhost:8020&lt;\/value&gt;&lt;\/property&gt;  &lt;\/configuration&gt;  EOF <\/code><\/pre>\n<p>  \u0412 \u0444\u0430\u0439\u043b\u0435 hdfs-site.xml \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c 4 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043f\u043b\u0438\u043a \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0432 1, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u0448 \u201c\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u201d \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432\u0441\u0435\u0433\u043e \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0434\u044b. \u0422\u0430\u043a\u0436\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, \u0433\u0434\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 NameNode, DataNode \u0438 SecondaryNameNode.<\/p>\n<pre><code class=\"bash\">cat &lt;&lt; EOF &gt; \/opt\/hadoop\/etc\/hadoop\/hdfs-site.xml  &lt;configuration&gt;    &lt;property&gt;&lt;name&gt;dfs.replication&lt;\/name&gt;&lt;value&gt;1&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;dfs.namenode.name.dir&lt;\/name&gt;&lt;value&gt;\/data\/dfs\/nn&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;dfs.datanode.data.dir&lt;\/name&gt;&lt;value&gt;\/data\/dfs\/dn&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;dfs.namenode.checkpoint.dir&lt;\/name&gt;&lt;value&gt;\/data\/dfs\/snn&lt;\/value&gt;&lt;\/property&gt;  &lt;\/configuration&gt;  EOF<\/code><\/pre>\n<p>  \u041c\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 HDFS. \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c NameNode \u0438 DataNode, \u0438 \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0424\u0421. \u041d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u043c \u044d\u0442\u043e \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430. \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 YARN.<\/p>\n<pre><code class=\"bash\">cat &lt;&lt; EOF &gt; \/opt\/hadoop\/etc\/hadoop\/yarn-site.xml  &lt;configuration&gt;    &lt;property&gt;&lt;name&gt;yarn.resourcemanager.hostname&lt;\/name&gt;&lt;value&gt;localhost&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.nodemanager.resource.memory-mb&lt;\/name&gt;&lt;value&gt;4096&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.nodemanager.resource.cpu-vcores&lt;\/name&gt;&lt;value&gt;4&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.scheduler.maximum-allocation-mb&lt;\/name&gt;&lt;value&gt;1024&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.scheduler.maximum-allocation-vcores&lt;\/name&gt;&lt;value&gt;1&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.nodemanager.vmem-check-enabled&lt;\/name&gt;&lt;value&gt;false&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.nodemanager.local-dirs&lt;\/name&gt;&lt;value&gt;\/data\/yarn&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.nodemanager.log-dirs&lt;\/name&gt;&lt;value&gt;\/data\/yarn\/log&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.log-aggregation-enable&lt;\/name&gt;&lt;value&gt;true&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.nodemanager.aux-services&lt;\/name&gt;&lt;value&gt;mapreduce_shuffle&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.nodemanager.aux-services.mapreduce_shuffle.class&lt;\/name&gt;&lt;value&gt;org.apache.hadoop.mapred.ShuffleHandler&lt;\/value&gt;&lt;\/property&gt;  &lt;\/configuration&gt; EOF <\/code><\/pre>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e. \u041f\u0440\u043e\u0439\u0434\u0435\u043c\u0441\u044f \u043f\u043e \u043d\u0438\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443. <\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 yarn.resourcemanager.hostname \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u0445\u043e\u0441\u0442\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0441\u0435\u0440\u0432\u0438\u0441 ResourceManager.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b yarn.nodemanager.resource.memory-mb \u0438 yarn.nodemanager.resource.cpu-vcores \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441\u0430\u043c\u044b\u043c\u0438 \u0432\u0430\u0436\u043d\u044b\u043c\u0438. \u0412 \u043d\u0438\u0445 \u043c\u044b \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u044f\u0434\u0435\u0440 CPU \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0430\u044f \u043d\u043e\u0434\u0430 \u0432 \u043e\u0431\u0449\u0435\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b yarn.scheduler.maximum-allocation-mb \u0438 yarn.scheduler.maximum-allocation-vcores \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u044f\u0434\u0435\u0440 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0441 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0432 \u043d\u0430\u0448\u0435\u043c \u201c\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435\u201d, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0434\u044b, \u043c\u043e\u0433\u0443\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b 4 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 (\u0441 1GB \u043f\u0430\u043c\u044f\u0442\u0438 \u043a\u0430\u0436\u0434\u044b\u0439). <\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 yarn.nodemanager.vmem-check-enabled \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432 false, \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0430\u0431\u0437\u0430\u0446\u0430, \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u043f\u0430\u043c\u044f\u0442\u0438, \u0438 \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043b\u044e\u0431\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u043f\u0440\u0438\u0432\u044b\u0441\u0438\u0442 \u043b\u0438\u043c\u0438\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. <\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 yarn.nodemanager.local-dirs \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0433\u0434\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 (jar \u0441 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u2026)<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 yarn.nodemanager.log-dirs \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0433\u0434\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u043b\u043e\u0433\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u0430\u0441\u043a\u0430.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 yarn.log-aggregation-enable \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0432 HDFS. \u041f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0435\u0433\u043e \u043b\u043e\u0433\u0438 \u0438\u0437 yarn.nodemanager.log-dirs \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u043e\u0434\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u044b \u0432 HDFS (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2013 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \/tmp\/logs).<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b yarn.nodemanager.aux-services \u0438 yarn.nodemanager.aux-services.mapreduce_shuffle.class \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 shuffle-\u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 MapReduce.<\/p>\n<p>  \u0412\u043e\u0442 \u043f\u043e\u0436\u0430\u043b\u0443\u0439 \u0438 \u0432\u0441\u0435 \u0434\u043b\u044f YARN. \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f MapReduce (\u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439). \u0425\u043e\u0442\u044c \u043e\u043d \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u043b \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c Spark, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0449\u0435 \u043c\u043d\u043e\u0433\u043e \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.<\/p>\n<pre><code class=\"bash\">cat &lt;&lt; EOF &gt; \/opt\/hadoop\/etc\/hadoop\/mapred-site.xml  &lt;configuration&gt;    &lt;property&gt;&lt;name&gt;mapreduce.framework.name&lt;\/name&gt;&lt;value&gt;yarn&lt;\/value&gt;&lt;\/property&gt;  &lt;property&gt;&lt;name&gt;mapreduce.jobhistory.address&lt;\/name&gt;&lt;value&gt;localhost:10020&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.jobhistory.webapp.address&lt;\/name&gt;&lt;value&gt;localhost:19888&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.job.reduce.slowstart.completedmaps&lt;\/name&gt;&lt;value&gt;0.8&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.app.mapreduce.am.resource.cpu-vcores&lt;\/name&gt;&lt;value&gt;1&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.app.mapreduce.am.resource.mb&lt;\/name&gt;&lt;value&gt;1024&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;yarn.app.mapreduce.am.command-opts&lt;\/name&gt;&lt;value&gt;-Djava.net.preferIPv4Stack=true -Xmx768m&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.map.cpu.vcores&lt;\/name&gt;&lt;value&gt;1&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.map.memory.mb&lt;\/name&gt;&lt;value&gt;1024&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.map.java.opts&lt;\/name&gt;&lt;value&gt;-Djava.net.preferIPv4Stack=true -Xmx768m&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.reduce.cpu.vcores&lt;\/name&gt;&lt;value&gt;1&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.reduce.memory.mb&lt;\/name&gt;&lt;value&gt;1024&lt;\/value&gt;&lt;\/property&gt;    &lt;property&gt;&lt;name&gt;mapreduce.reduce.java.opts&lt;\/name&gt;&lt;value&gt;-Djava.net.preferIPv4Stack=true -Xmx768m&lt;\/value&gt;&lt;\/property&gt;   &lt;\/configuration&gt; EOF <\/code><\/pre>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 mapreduce.framework.name \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0438 MapReduce \u0432 YARN (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e local \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u2013 \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 jvm \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435). <\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b mapreduce.jobhistory.address \u0438 mapreduce.jobhistory.webapp.address \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0438\u043c\u044f \u043d\u043e\u0434\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0441\u0435\u0440\u0432\u0438\u0441 JobHistory.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 mapreduce.job.reduce.slowstart.completedmaps \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0444\u0430\u0437\u0443 reduce \u043d\u0435 \u0440\u0430\u043d\u0435\u0435, \u0447\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f 80% \u0444\u0430\u0437\u044b map. <\/p>\n<p>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u0434\u0430\u044e\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0444\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u044f\u0434\u0435\u0440 CPU \u0438 jvm heap \u0434\u043b\u044f \u043c\u0430\u043f\u043f\u0435\u0440\u043e\u0432, \u0440\u0435\u0434\u044c\u044e\u0441\u0435\u0440\u043e\u0432 \u0438 application master-\u043e\u0432. \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043e\u043d\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 YARN, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0432 yarn-site.xml. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f jvm heap \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442 \u0432 75% \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 *.memory.mb.<\/p>\n<h3>\u041f\u0443\u0441\u043a<\/h3>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \/data, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435 HDFS, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 YARN.<\/p>\n<pre><code class=\"bash\">mkdir \/data<\/code><\/pre>\n<p>  \u041e\u0442\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u0435\u043c HDFS<\/p>\n<pre><code class=\"bash\">hadoop namenode -format <\/code><\/pre>\n<p>  \u0418, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u00ab\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u00bb  <\/p>\n<pre><code class=\"bash\"> \/opt\/hadoop\/sbin\/hadoop-daemon.sh start namenode  \/opt\/hadoop\/sbin\/hadoop-daemon.sh start datanode  \/opt\/hadoop\/sbin\/yarn-daemon.sh start resourcemanager  \/opt\/hadoop\/sbin\/yarn-daemon.sh start nodemanager  \/opt\/hadoop\/sbin\/mr-jobhistory-daemon.sh start historyserver <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0434\u0430\u0447\u043d\u043e (\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0432 \u043b\u043e\u0433\u0430\u0445 \u0432 \/opt\/hadoop\/logs), Hadoop \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442 \u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0440\u0430\u0431\u043e\u0442\u0435\u2026 <\/p>\n<h3>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 hadoop  <\/p>\n<pre><code class=\"bash\">\/opt\/hadoop\/  \u251c\u2500\u2500 bin  \u251c\u2500\u2500 etc  \u2502   \u2514\u2500\u2500 hadoop  \u251c\u2500\u2500 include  \u251c\u2500\u2500 lib  \u2502   \u2514\u2500\u2500 native  \u251c\u2500\u2500 libexec  \u251c\u2500\u2500 logs  \u251c\u2500\u2500 sbin  \u2514\u2500\u2500 share      \u251c\u2500\u2500 doc      \u2502   \u2514\u2500\u2500 hadoop      \u2514\u2500\u2500 hadoop          \u251c\u2500\u2500 common          \u251c\u2500\u2500 hdfs          \u251c\u2500\u2500 httpfs          \u251c\u2500\u2500 kms          \u251c\u2500\u2500 mapreduce          \u251c\u2500\u2500 tools          \u2514\u2500\u2500 yarn <\/code><\/pre>\n<p>  \u0421\u0430\u043c Hadoop (\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 java-\u0431\u0430\u0439\u0442\u043a\u043e\u0434) \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 share \u0438 \u0440\u0430\u0437\u0431\u0438\u0442 \u043d\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b (hdfs, yarn, mapreduce, etc&#8230;). \u0412 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 lib \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 C. \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e: bin \u2013 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Hadoop, sbin \u2013 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430, etc \u2013 \u043a\u043e\u043d\u0444\u0438\u0433\u0438, logs \u2013 \u043b\u043e\u0433\u0438. \u041d\u0430\u0441 \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0431\u0443\u0434\u0443\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0434\u0432\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0438\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 bin: hdfs \u0438 yarn. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u043c\u044b \u0443\u0436\u0435 \u043e\u0442\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 HDFS \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0432 HDFS:  <\/p>\n<pre><code class=\"bash\"> hdfs dfs -ls -R \/  drwxrwx---   - root supergroup          0 2017-01-05 10:07 \/tmp  drwxrwx---   - root supergroup          0 2017-01-05 10:07 \/tmp\/hadoop-yarn  drwxrwx---   - root supergroup          0 2017-01-05 10:07 \/tmp\/hadoop-yarn\/staging  drwxrwx---   - root supergroup          0 2017-01-05 10:07 \/tmp\/hadoop-yarn\/staging\/history  drwxrwx---   - root supergroup          0 2017-01-05 10:07 \/tmp\/hadoop-yarn\/staging\/history\/done  drwxrwxrwt   - root supergroup          0 2017-01-05 10:07 \/tmp\/hadoop-yarn\/staging\/history\/done_intermediate <\/code><\/pre>\n<p>  \u0425\u043e\u0442\u044f \u043c\u044b \u044f\u0432\u043d\u043e \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u044d\u0442\u0443 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439, \u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043b \u0441\u0435\u0440\u0432\u0438\u0441 JobHistory (\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b\u0439 \u0434\u0435\u043c\u043e\u043d: mr-jobhistory-daemon.sh start historyserver).<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \/data  <\/p>\n<pre><code class=\"bash\">\/data\/  \u251c\u2500\u2500 dfs  \u2502   \u251c\u2500\u2500 dn  \u2502   \u2502   \u251c\u2500\u2500 current  \u2502   \u2502   \u2502   \u251c\u2500\u2500 BP-1600342399-192.168.122.70-1483626613224  \u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 current  \u2502   \u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 finalized  \u2502   \u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 rbw  \u2502   \u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500 VERSION  \u2502   \u2502   \u2502   \u2502   \u251c\u2500\u2500 scanner.cursor  \u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500 tmp  \u2502   \u2502   \u2502   \u2514\u2500\u2500 VERSION  \u2502   \u2502   \u2514\u2500\u2500 in_use.lock  \u2502   \u2514\u2500\u2500 nn  \u2502       \u251c\u2500\u2500 current  \u2502       \u2502   \u251c\u2500\u2500 edits_inprogress_0000000000000000001  \u2502       \u2502   \u251c\u2500\u2500 fsimage_0000000000000000000  \u2502       \u2502   \u251c\u2500\u2500 fsimage_0000000000000000000.md5  \u2502       \u2502   \u251c\u2500\u2500 seen_txid  \u2502       \u2502   \u2514\u2500\u2500 VERSION  \u2502       \u2514\u2500\u2500 in_use.lock  \u2514\u2500\u2500 yarn      \u251c\u2500\u2500 filecache      \u251c\u2500\u2500 log      \u251c\u2500\u2500 nmPrivate      \u2514\u2500\u2500 usercache <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0432 \/data\/dfs\/nn NameNode \u0441\u043e\u0437\u0434\u0430\u043b \u0444\u0430\u0439\u043b fsimage \u0438 \u043f\u0435\u0440\u0432\u044b\u0439 edit-\u0444\u0430\u0439\u043b. \u0412 \/data\/dfs\/dn DataNode \u0441\u043e\u0437\u0434\u0430\u043b \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0431\u043b\u043e\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0435\u0449\u0435 \u043d\u0435\u0442.<\/p>\n<p>  \u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0444\u0430\u0439\u043b \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0424\u0421 \u0432 HDFS<\/p>\n<pre><code class=\"bash\">hdfs dfs -put \/var\/log\/messages \/tmp\/  hdfs dfs -ls \/tmp\/messages  -rw-r--r--   1 root supergroup     375974 2017-01-05 09:33 \/tmp\/messages<\/code><\/pre>\n<p>  \u0421\u043d\u043e\u0432\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \/data  <\/p>\n<pre><code class=\"bash\">\/data\/dfs\/dn  \u251c\u2500\u2500 current  \u2502   \u251c\u2500\u2500 BP-1600342399-192.168.122.70-1483626613224  \u2502   \u2502   \u251c\u2500\u2500 current  \u2502   \u2502   \u2502   \u251c\u2500\u2500 finalized  \u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500 subdir0  \u2502   \u2502   \u2502   \u2502       \u2514\u2500\u2500 subdir0  \u2502   \u2502   \u2502   \u2502           \u251c\u2500\u2500 blk_1073741825  \u2502   \u2502   \u2502   \u2502           \u2514\u2500\u2500 blk_1073741825_1001.meta  \u2502   \u2502   \u2502   \u251c\u2500\u2500 rbw  \u2502   \u2502   \u2502   \u2514\u2500\u2500 VERSION  \u2502   \u2502   \u251c\u2500\u2500 scanner.cursor  \u2502   \u2502   \u2514\u2500\u2500 tmp  \u2502   \u2514\u2500\u2500 VERSION  \u2514\u2500\u2500 in_use.lock <\/code><\/pre>\n<p>  \u0423\u0440\u0430!!! \u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u043b\u043e\u043a \u0438 \u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430.<\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043a\u0430\u043a\u043e\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u0441\u044f, \u0447\u0442\u043e YARN \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u043d\u0430\u0434\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, pi \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 hadoop-mapreduce-examples.jar:<\/p>\n<pre><code class=\"bash\">yarn jar \/opt\/hadoop\/share\/hadoop\/mapreduce\/hadoop-mapreduce-examples-2.7.3.jar pi 3 100000 \u2026 Job Finished in 37.837 seconds  Estimated value of Pi is 3.14168000000000000000 <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \/data\/yarn \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f YARN:<\/p>\n<pre><code>\/data\/yarn\/  \u251c\u2500\u2500 filecache  \u251c\u2500\u2500 log  \u2502   \u2514\u2500\u2500 application_1483628783579_0001  \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000001  \u2502       \u2502   \u251c\u2500\u2500 stderr  \u2502       \u2502   \u251c\u2500\u2500 stdout  \u2502       \u2502   \u2514\u2500\u2500 syslog  \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000002  \u2502       \u2502   \u251c\u2500\u2500 stderr  \u2502       \u2502   \u251c\u2500\u2500 stdout  \u2502       \u2502   \u2514\u2500\u2500 syslog  \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000003  \u2502       \u2502   \u251c\u2500\u2500 stderr  \u2502       \u2502   \u251c\u2500\u2500 stdout  \u2502       \u2502   \u2514\u2500\u2500 syslog  \u2502       \u2514\u2500\u2500 container_1483628783579_0001_01_000004  \u2502           \u251c\u2500\u2500 stderr  \u2502           \u251c\u2500\u2500 stdout  \u2502           \u2514\u2500\u2500 syslog  \u251c\u2500\u2500 nmPrivate  \u2502   \u2514\u2500\u2500 application_1483628783579_0001  \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000001  \u2502       \u2502   \u251c\u2500\u2500 container_1483628783579_0001_01_000001.pid  \u2502       \u2502   \u251c\u2500\u2500 container_1483628783579_0001_01_000001.tokens  \u2502       \u2502   \u2514\u2500\u2500 launch_container.sh  \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000002  \u2502       \u2502   \u251c\u2500\u2500 container_1483628783579_0001_01_000002.pid  \u2502       \u2502   \u251c\u2500\u2500 container_1483628783579_0001_01_000002.tokens  \u2502       \u2502   \u2514\u2500\u2500 launch_container.sh  \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000003  \u2502       \u2502   \u251c\u2500\u2500 container_1483628783579_0001_01_000003.pid  \u2502       \u2502   \u251c\u2500\u2500 container_1483628783579_0001_01_000003.tokens  \u2502       \u2502   \u2514\u2500\u2500 launch_container.sh  \u2502       \u2514\u2500\u2500 container_1483628783579_0001_01_000004  \u2502           \u251c\u2500\u2500 container_1483628783579_0001_01_000004.pid  \u2502           \u251c\u2500\u2500 container_1483628783579_0001_01_000004.tokens  \u2502           \u2514\u2500\u2500 launch_container.sh  \u2514\u2500\u2500 usercache      \u2514\u2500\u2500 root          \u251c\u2500\u2500 appcache          \u2502   \u2514\u2500\u2500 application_1483628783579_0001          \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000001          \u2502       \u2502   \u251c\u2500\u2500 container_tokens          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor_session.sh          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor.sh          \u2502       \u2502   \u251c\u2500\u2500 job.jar -&gt; \/data\/yarn\/usercache\/root\/appcache\/application_1483628783579_0001\/filecache\/11\/job.jar          \u2502       \u2502   \u251c\u2500\u2500 jobSubmitDir          \u2502       \u2502   \u2502   \u251c\u2500\u2500 job.split -&gt; \/data\/yarn\/usercache\/root\/appcache\/application_1483628783579_0001\/filecache\/12\/job.split          \u2502       \u2502   \u2502   \u2514\u2500\u2500 job.splitmetainfo -&gt; \/data\/yarn\/usercache\/root\/appcache\/application_1483628783579_0001\/filecache\/10\/job.splitmetainfo          \u2502       \u2502   \u251c\u2500\u2500 job.xml -&gt; \/data\/yarn\/usercache\/root\/appcache\/application_1483628783579_0001\/filecache\/13\/job.xml          \u2502       \u2502   \u251c\u2500\u2500 launch_container.sh          \u2502       \u2502   \u2514\u2500\u2500 tmp          \u2502       \u2502       \u2514\u2500\u2500 Jetty_0_0_0_0_37883_mapreduce____.rposvq          \u2502       \u2502           \u2514\u2500\u2500 webapp          \u2502       \u2502               \u2514\u2500\u2500 webapps          \u2502       \u2502                   \u2514\u2500\u2500 mapreduce          \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000002          \u2502       \u2502   \u251c\u2500\u2500 container_tokens          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor_session.sh          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor.sh          \u2502       \u2502   \u251c\u2500\u2500 job.jar -&gt; \/data\/yarn\/usercache\/root\/appcache\/application_1483628783579_0001\/filecache\/11\/job.jar          \u2502       \u2502   \u251c\u2500\u2500 job.xml          \u2502       \u2502   \u251c\u2500\u2500 launch_container.sh          \u2502       \u2502   \u2514\u2500\u2500 tmp          \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000003          \u2502       \u2502   \u251c\u2500\u2500 container_tokens          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor_session.sh          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor.sh          \u2502       \u2502   \u251c\u2500\u2500 job.jar -&gt; \/data\/yarn\/usercache\/root\/appcache\/application_1483628783579_0001\/filecache\/11\/job.jar          \u2502       \u2502   \u251c\u2500\u2500 job.xml          \u2502       \u2502   \u251c\u2500\u2500 launch_container.sh          \u2502       \u2502   \u2514\u2500\u2500 tmp          \u2502       \u251c\u2500\u2500 container_1483628783579_0001_01_000004          \u2502       \u2502   \u251c\u2500\u2500 container_tokens          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor_session.sh          \u2502       \u2502   \u251c\u2500\u2500 default_container_executor.sh          \u2502       \u2502   \u251c\u2500\u2500 job.jar -&gt; \/data\/yarn\/usercache\/root\/appcache\/application_1483628783579_0001\/filecache\/11\/job.jar          \u2502       \u2502   \u251c\u2500\u2500 job.xml          \u2502       \u2502   \u251c\u2500\u2500 launch_container.sh          \u2502       \u2502   \u2514\u2500\u2500 tmp          \u2502       \u251c\u2500\u2500 filecache          \u2502       \u2502   \u251c\u2500\u2500 10          \u2502       \u2502   \u2502   \u2514\u2500\u2500 job.splitmetainfo          \u2502       \u2502   \u251c\u2500\u2500 11          \u2502       \u2502   \u2502   \u2514\u2500\u2500 job.jar          \u2502       \u2502   \u2502       \u2514\u2500\u2500 job.jar          \u2502       \u2502   \u251c\u2500\u2500 12          \u2502       \u2502   \u2502   \u2514\u2500\u2500 job.split          \u2502       \u2502   \u2514\u2500\u2500 13          \u2502       \u2502       \u2514\u2500\u2500 job.xml          \u2502       \u2514\u2500\u2500 work          \u2514\u2500\u2500 filecache   42 directories, 50 files <\/code><\/pre>\n<p>  \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043b\u043e\u0433\u0438 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \/data\/yarn\/log (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 yarn.nodemanager.log-dirs \u0438\u0437 yarn-site.xml). <\/p>\n<p>  \u041f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \/data\/yarn \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0432\u043e\u0439 \u043f\u0435\u0440\u0432\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434:  <\/p>\n<pre><code class=\"bash\">\/data\/yarn\/  \u251c\u2500\u2500 filecache  \u251c\u2500\u2500 log  \u251c\u2500\u2500 nmPrivate  \u2514\u2500\u2500 usercache      \u2514\u2500\u2500 root          \u251c\u2500\u2500 appcache          \u2514\u2500\u2500 filecache<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u0441\u043d\u043e\u0432\u0430 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 HDFS, \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e log aggregation \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 (\u043b\u043e\u0433\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u044b \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0424\u0421 \/data\/yarn\/log \u0432 HDFS \/tmp\/logs).<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441 JobHistory \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0432 \/tmp\/hadoop-yarn\/staging\/history\/done <\/p>\n<pre><code class=\"bash\">hdfs dfs -ls -R \/  drwxrwx---   - root supergroup          0 2017-01-05 10:12 \/tmp  drwxrwx---   - root supergroup          0 2017-01-05 10:07 \/tmp\/hadoop-yarn  drwxrwx---   - root supergroup          0 2017-01-05 10:12 \/tmp\/hadoop-yarn\/staging  drwxrwx---   - root supergroup          0 2017-01-05 10:07 \/tmp\/hadoop-yarn\/staging\/history  drwxrwx---   - root supergroup          0 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done  drwxrwx---   - root supergroup          0 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done\/2017  drwxrwx---   - root supergroup          0 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done\/2017\/01  drwxrwx---   - root supergroup          0 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done\/2017\/01\/05  drwxrwx---   - root supergroup          0 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done\/2017\/01\/05\/000000  -rwxrwx---   1 root supergroup      46338 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done\/2017\/01\/05\/000000\/job_1483628783579_0001-1483629144632-root-QuasiMonteCarlo-1483629179995-3-1-SUCCEEDED-default-1483629156270.jhist  -rwxrwx---   1 root supergroup     117543 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done\/2017\/01\/05\/000000\/job_1483628783579_0001_conf.xml  drwxrwxrwt   - root supergroup          0 2017-01-05 10:12 \/tmp\/hadoop-yarn\/staging\/history\/done_intermediate  drwxrwx---   - root supergroup          0 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/history\/done_intermediate\/root  drwx------   - root supergroup          0 2017-01-05 10:12 \/tmp\/hadoop-yarn\/staging\/root  drwx------   - root supergroup          0 2017-01-05 10:13 \/tmp\/hadoop-yarn\/staging\/root\/.staging  drwxrwxrwt   - root supergroup          0 2017-01-05 10:12 \/tmp\/logs  drwxrwx---   - root supergroup          0 2017-01-05 10:12 \/tmp\/logs\/root  drwxrwx---   - root supergroup          0 2017-01-05 10:12 \/tmp\/logs\/root\/logs  drwxrwx---   - root supergroup          0 2017-01-05 10:13 \/tmp\/logs\/root\/logs\/application_1483628783579_0001  -rw-r-----   1 root supergroup      65829 2017-01-05 10:13 \/tmp\/logs\/root\/logs\/application_1483628783579_0001\/master.local_37940  drwxr-xr-x   - root supergroup          0 2017-01-05 10:12 \/user  drwxr-xr-x   - root supergroup          0 2017-01-05 10:13 \/user\/root<\/code><\/pre>\n<h3>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435<\/h3>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0438 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u044f \u0431\u0440\u0430\u043b \u201c\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u201d \u0432 \u043a\u0430\u0432\u044b\u0447\u043a\u0438. \u0412\u0435\u0434\u044c \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435. \u0418\u0441\u043f\u0440\u0430\u0432\u0438\u043c \u044d\u0442\u043e \u0434\u043e\u0441\u0430\u0434\u043d\u043e\u0435 \u043d\u0435\u0434\u043e\u0440\u0430\u0437\u0443\u043c\u0435\u043d\u0438\u0435. \u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448 Hadoop \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435.<\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u0434\u043f\u0440\u0430\u0432\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e Hadoop. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043c\u044f \u0445\u043e\u0441\u0442\u0430 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Hadoop \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043a\u0430\u043a localhost. \u0415\u0441\u043b\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u043e\u0434\u044b, \u043a\u0430\u0436\u0434\u0430\u044f \u043d\u043e\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0439\u0442\u0438 NameNode, ResourceManager \u0438 JobHistory \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u0445\u043e\u0441\u0442\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0445\u043e\u0441\u0442\u0430 \u0441 \u044d\u0442\u0438\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0438 \u0432\u043d\u0435\u0441\u0435\u043c \u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0438. <\/p>\n<p>  \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u0441\u0435 \u0432\u044b\u0448\u0435 master-\u0441\u0435\u0440\u0432\u0438\u0441\u044b (NameNode, ResourceManager, JobHistory) \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 master.local. \u0417\u0430\u043c\u0435\u043d\u0438\u043c localhost \u043d\u0430 master.local \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<pre><code class=\"bash\">cd \/opt\/hadoop\/etc\/hadoop sed -i 's\/localhost\/master.local\/' core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u0441\u0431\u043e\u0440\u043a\u0443 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430, \u0447\u0442\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0432\u0435 slave-\u043d\u043e\u0434\u044b. \u041d\u0430 slave-\u043d\u043e\u0434\u0430\u0445 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u0445\u043e\u0441\u0442\u0430 (\u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e slave1.local \u0438 slave2.local). \u0422\u0430\u043a\u0436\u0435 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0442\u0440\u0435\u0445 \u043d\u043e\u0434\u0430\u0445 \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c \/etc\/hosts, \u0447\u0442\u043e\u0431 \u043a\u0430\u0436\u0434\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043c\u043e\u0433\u043b\u0430 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0445\u043e\u0441\u0442\u0430. \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a (\u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0442\u0440\u0435\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445):<\/p>\n<pre><code class=\"bash\">cat \/etc\/hosts \u2026 192.168.122.70   master.local  192.168.122.59   slave1.local  192.168.122.217 slave2.local <\/code><\/pre>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u043d\u043e\u0434\u0430\u0445 slave1.local \u0438 slave2.local \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \/data\/dfs\/dn<\/p>\n<pre><code class=\"bash\">rm -rf \/data\/dfs\/dn\/*<\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u043e. \u041d\u0430 master.local \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b:<\/p>\n<pre><code class=\"bash\">\/opt\/hadoop\/sbin\/hadoop-daemon.sh start namenode  \/opt\/hadoop\/sbin\/hadoop-daemon.sh start datanode  \/opt\/hadoop\/sbin\/yarn-daemon.sh start resourcemanager  \/opt\/hadoop\/sbin\/yarn-daemon.sh start nodemanager  \/opt\/hadoop\/sbin\/mr-jobhistory-daemon.sh start historyserver <\/code><\/pre>\n<p>  \u041d\u0430 slave1.local \u0438 slave2.local \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e DataNode \u0438 NodeManager:<\/p>\n<pre><code class=\"bash\">\/opt\/hadoop\/sbin\/hadoop-daemon.sh start datanode  \/opt\/hadoop\/sbin\/yarn-daemon.sh start nodemanager <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0448 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0442\u0440\u0435\u0445 \u043d\u043e\u0434. <\/p>\n<p>  \u0414\u043b\u044f HDFS \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0432\u044b\u0432\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b dfsadmin -report \u0438 \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0442\u0440\u0438 \u043c\u0430\u0448\u0438\u043d\u044b \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432 \u0441\u043f\u0438\u0441\u043e\u043a Live datanodes:<\/p>\n<pre><code class=\"bash\">hdfs dfsadmin -report ... Live datanodes (3):  \u2026 Name: 192.168.122.70:50010 (master.local)  ... Name: 192.168.122.59:50010 (slave1.local)  ... Name: 192.168.122.217:50010 (slave2.local) <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0437\u0430\u0439\u0434\u0435\u043c \u043d\u0430 \u0432\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 NameNode:<br \/>  <a href=\"http:\/\/master.local\">master.local<\/a>:50070\/dfshealth.html#tab-datanode<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/015\/8f7\/ae8\/0158f7ae86304434be75c7d6e645a658.png\"\/><br \/>  \u0414\u043b\u044f YARN \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0432\u044b\u0432\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b node -list:<\/p>\n<pre><code class=\"bash\">yarn node -list -all  17\/01\/06 06:17:52 INFO client.RMProxy: Connecting to ResourceManager at master.local\/192.168.122.70:8032  Total Nodes:3           Node-Id             Node-State Node-Http-Address       Number-of-Running-Containers  slave2.local:39694              RUNNING slave2.local:8042                                  0  slave1.local:36880              RUNNING slave1.local:8042                                  0  master.local:44373              RUNNING master.local:8042                                  0 <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0437\u0430\u0439\u0434\u0435\u043c \u043d\u0430 \u0432\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 ResourceManager <\/p>\n<p>  <a href=\"http:\/\/master.local\">master.local<\/a>:8088\/cluster\/nodes<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/7f6\/595\/657\/7f65956572eb440dacb118920af0aac6.png\"\/><br \/>  \u0412\u0441\u0435 \u043d\u043e\u0434\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0441\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c RUNNING.<\/p>\n<p>  \u041d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f MapReduce \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0432\u0441\u0435\u0445 \u0442\u0440\u0435\u0445 \u043d\u043e\u0434\u0430\u0445. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0443\u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u0435 \u043d\u0430\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Pi \u0438\u0437 hadoop-mapreduce-examples.jar:<\/p>\n<pre><code class=\"bash\">yarn jar \/opt\/hadoop\/share\/hadoop\/mapreduce\/hadoop-mapreduce-examples-2.7.3.jar pi 30 1000<\/code><\/pre>\n<p>  \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u044b\u0432\u043e\u0434 yarn node -list -all:  <\/p>\n<pre><code class=\"bash\">...          Node-Id             Node-State Node-Http-Address       Number-of-Running-Containers  slave2.local:39694              RUNNING slave2.local:8042                                  4  slave1.local:36880              RUNNING slave1.local:8042                                  4  master.local:44373              RUNNING master.local:8042                                  4 <\/code><\/pre>\n<p>  Number-of-Running-Containers \u2014 4 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u043e\u0434\u0435. <\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 <a href=\"http:\/\/master.local\">master.local<\/a>:8088\/cluster\/nodes \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f\u0434\u0435\u0440 \u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 \u043e\u0431\u0449\u0435\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u043e\u0434\u0435.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e6b\/49d\/c14\/e6b49dc1491c4740b9f5fbd7fd991d48.png\"\/>  <\/p>\n<h3>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>  \u041c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 Hadoop \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438, \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0438 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u0415\u0441\u043b\u0438 \u0442\u0435\u043c\u0430 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438\u0437 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b Hadoop, \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e \u0434\u043b\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043d\u0443\u0436\u0434: <\/p>\n<p>  <a href=\"https:\/\/github.com\/hadoopfromscratch\/hadoopfromscratch\">github.com\/hadoopfromscratch\/hadoopfromscratch<\/a><\/p>\n<p>  \u0421 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0448\u044c\u044e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c zookeeper, spark, hive, hbase, cassandra, flume. \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u0442\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u043b\u0438 \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435. \u0411\u0443\u0434\u0443 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u0437\u043d\u0430\u0442\u0435\u043b\u0435\u043d.<br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/319048\/\"> https:\/\/habrahabr.ru\/post\/319048\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" width=\"300\" align=\"right\" src=\"https:\/\/habrastorage.org\/files\/bb9\/7b3\/b01\/bb97b3b0113a4ab98d9ee6a9b53f54d9.png\"\/>\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u043b\u0443\u0436\u0438\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435, \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Hadoop \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c. \u041c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c Hadoop \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u0430\u043a \u043d\u0430\u0434\u043e. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u0442\u0435 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0441 Hadoop, \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435 \u0438\u0437 \u043a\u0430\u043a\u0438\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u043e\u043d \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442, \u0432\u043e\u0442 \u043f\u0430\u0440\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e:<\/p>\n<p>  <a href=\"http:\/\/hadoop.apache.org\/docs\/r2.7.3\/hadoop-project-dist\/hadoop-hdfs\/HdfsDesign.html\">hadoop.apache.org\/docs\/r2.7.3\/hadoop-project-dist\/hadoop-hdfs\/HdfsDesign.html<\/a><br \/>  <a href=\"http:\/\/hadoop.apache.org\/docs\/r2.7.3\/hadoop-yarn\/hadoop-yarn-site\/YARN.html\">hadoop.apache.org\/docs\/r2.7.3\/hadoop-yarn\/hadoop-yarn-site\/YARN.html<\/a><\/p>\n<p>  <b>\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432?<\/b><\/p>\n<p>   \u2014 \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u0445\u043e\u0436\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0447\u0430\u0441\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0441 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u043c Cloudera \u0438\u043b\u0438 HortonWorks. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u2013 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441 \u0443\u0439\u043c\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442. \u041d\u043e\u0432\u0438\u0447\u043a\u0443 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0433\u0434\u0435 \u0447\u0442\u043e, \u0438 \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442. \u041d\u0430\u0447\u0438\u043d\u0430\u044f from scratch \u043c\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u043c \u043f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u043c\u0435\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e \u043e\u0434\u043d\u043e\u0439.<\/p>\n<p>   \u2014 \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438. \u0415\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043b\u0430\u0433 \u043c\u0435\u0436\u0434\u0443 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0430 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0432\u0435\u0440\u0441\u0438\u0438, \u0412\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432. \u0422\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0443\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0441\u043e\u0444\u0442\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u0430\u043a \u0435\u0441\u0442\u044c.<\/p>\n<p>   \u2014 Just for fun.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-283450","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/283450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=283450"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/283450\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=283450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=283450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=283450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}