{"id":635,"date":"2018-03-01T14:47:35","date_gmt":"2018-03-01T06:47:35","guid":{"rendered":"https:\/\/blog.jsjs.org\/?p=635"},"modified":"2018-03-01T14:47:35","modified_gmt":"2018-03-01T06:47:35","slug":"%e9%80%9a%e8%bf%87hadoop-hive%e6%90%ad%e5%bb%ba%e7%a6%bb%e7%ba%bf%e5%bc%8f%e7%9a%84%e5%88%86%e6%9e%90%e7%b3%bb%e7%bb%9f%e4%b9%8b%e5%bf%ab%e9%80%9f%e6%90%ad%e5%bb%ba%e4%b8%80%e8%a7%88","status":"publish","type":"post","link":"https:\/\/blog.jsjs.org\/?p=635","title":{"rendered":"\u901a\u8fc7hadoop + hive\u642d\u5efa\u79bb\u7ebf\u5f0f\u7684\u5206\u6790\u7cfb\u7edf\u4e4b\u5feb\u901f\u642d\u5efa\u4e00\u89c8"},"content":{"rendered":"<h1 class=\"postTitle\"><\/h1>\n<div class=\"clear\">\u00a0http:\/\/www.cnblogs.com\/huangxincheng\/p\/7895019.html<\/div>\n<div class=\"postBody\">\n<div id=\"cnblogs_post_body\" class=\"blogpost-body\">\n<p>\u3000\u3000\u6700\u8fd1\u6709\u4e2a\u9700\u6c42\uff0c\u9700\u8981\u6574\u5408\u6240\u6709\u5e97\u94fa\u7684\u6570\u636e\u505a\u4e00\u4e2a\u79bb\u7ebf\u5f0f\u5206\u6790\u7cfb\u7edf\uff0c\u66fe\u7ecf\u90fd\u662f\u6309\u7167\u5e97\u94fa\u5206\u5e93\u5206\u8868\u6765\u7ed9\u5404\u81ea\u5546\u5bb6\u901a\u8fc7highchart\u591a\u7ef4\u5ea6\u5c55\u793a\u81ea\u5bb6\u7684\u5e97\u94fa\u7ecf\u8425<\/p>\n<p>\u72b6\u51b5\uff0c\u6211\u4eec\u77e5\u9053\u8fd9\u662f\u4e00\u4e2a\u4ee5\u5e97\u94fa\u4e3a\u7ef4\u5ea6\u7684\u5207\u5206\uff0c\u975e\u5e38\u9002\u5408\u76ee\u524d\u7684\u5728\u7ebf\u4e1a\u52a1\uff0c\u8fd9\u56de\u8001\u677f\u63d0\u9700\u6c42\u4e86\uff0c\u66fe\u7ecf\u4e5f\u662f\u4e00\u4f4d\u6570\u636e\u5206\u6790\u5e08\uff0csql\u81ea\u7136\u5c31\u6e9c\u6e9c\u7684\uff0c\u6240\u4ee5\u5c31\u6765\u4e86<\/p>\n<p>\u4e00\u4e2a\u4ee5\u4e70\u5bb6\u7ef4\u5ea6\u5c55\u793a\u7528\u6237\u753b\u50cf\uff0c\u4ece\u800c\u66f4\u597d\u7684\u505a\u6570\u636e\u63a8\u9001\u548c\u7528\u6237\u884c\u4e3a\u5206\u6790\uff0c\u56e0\u4e3a\u662f\u79bb\u7ebf\u5f0f\u5206\u6790\uff0c\u76ee\u524d\u8fd8\u6ca1\u7814\u7a76spark\uff0cimpala\uff0cdrill\u4e86\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u4e00\uff1a\u642d\u5efahadoop\u96c6\u7fa4<\/p>\n<p>hadoop\u7684\u642d\u5efa\u662f\u4e00\u4e2a\u6bd4\u8f83\u7e41\u7410\u7684\u8fc7\u7a0b\uff0c\u91c7\u75283\u53f0Centos\uff0c\u5e9f\u8bdd\u4e0d\u8fc7\u591a\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\u3002\u3002\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2018.cnblogs.com\/blog\/214741\/201711\/214741-20171125103913062-396070683.jpg\" alt=\"\" \/><\/p>\n<p>\u4e8c\uff1a \u57fa\u7840\u914d\u7f6e<\/p>\n<p>1. \u5173\u95ed\u9632\u706b\u5899<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@localhost ~]# systemctl stop firewalld.service    #\u5173\u95ed\u9632\u706b\u5899\n[root@localhost ~]# systemctl disable firewalld.service #\u7981\u6b62\u5f00\u673a\u542f\u52a8\n[root@localhost ~]# firewall-cmd --state                #\u67e5\u770b\u9632\u706b\u5899\u72b6\u6001\nnot running\n[root@localhost ~]#<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>2. \u914d\u7f6eSSH\u514d\u767b\u5f55<\/p>\n<p>\u4e0d\u7ba1\u5728\u5f00\u542f\u8fd8\u662f\u5173\u95edhadoop\u7684\u65f6\u5019\uff0chadoop\u5185\u90e8\u90fd\u8981\u901a\u8fc7ssh\u8fdb\u884c\u901a\u8baf\uff0c\u6240\u4ee5\u9700\u8981\u914d\u7f6e\u4e00\u4e2assh\u516c\u94a5\u514d\u767b\u9646\uff0c\u505a\u6cd5\u5c31\u662f\u5c06\u4e00\u4e2acentos\u7684\u516c\u94a5copy\u5230\u53e6\u4e00<\/p>\n<p>\u53f0centos\u7684authorized_keys\u6587\u4ef6\u4e2d\u3002<\/p>\n<p>&lt;1&gt;\uff1a \u5728196\u4e0a\u751f\u6210\u516c\u94a5\u79c1\u94a5 \uff0c\u4ece\u4e0b\u56fe\u4e2d\u53ef\u4ee5\u770b\u5230\u901a\u8fc7ssh-keygen\u4e4b\u540e\u4f1a\u751f\u6210 id_rsa \u548c \u00a0id_rsa.pub \u4e24\u4e2a\u6587\u4ef6\uff0c\u8fd9\u91cc\u6211\u4eec<\/p>\n<p>\u5173\u5fc3\u7684\u662f\u516c\u94a5id_rsa.pub\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@localhost ~]# ssh-keygen -t rsa -P ''\nGenerating public\/private rsa key pair.\nEnter file in which to save the key (\/root\/.ssh\/id_rsa):\nCreated directory '\/root\/.ssh'.\nYour identification has been saved in \/root\/.ssh\/id_rsa.\nYour public key has been saved in \/root\/.ssh\/id_rsa.pub.\nThe key fingerprint is:\n40:72:cc:f4:c3:e7:15:c9:9f:ee:f8:48:ec:22:be:a1 root@localhost.localdomain\nThe key's randomart image is:\n+--[ RSA 2048]----+\n|    .++    ...   |\n|     +oo    o.   |\n|      . + . .. . |\n|       . + .  o  |\n|        S .  .   |\n|           .  .  |\n|        .   oo   |\n|       ....o...  |\n|      E.oo .o..  |\n+-----------------+\n[root@localhost ~]# ls \/root\/.ssh\/id_rsa\n\/root\/.ssh\/id_rsa\n[root@localhost ~]# ls \/root\/.ssh\nid_rsa  id_rsa.pub<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&lt;2&gt; \u901a\u8fc7scp\u590d\u5236\u547d\u4ee4 \u5c06\u516c\u94a5copy\u5230 146 \u548c 150\u4e3b\u673a\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master ~]# scp \/root\/.ssh\/id_rsa.pub root@192.168.23.146:\/root\/.ssh\/authorized_keys\nroot@192.168.23.146's password:\nid_rsa.pub                                                                100%  408     0.4KB\/s   00:00\n[root@master ~]# scp \/root\/.ssh\/id_rsa.pub root@192.168.23.150:\/root\/.ssh\/authorized_keys\nroot@192.168.23.150's password:\nid_rsa.pub                                                                100%  408     0.4KB\/s   00:00\n[root@master ~]#<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&lt;3&gt; \u505ahost\u6620\u5c04\uff0c\u4e3b\u8981\u7ed9\u51e0\u53f0\u673a\u5668\u505a\u522b\u540d\u6620\u5c04\uff0c\u65b9\u4fbf\u7ba1\u7406\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master ~]# cat \/etc\/hosts\n127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4\n::1         localhost localhost.localdomain localhost6 localhost6.localdomain6\n192.168.23.196 master\n192.168.23.150 slave1\n192.168.23.146 slave2\n[root@master ~]#<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&lt;4&gt; java\u5b89\u88c5\u73af\u5883<\/p>\n<p>hadoop\u662fjava\u5199\u7684\uff0c\u6240\u4ee5\u9700\u8981\u5b89\u88c5java\u73af\u5883\uff0c\u5177\u4f53\u600e\u4e48\u5b89\u88c5\uff0c\u5927\u5bb6\u53ef\u4ee5\u7f51\u4e0a\u641c\u4e00\u4e0b\uff0c\u5148\u628acentos\u81ea\u5e26\u7684openjdk\u5378\u8f7d\u6389\uff0c\u6700\u540e\u5728profile\u4e2d\u914d\u7f6e\u4e00\u4e0b\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master ~]# cat \/etc\/profile\n# \/etc\/profile\n\n# System wide environment and startup programs, for login setup\n# Functions and aliases go in \/etc\/bashrc\n\n# It's NOT a good idea to change this file unless you know what you\n# are doing. It's much better to create a custom.sh shell script in\n# \/etc\/profile.d\/ to make custom changes to your environment, as this\n# will prevent the need for merging in future updates.\n\npathmunge () {\n    case \":${PATH}:\" in\n        *:\"$1\":*)\n            ;;\n        *)\n            if [ \"$2\" = \"after\" ] ; then\n                PATH=$PATH:$1\n            else\n                PATH=$1:$PATH\n            fi\n    esac\n}\n\n\nif [ -x \/usr\/bin\/id ]; then\n    if [ -z \"$EUID\" ]; then\n        # ksh workaround\n        EUID=`id -u`\n        UID=`id -ru`\n    fi\n    USER=\"`id -un`\"\n    LOGNAME=$USER\n    MAIL=\"\/var\/spool\/mail\/$USER\"\nfi\n\n# Path manipulation\nif [ \"$EUID\" = \"0\" ]; then\n    pathmunge \/usr\/sbin\n    pathmunge \/usr\/local\/sbin\nelse\n    pathmunge \/usr\/local\/sbin after\n    pathmunge \/usr\/sbin after\nfi\n\nHOSTNAME=`\/usr\/bin\/hostname 2&gt;\/dev\/null`\nHISTSIZE=1000\nif [ \"$HISTCONTROL\" = \"ignorespace\" ] ; then\n    export HISTCONTROL=ignoreboth\nelse\n    export HISTCONTROL=ignoredups\nfi\n\nexport PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL\n\n# By default, we want umask to get set. This sets it for login shell\n# Current threshold for system reserved uid\/gids is 200\n# You could check uidgid reservation validity in\n# \/usr\/share\/doc\/setup-*\/uidgid file\nif [ $UID -gt 199 ] &amp;&amp; [ \"`id -gn`\" = \"`id -un`\" ]; then\n    umask 002\nelse\n    umask 022\nfi\n\nfor i in \/etc\/profile.d\/*.sh ; do\n    if [ -r \"$i\" ]; then\n        if [ \"${-#*i}\" != \"$-\" ]; then\n            . \"$i\"\n        else\n            . \"$i\" &gt;\/dev\/null\n        fi\n    fi\ndone\n\nunset i\nunset -f pathmunge\n\nexport JAVA_HOME=\/usr\/big\/jdk1.8\nexport HADOOP_HOME=\/usr\/big\/hadoop\nexport PATH=$JAVA_HOME\/bin:$JAVA_HOME\/jre\/bin:$HADOOP_HOME\/sbin:$HADOOP_HOME\/bin:$PATH\n\n\n[root@master ~]#<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\u4e8c\uff1a hadoop\u5b89\u88c5\u5305<\/p>\n<p>1. \u00a0\u5927\u5bb6\u53ef\u4ee5\u5230\u5b98\u7f51\u4e0a\u627e\u4e00\u4e0b\u5b89\u88c5\u94fe\u63a5\uff1a<a href=\"http:\/\/hadoop.apache.org\/releases.html\" target=\"_blank\" rel=\"noopener\">http:\/\/hadoop.apache.org\/releases.html<\/a>\uff0c \u6211\u8fd9\u91cc\u9009\u62e9\u7684\u662f\u6700\u65b0\u7248\u76842.9.0\uff0cbinary\u5b89\u88c5\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2018.cnblogs.com\/blog\/214741\/201711\/214741-20171125112825765-896333656.jpg\" alt=\"\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>2. \u00a0\u7136\u540e\u5c31\u662f\u4e00\u8def\u547d\u4ee4\u5b89\u88c5\u3010\u770b\u6e05\u695a\u76ee\u5f55\u54e6\u3002\u3002\u3002\u6ca1\u6709\u7684\u8bdd\u81ea\u5df1mkdir\u3011<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@localhost big]# pwd\n\/usr\/big\n[root@localhost big]# ls\nhadoop-2.9.0  hadoop-2.9.0.tar.gz\n[root@localhost big]# tar -xvzf hadoop-2.9.0.tar.gz<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>3. \u5bf9core-site.xml ,hdfs-site.xml\uff0cmapred-site.xml,yarn-site.xml\uff0cslaves\uff0chadoop-env.sh\u7684\u914d\u7f6e\uff0c\u8def\u5f84\u90fd\u5728etc\u76ee\u5f55\u4e0b\uff0c<\/p>\n<p>\u8fd9\u4e5f\u662f\u6700\u9ebb\u70e6\u7684\u3002\u3002\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master hadoop]# pwd\n\/usr\/big\/hadoop\/etc\/hadoop\n[root@master hadoop]# ls\ncapacity-scheduler.xml      hadoop-policy.xml        kms-log4j.properties        slaves\nconfiguration.xsl           hdfs-site.xml            kms-site.xml                ssl-client.xml.example\ncontainer-executor.cfg      httpfs-env.sh            log4j.properties            ssl-server.xml.example\ncore-site.xml               httpfs-log4j.properties  mapred-env.cmd              yarn-env.cmd\nhadoop-env.cmd              httpfs-signature.secret  mapred-env.sh               yarn-env.sh\nhadoop-env.sh               httpfs-site.xml          mapred-queues.xml.template  yarn-site.xml\nhadoop-metrics2.properties  kms-acls.xml             mapred-site.xml\nhadoop-metrics.properties   kms-env.sh               mapred-site.xml.template\n[root@master hadoop]#<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&lt;1&gt; core-site.xml \u4e0b\u7684\u914d\u7f6e\u4e2d\uff0c\u6211\u6307\u5b9a\u4e86hadoop\u7684\u57fa\u5730\u5740\uff0cnamenode\u7684\u7aef\u53e3\u53f7\uff0cnamenode\u7684\u5730\u5740\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;?xml-stylesheet type=\"text\/xsl\" href=\"configuration.xsl\"?&gt;\n&lt;!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http:\/\/www.apache.org\/licenses\/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License. See accompanying LICENSE file.\n--&gt;\n\n&lt;!-- Put site-specific property overrides in this file. --&gt;\n\n&lt;configuration&gt;\n    &lt;property&gt;\n        &lt;name&gt;hadoop.tmp.dir&lt;\/name&gt;\n        &lt;value&gt;\/usr\/hadoop&lt;\/value&gt;\n        &lt;description&gt;A base for other temporary directories.&lt;\/description&gt;\n    &lt;\/property&gt;\n      &lt;!-- file system properties --&gt;\n    &lt;property&gt;\n        &lt;name&gt;fs.default.name&lt;\/name&gt;\n        &lt;value&gt;hdfs:\/\/192.168.23.196:9000&lt;\/value&gt;\n    &lt;\/property&gt;\n    &lt;property&gt;\n        &lt;name&gt;dfs.name.dir&lt;\/name&gt;\n        &lt;value&gt;\/usr\/hadoop\/namenode&lt;\/value&gt;\n        &lt;description&gt;A base for other temporary directories.&lt;\/description&gt;\n    &lt;\/property&gt;\n&lt;\/configuration&gt;<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&lt;2&gt; \u00a0hdfs-site.xml\u00a0\u00a0\u8fd9\u4e2a\u6587\u4ef6\u4e3b\u8981\u7528\u6765\u914d\u7f6edatanode\u7684\u5b58\u653e\u8def\u5f84\uff0c\u4ee5\u53cadatanode\u7684\u526f\u672c\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;?xml-stylesheet type=\"text\/xsl\" href=\"configuration.xsl\"?&gt;\n&lt;!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http:\/\/www.apache.org\/licenses\/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License. See accompanying LICENSE file.\n--&gt;\n\n&lt;!-- Put site-specific property overrides in this file. --&gt;\n\n&lt;configuration&gt;\n    &lt;property&gt;\n        &lt;name&gt;dfs.replication&lt;\/name&gt;\n        &lt;value&gt;2&lt;\/value&gt;\n    &lt;\/property&gt;\n        &lt;property&gt;\n        &lt;name&gt;dfs.data.dir&lt;\/name&gt;\n        &lt;value&gt;\/usr\/hadoop\/datanode&lt;\/value&gt;\n    &lt;\/property&gt;\n&lt;\/configuration&gt;<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>3. \u8fd9\u91cc\u914d\u7f6e\u4e00\u4e0bjobtrace\u7aef\u53e3\u53f7<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>&lt;?xml version=\"1.0\"?&gt;\n&lt;?xml-stylesheet type=\"text\/xsl\" href=\"configuration.xsl\"?&gt;\n&lt;!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http:\/\/www.apache.org\/licenses\/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License. See accompanying LICENSE file.\n--&gt;\n\n&lt;!-- Put site-specific property overrides in this file. --&gt;\n\n&lt;configuration&gt;\n    &lt;property&gt;\n      &lt;name&gt;mapreduce.job.tracker&lt;\/name&gt;\n      &lt;value&gt;hdfs:\/\/192.168.23.196:8001&lt;\/value&gt;\n      &lt;final&gt;true&lt;\/final&gt;\n    &lt;\/property&gt;\n&lt;\/configuration&gt;<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>4. yarn-site.xml\u6587\u4ef6\u914d\u7f6e<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>&lt;configuration&gt;\n\n&lt;!-- Site specific YARN configuration properties --&gt;\n\n&lt;property&gt;\n&lt;name&gt;yarn.nodemanager.aux-services&lt;\/name&gt;\n&lt;value&gt;mapreduce_shuffle&lt;\/value&gt;\n&lt;\/property&gt;\n&lt;property&gt;\n&lt;name&gt;yarn.nodemanager.aux-services.mapreduce.shuffle.class&lt;\/name&gt;\n&lt;value&gt;org.apache.hadoop.mapred.ShuffleHandler&lt;\/value&gt;\n&lt;\/property&gt;\n&lt;property&gt;\n    &lt;name&gt;yarn.nodemanager.resource.memory-mb&lt;\/name&gt;\n    &lt;value&gt;20480&lt;\/value&gt;\n&lt;\/property&gt;\n&lt;property&gt;\n   &lt;name&gt;yarn.scheduler.minimum-allocation-mb&lt;\/name&gt;\n   &lt;value&gt;2048&lt;\/value&gt;\n&lt;\/property&gt;\n&lt;property&gt;\n    &lt;name&gt;yarn.nodemanager.vmem-pmem-ratio&lt;\/name&gt;\n    &lt;value&gt;2.1&lt;\/value&gt;\n&lt;\/property&gt;\n\n&lt;\/configuration&gt;<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>5. \u5728etc\u7684slaves\u6587\u4ef6\u4e2d\uff0c\u8ffd\u52a0\u6211\u4eec\u5728host\u4e2d\u914d\u7f6e\u7684salve1\u548cslave2\uff0c\u8fd9\u6837\u542f\u52a8\u7684\u65f6\u5019\uff0chadoop\u624d\u80fd\u77e5\u9053slave\u7684\u4f4d\u7f6e\u3002<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@master hadoop]# cat slaves\nslave1\nslave2\n[root@master hadoop]# pwd\n\/usr\/big\/hadoop\/etc\/hadoop\n[root@master hadoop]#<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>6. \u5728hadoop-env.sh\u4e2d\u914d\u7f6ejava\u7684\u8def\u5f84\uff0c\u5176\u5b9e\u5c31\u662f\u628a \/etc\/profile\u7684\u914d\u7f6ecopy\u4e00\u4e0b\uff0c\u8ffd\u52a0\u5230\u6587\u4ef6\u672b\u5c3e\u3002<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@master hadoop]# vim hadoop-env.sh\nexport JAVA_HOME=\/usr\/big\/jdk1.8<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\u4e0d\u8fc7\u8fd9\u91cc\u8fd8\u6709\u4e00\u4e2a\u5751\uff0chadoop\u5728\u8ba1\u7b97\u65f6\uff0c\u9ed8\u8ba4\u7684heap-size\u662f512M\uff0c\u8fd9\u5c31\u5bb9\u6613\u5bfc\u81f4\u5728\u5927\u6570\u636e\u8ba1\u7b97\u65f6\uff0c\u5806\u6808\u6ea2\u51fa\uff0c\u8fd9\u91cc\u5c06512\u6539\u62102048\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>export HADOOP_NFS3_OPTS=\"$HADOOP_NFS3_OPTS\"\nexport HADOOP_PORTMAP_OPTS=\"-Xmx2048m $HADOOP_PORTMAP_OPTS\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"$HADOOP_CLIENT_OPTS\"\n# set heap args when HADOOP_HEAPSIZE is empty\nif [ \"$HADOOP_HEAPSIZE\" = \"\" ]; then\n  export HADOOP_CLIENT_OPTS=\"-Xmx2048m $HADOOP_CLIENT_OPTS\"\nfi<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>7. \u00a0\u4e0d\u8981\u5fd8\u4e86\u5728\/usr\u76ee\u5f55\u4e0b\u521b\u5efa\u6587\u4ef6\u5939\u54e6\uff0c\u7136\u540e\u5728\/etc\/profile\u4e2d\u914d\u7f6ehadoop\u7684\u8def\u5f84\u3002<\/p>\n<p>\/usr\/hadoop<br \/>\n\/usr\/hadoop\/namenode<br \/>\n\/usr\/hadoop\/datanode<\/p>\n<div class=\"cnblogs_code\">\n<pre>export JAVA_HOME=\/usr\/big\/jdk1.8\nexport HADOOP_HOME=\/usr\/big\/hadoop\nexport PATH=$JAVA_HOME\/bin:$JAVA_HOME\/jre\/bin:$HADOOP_HOME\/sbin:$HADOOP_HOME\/bin:$PATH<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>8. \u00a0\u5c06196\u4e0a\u914d\u7f6e\u597d\u7684\u6574\u4e2ahadoop\u6587\u4ef6\u5939\u901a\u8fc7scp\u5230 146 \u548c150 \u670d\u52a1\u5668\u4e0a\u7684\/usr\/big\u76ee\u5f55\u4e0b\uff0c\u540e\u671f\u5927\u5bb6\u4e5f\u53ef\u4ee5\u901a\u8fc7svn\u8fdb\u884chadoop\u6587\u4ef6\u5939\u7684<\/p>\n<p>\u7ba1\u7406\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\u3002<\/p>\n<div class=\"cnblogs_code\">\n<pre>scp -r \/usr\/big\/hadoop root@192.168.23.146:\/usr\/big\nscp -r \/usr\/big\/hadoop root@192.168.23.150:\/usr\/big<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\u4e09\uff1a\u542f\u52a8hadoop<\/p>\n<p>1. \u00a0\u542f\u52a8\u4e4b\u524d\u901a\u8fc7hadoop namede -format \u683c\u5f0f\u5316\u4e00\u4e0bhadoop dfs\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master hadoop]# hadoop namenode -format\nDEPRECATED: Use of this script to execute hdfs command is deprecated.\nInstead use the hdfs command for it.\n\n17\/11\/24 20:13:19 INFO namenode.NameNode: STARTUP_MSG:\n\/************************************************************\nSTARTUP_MSG: Starting NameNode\nSTARTUP_MSG:   host = master\/192.168.23.196\nSTARTUP_MSG:   args = [-format]\nSTARTUP_MSG:   version = 2.9.0<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>2. \u00a0\u5728master\u673a\u5668\u4e0astart-all.sh \u542f\u52a8hadoop\u96c6\u7fa4\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master hadoop]# start-all.sh\nThis script is Deprecated. Instead use start-dfs.sh and start-yarn.sh\nStarting namenodes on [master]\nroot@master's password:\nmaster: starting namenode, logging to \/usr\/big\/hadoop\/logs\/hadoop-root-namenode-master.out\nslave1: starting datanode, logging to \/usr\/big\/hadoop\/logs\/hadoop-root-datanode-slave1.out\nslave2: starting datanode, logging to \/usr\/big\/hadoop\/logs\/hadoop-root-datanode-slave2.out\nStarting secondary namenodes [0.0.0.0]\nroot@0.0.0.0's password:\n0.0.0.0: starting secondarynamenode, logging to \/usr\/big\/hadoop\/logs\/hadoop-root-secondarynamenode-master.out\nstarting yarn daemons\nstarting resourcemanager, logging to \/usr\/big\/hadoop\/logs\/yarn-root-resourcemanager-master.out\nslave1: starting nodemanager, logging to \/usr\/big\/hadoop\/logs\/yarn-root-nodemanager-slave1.out\nslave2: starting nodemanager, logging to \/usr\/big\/hadoop\/logs\/yarn-root-nodemanager-slave2.out\n[root@master hadoop]# jps\n8851 NameNode\n9395 ResourceManager\n9655 Jps\n9146 SecondaryNameNode\n[root@master hadoop]#<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\u901a\u8fc7jps\u53ef\u4ee5\u770b\u5230\uff0c\u5728master\u4e2d\u5df2\u7ecf\u5f00\u542f\u4e86NameNode \u548c ResouceManager\uff0c\u90a3\u4e48\u63a5\u4e0b\u6765\uff0c\u5927\u5bb6\u4e5f\u53ef\u4ee5\u5230slave1\u548cslave2\u673a\u5668\u4e0a\u770b\u4e00\u4e0b\u662f\u4e0d\u662f\u628aNodeManager<\/p>\n<p>\u548c DataNode\u90fd\u5f00\u8d77\u6765\u4e86\u3002\u3002\u3002<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@slave1 hadoop]# jps\n7112 NodeManager\n7354 Jps\n6892 DataNode\n[root@slave1 hadoop]#\n[root@slave2 hadoop]# jps\n7553 NodeManager\n7803 Jps\n7340 DataNode\n[root@slave2 hadoop]#<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\u56db\uff1a\u642d\u5efa\u5b8c\u6210\uff0c\u67e5\u770b\u7ed3\u679c<\/p>\n<p>\u901a\u8fc7\u4e0b\u9762\u7684tlnp\u547d\u4ee4\uff0c\u53ef\u4ee5\u770b\u523050070\u7aef\u53e3\u548c8088\u7aef\u53e3\u6253\u5f00\uff0c\u4e00\u4e2a\u662f\u67e5\u770bdatanode\uff0c\u4e00\u4e2a\u662f\u67e5\u770bmapreduce\u4efb\u52a1\u3002<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@master hadoop]# netstat -tlnp<\/pre>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images2018.cnblogs.com\/blog\/214741\/201711\/214741-20171125122109031-656015107.jpg\" alt=\"\" width=\"990\" height=\"376\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2018.cnblogs.com\/blog\/214741\/201711\/214741-20171125122335234-82962154.jpg\" alt=\"\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images2018.cnblogs.com\/blog\/214741\/201711\/214741-20171125122447062-1735500826.jpg\" alt=\"\" width=\"1058\" height=\"515\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u4e94\uff1a\u6700\u540e\u901a\u8fc7hadoop\u81ea\u5e26\u7684wordcount\u6765\u7ed3\u675f\u672c\u7bc7\u7684\u642d\u5efa\u8fc7\u7a0b\u3002<\/p>\n<p>\u5728hadoop\u7684share\u76ee\u5f55\u4e0b\u6709\u4e00\u4e2awordcount\u7684\u6d4b\u8bd5\u7a0b\u5e8f\uff0c\u4e3b\u8981\u7528\u6765\u7edf\u8ba1\u5355\u8bcd\u7684\u4e2a\u6570\uff0chadoop\/share\/hadoop\/mapreduce\/hadoop-mapreduce-<\/p>\n<p>examples-2.9.0.jar\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>1. \u6211\u5728\/usr\/soft\u4e0b\u901a\u8fc7\u7a0b\u5e8f\u751f\u6210\u4e86\u4e00\u4e2a39M\u76842.txt\u6587\u4ef6\uff08\u5168\u662f\u968f\u673a\u6c49\u5b57\u54e6\u3002\u3002\u3002\uff09<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@master soft]# ls -lsh 2.txt\n39M -rw-r--r--. 1 root root 39M Nov 24 00:32 2.txt\n[root@master soft]#<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>2. \u5728hadoop\u4e2d\u521b\u5efa\u4e00\u4e2ainput\u6587\u4ef6\u5939\uff0c\u7136\u540e\u5728\u628a2.txt\u4e0a\u4f20\u8fc7\u53bb<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@master soft]# hadoop fs -mkdir \/input\n[root@master soft]# hadoop fs -put \/usr\/soft\/2.txt  \/input\n[root@master soft]# hadoop fs -ls \/\nFound 1 items\ndrwxr-xr-x   - root supergroup          0 2017-11-24 20:30 \/input<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>3. \u6267\u884cwordcount\u7684mapreduce\u4efb\u52a1<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master soft]# hadoop jar \/usr\/big\/hadoop\/share\/hadoop\/mapreduce\/hadoop-mapreduce-examples-2.9.0.jar wordcount \/input\/2.txt \/output\/v1\n17\/11\/24 20:32:21 INFO Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id\n17\/11\/24 20:32:21 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=\n17\/11\/24 20:32:21 INFO input.FileInputFormat: Total input files to process : 1\n17\/11\/24 20:32:21 INFO mapreduce.JobSubmitter: number of splits:1\n17\/11\/24 20:32:21 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_local1430356259_0001\n17\/11\/24 20:32:22 INFO mapreduce.Job: The url to track the job: http:\/\/localhost:8080\/\n17\/11\/24 20:32:22 INFO mapreduce.Job: Running job: job_local1430356259_0001\n17\/11\/24 20:32:22 INFO mapred.LocalJobRunner: OutputCommitter set in config null\n17\/11\/24 20:32:22 INFO output.FileOutputCommitter: File Output Committer Algorithm version is 1\n17\/11\/24 20:32:22 INFO output.FileOutputCommitter: FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false\n17\/11\/24 20:32:22 INFO mapred.LocalJobRunner: OutputCommitter is org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter\n17\/11\/24 20:32:22 INFO mapred.LocalJobRunner: Waiting for map tasks\n17\/11\/24 20:32:22 INFO mapred.LocalJobRunner: Starting task: attempt_local1430356259_0001_m_000000_0\n17\/11\/24 20:32:22 INFO output.FileOutputCommitter: File Output Committer Algorithm version is 1\n17\/11\/24 20:32:22 INFO output.FileOutputCommitter: FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false\n17\/11\/24 20:32:22 INFO mapred.Task:  Using ResourceCalculatorProcessTree : [ ]\n17\/11\/24 20:32:22 INFO mapred.MapTask: Processing split: hdfs:\/\/192.168.23.196:9000\/input\/2.txt:0+40000002\n17\/11\/24 20:32:22 INFO mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584)\n17\/11\/24 20:32:22 INFO mapred.MapTask: mapreduce.task.io.sort.mb: 100\n17\/11\/24 20:32:22 INFO mapred.MapTask: soft limit at 83886080\n17\/11\/24 20:32:22 INFO mapred.MapTask: bufstart = 0; bufvoid = 104857600\n17\/11\/24 20:32:22 INFO mapred.MapTask: kvstart = 26214396; length = 6553600\n17\/11\/24 20:32:22 INFO mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer\n17\/11\/24 20:32:23 INFO mapreduce.Job: Job job_local1430356259_0001 running in uber mode : false\n17\/11\/24 20:32:23 INFO mapreduce.Job:  map 0% reduce 0%\n17\/11\/24 20:32:23 INFO input.LineRecordReader: Found UTF-8 BOM and skipped it\n17\/11\/24 20:32:27 INFO mapred.MapTask: Spilling map output\n17\/11\/24 20:32:27 INFO mapred.MapTask: bufstart = 0; bufend = 27962024; bufvoid = 104857600\n17\/11\/24 20:32:27 INFO mapred.MapTask: kvstart = 26214396(104857584); kvend = 12233388(48933552); length = 13981009\/6553600\n17\/11\/24 20:32:27 INFO mapred.MapTask: (EQUATOR) 38447780 kvi 9611940(38447760)\n17\/11\/24 20:32:32 INFO mapred.MapTask: Finished spill 0\n17\/11\/24 20:32:32 INFO mapred.MapTask: (RESET) equator 38447780 kv 9611940(38447760) kvi 6990512(27962048)\n17\/11\/24 20:32:33 INFO mapred.MapTask: Spilling map output\n17\/11\/24 20:32:33 INFO mapred.MapTask: bufstart = 38447780; bufend = 66409804; bufvoid = 104857600\n17\/11\/24 20:32:33 INFO mapred.MapTask: kvstart = 9611940(38447760); kvend = 21845332(87381328); length = 13981009\/6553600\n17\/11\/24 20:32:33 INFO mapred.MapTask: (EQUATOR) 76895558 kvi 19223884(76895536)\n17\/11\/24 20:32:34 INFO mapred.LocalJobRunner: map &gt; map\n17\/11\/24 20:32:34 INFO mapreduce.Job:  map 67% reduce 0%\n17\/11\/24 20:32:38 INFO mapred.MapTask: Finished spill 1\n17\/11\/24 20:32:38 INFO mapred.MapTask: (RESET) equator 76895558 kv 19223884(76895536) kvi 16602456(66409824)\n17\/11\/24 20:32:39 INFO mapred.LocalJobRunner: map &gt; map\n17\/11\/24 20:32:39 INFO mapred.MapTask: Starting flush of map output\n17\/11\/24 20:32:39 INFO mapred.MapTask: Spilling map output\n17\/11\/24 20:32:39 INFO mapred.MapTask: bufstart = 76895558; bufend = 100971510; bufvoid = 104857600\n17\/11\/24 20:32:39 INFO mapred.MapTask: kvstart = 19223884(76895536); kvend = 7185912(28743648); length = 12037973\/6553600\n17\/11\/24 20:32:40 INFO mapred.LocalJobRunner: map &gt; sort\n17\/11\/24 20:32:43 INFO mapred.MapTask: Finished spill 2\n17\/11\/24 20:32:43 INFO mapred.Merger: Merging 3 sorted segments\n17\/11\/24 20:32:43 INFO mapred.Merger: Down to the last merge-pass, with 3 segments left of total size: 180000 bytes\n17\/11\/24 20:32:43 INFO mapred.Task: Task:attempt_local1430356259_0001_m_000000_0 is done. And is in the process of committing\n17\/11\/24 20:32:43 INFO mapred.LocalJobRunner: map &gt; sort\n17\/11\/24 20:32:43 INFO mapred.Task: Task 'attempt_local1430356259_0001_m_000000_0' done.\n17\/11\/24 20:32:43 INFO mapred.LocalJobRunner: Finishing task: attempt_local1430356259_0001_m_000000_0\n17\/11\/24 20:32:43 INFO mapred.LocalJobRunner: map task executor complete.\n17\/11\/24 20:32:43 INFO mapred.LocalJobRunner: Waiting for reduce tasks\n17\/11\/24 20:32:43 INFO mapred.LocalJobRunner: Starting task: attempt_local1430356259_0001_r_000000_0\n17\/11\/24 20:32:43 INFO output.FileOutputCommitter: File Output Committer Algorithm version is 1\n17\/11\/24 20:32:43 INFO output.FileOutputCommitter: FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false\n17\/11\/24 20:32:43 INFO mapred.Task:  Using ResourceCalculatorProcessTree : [ ]\n17\/11\/24 20:32:43 INFO mapred.ReduceTask: Using ShuffleConsumerPlugin: org.apache.hadoop.mapreduce.task.reduce.Shuffle@f8eab6f\n17\/11\/24 20:32:43 INFO mapreduce.Job:  map 100% reduce 0%\n17\/11\/24 20:32:43 INFO reduce.MergeManagerImpl: MergerManager: memoryLimit=1336252800, maxSingleShuffleLimit=334063200, mergeThreshold=881926912, ioSortFactor=10, memToMemMergeOutputsThreshold=10\n17\/11\/24 20:32:43 INFO reduce.EventFetcher: attempt_local1430356259_0001_r_000000_0 Thread started: EventFetcher for fetching Map Completion Events\n17\/11\/24 20:32:43 INFO reduce.LocalFetcher: localfetcher#1 about to shuffle output of map attempt_local1430356259_0001_m_000000_0 decomp: 60002 len: 60006 to MEMORY\n17\/11\/24 20:32:43 INFO reduce.InMemoryMapOutput: Read 60002 bytes from map-output for attempt_local1430356259_0001_m_000000_0\n17\/11\/24 20:32:43 INFO reduce.MergeManagerImpl: closeInMemoryFile -&gt; map-output of size: 60002, inMemoryMapOutputs.size() -&gt; 1, commitMemory -&gt; 0, usedMemory -&gt;60002\n17\/11\/24 20:32:43 INFO reduce.EventFetcher: EventFetcher is interrupted.. Returning\n17\/11\/24 20:32:43 INFO mapred.LocalJobRunner: 1 \/ 1 copied.\n17\/11\/24 20:32:43 INFO reduce.MergeManagerImpl: finalMerge called with 1 in-memory map-outputs and 0 on-disk map-outputs\n17\/11\/24 20:32:43 INFO mapred.Merger: Merging 1 sorted segments\n17\/11\/24 20:32:43 INFO mapred.Merger: Down to the last merge-pass, with 1 segments left of total size: 59996 bytes\n17\/11\/24 20:32:43 INFO reduce.MergeManagerImpl: Merged 1 segments, 60002 bytes to disk to satisfy reduce memory limit\n17\/11\/24 20:32:43 INFO reduce.MergeManagerImpl: Merging 1 files, 60006 bytes from disk\n17\/11\/24 20:32:43 INFO reduce.MergeManagerImpl: Merging 0 segments, 0 bytes from memory into reduce\n17\/11\/24 20:32:43 INFO mapred.Merger: Merging 1 sorted segments\n17\/11\/24 20:32:43 INFO mapred.Merger: Down to the last merge-pass, with 1 segments left of total size: 59996 bytes\n17\/11\/24 20:32:43 INFO mapred.LocalJobRunner: 1 \/ 1 copied.\n17\/11\/24 20:32:43 INFO Configuration.deprecation: mapred.skip.on is deprecated. Instead, use mapreduce.job.skiprecords\n17\/11\/24 20:32:44 INFO mapred.Task: Task:attempt_local1430356259_0001_r_000000_0 is done. And is in the process of committing\n17\/11\/24 20:32:44 INFO mapred.LocalJobRunner: 1 \/ 1 copied.\n17\/11\/24 20:32:44 INFO mapred.Task: Task attempt_local1430356259_0001_r_000000_0 is allowed to commit now\n17\/11\/24 20:32:44 INFO output.FileOutputCommitter: Saved output of task 'attempt_local1430356259_0001_r_000000_0' to hdfs:\/\/192.168.23.196:9000\/output\/v1\/_temporary\/0\/task_local1430356259_0001_r_000000\n17\/11\/24 20:32:44 INFO mapred.LocalJobRunner: reduce &gt; reduce\n17\/11\/24 20:32:44 INFO mapred.Task: Task 'attempt_local1430356259_0001_r_000000_0' done.\n17\/11\/24 20:32:44 INFO mapred.LocalJobRunner: Finishing task: attempt_local1430356259_0001_r_000000_0\n17\/11\/24 20:32:44 INFO mapred.LocalJobRunner: reduce task executor complete.\n17\/11\/24 20:32:44 INFO mapreduce.Job:  map 100% reduce 100%\n17\/11\/24 20:32:44 INFO mapreduce.Job: Job job_local1430356259_0001 completed successfully\n17\/11\/24 20:32:44 INFO mapreduce.Job: Counters: 35\n    File System Counters\n        FILE: Number of bytes read=1087044\n        FILE: Number of bytes written=2084932\n        FILE: Number of read operations=0\n        FILE: Number of large read operations=0\n        FILE: Number of write operations=0\n        HDFS: Number of bytes read=80000004\n        HDFS: Number of bytes written=54000\n        HDFS: Number of read operations=13\n        HDFS: Number of large read operations=0\n        HDFS: Number of write operations=4\n    Map-Reduce Framework\n        Map input records=1\n        Map output records=10000000\n        Map output bytes=80000000\n        Map output materialized bytes=60006\n        Input split bytes=103\n        Combine input records=10018000\n        Combine output records=24000\n        Reduce input groups=6000\n        Reduce shuffle bytes=60006\n        Reduce input records=6000\n        Reduce output records=6000\n        Spilled Records=30000\n        Shuffled Maps =1\n        Failed Shuffles=0\n        Merged Map outputs=1\n        GC time elapsed (ms)=1770\n        Total committed heap usage (bytes)=1776287744\n    Shuffle Errors\n        BAD_ID=0\n        CONNECTION=0\n        IO_ERROR=0\n        WRONG_LENGTH=0\n        WRONG_MAP=0\n        WRONG_REDUCE=0\n    File Input Format Counters\n        Bytes Read=40000002\n    File Output Format Counters\n        Bytes Written=54000<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>4. \u6700\u540e\u6211\u4eec\u5230\/output\/v1\u4e0b\u9762\u53bb\u770b\u4e00\u4e0b\u6700\u7ec8\u751f\u6210\u7684\u7ed3\u679c\uff0c\u7531\u4e8e\u751f\u6210\u7684\u6c49\u5b57\u592a\u591a\uff0c\u6211\u8fd9\u91cc\u53ea\u8f93\u51fa\u4e86\u4e00\u90e8\u5206<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@master soft]# hadoop fs -ls \/output\/v1\nFound 2 items\n-rw-r--r--   2 root supergroup          0 2017-11-24 20:32 \/output\/v1\/_SUCCESS\n-rw-r--r--   2 root supergroup      54000 2017-11-24 20:32 \/output\/v1\/part-r-00000\n[root@master soft]# hadoop fs -ls \/output\/v1\/part-r-00000\n-rw-r--r--   2 root supergroup      54000 2017-11-24 20:32 \/output\/v1\/part-r-00000\n[root@master soft]# hadoop fs -tail \/output\/v1\/part-r-00000\n    1609\n\u651f    1685\n\u6520    1636\n\u6521    1682\n\u6522    1657\n\u6523    1685\n\u6524    1611\n\u6525    1724\n\u6526    1732\n\u6527    1657\n\u6528    1767\n\u6529    1768\n\u652a    1624<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\u597d\u4e86\uff0c\u642d\u5efa\u7684\u8fc7\u7a0b\u786e\u5b9e\u662f\u9ebb\u70e6\uff0c\u5173\u4e8ehive\u7684\u642d\u5efa\uff0c\u6211\u4eec\u653e\u5230\u540e\u9762\u7684\u535a\u6587\u4e2d\u53bb\u8bf4\u5427\u3002\u3002\u3002\u5e0c\u671b\u672c\u7bc7\u5bf9\u4f60\u6709\u5e2e\u52a9\u3002<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0http:\/\/www.cnblogs.com\/huangxincheng\/p\/7895019.html \u3000\u3000\u6700\u8fd1\u6709\u4e2a\u9700\u6c42\uff0c\u9700\u8981\u6574\u5408\u6240\u6709\u5e97\u94fa\u7684\u6570\u636e\u505a\u4e00\u4e2a\u79bb\u7ebf\u5f0f\u5206\u6790\u7cfb\u7edf\uff0c\u66fe\u7ecf\u90fd\u662f\u6309\u7167\u5e97\u94fa\u5206\u5e93\u5206\u8868\u6765\u7ed9\u5404\u81ea\u5546\u5bb6\u901a\u8fc7highchart\u591a\u7ef4\u5ea6\u5c55\u793a\u81ea\u5bb6\u7684\u5e97\u94fa\u7ecf\u8425 \u72b6\u51b5\uff0c\u6211\u4eec\u77e5\u9053\u8fd9\u662f\u4e00\u4e2a\u4ee5\u5e97\u94fa\u4e3a\u7ef4\u5ea6\u7684\u5207\u5206\uff0c\u975e\u5e38\u9002\u5408\u76ee\u524d\u7684\u5728\u7ebf\u4e1a\u52a1\uff0c\u8fd9\u56de\u8001\u677f\u63d0\u9700\u6c42\u4e86\uff0c\u66fe\u7ecf\u4e5f\u662f\u4e00\u4f4d\u6570\u636e\u5206\u6790\u5e08\uff0csql\u81ea\u7136\u5c31\u6e9c\u6e9c\u7684\uff0c\u6240\u4ee5\u5c31\u6765\u4e86 \u4e00\u4e2a\u4ee5\u4e70\u5bb6\u7ef4\u5ea6\u5c55\u793a\u7528\u6237\u753b\u50cf\uff0c\u4ece\u800c\u66f4\u597d\u7684\u505a\u6570\u636e\u63a8\u9001\u548c\u7528\u6237\u884c\u4e3a\u5206\u6790\uff0c\u56e0\u4e3a\u662f\u79bb\u7ebf\u5f0f\u5206\u6790\uff0c\u76ee\u524d\u8fd8\u6ca1\u7814\u7a76spark\uff0cimpala\uff0cdrill\u4e86\u3002 &nbsp; \u4e00\uff1a\u642d\u5efahadoop\u96c6\u7fa4 hadoop\u7684\u642d\u5efa\u662f\u4e00\u4e2a\u6bd4\u8f83\u7e41\u7410\u7684\u8fc7\u7a0b\uff0c\u91c7\u75283\u53f0Centos\uff0c\u5e9f\u8bdd\u4e0d\u8fc7\u591a\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\u3002\u3002\u3002 \u4e8c\uff1a \u57fa\u7840\u914d\u7f6e 1. \u5173\u95ed\u9632\u706b\u5899 [root@localhost ~]# systemctl stop firewalld.service #\u5173\u95ed\u9632\u706b\u5899 [root@localhost ~]# systemctl [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-635","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=635"}],"version-history":[{"count":0,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/635\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}