{"id":531,"date":"2020-05-25T03:30:31","date_gmt":"2020-05-24T19:30:31","guid":{"rendered":"http:\/\/www.guanhaobo.cn\/?p=531"},"modified":"2020-05-25T03:30:31","modified_gmt":"2020-05-24T19:30:31","slug":"%e5%a4%a7%e6%95%b0%e6%8d%ae%e6%8a%80%e6%9c%af-linux-%e8%99%9a%e6%8b%9f%e6%9c%ba%e6%90%ad%e5%bb%ba-hadoop-%e9%9b%86%e7%be%a4","status":"publish","type":"post","link":"https:\/\/www.guanhaobo.cn\/?p=531","title":{"rendered":"\u5927\u6570\u636e\u6280\u672f\u5b9e\u9a8c\u4e00 \u2014\u2014 Hadoop\u5927\u6570\u636e\u5e73\u53f0\u5b89\u88c5\u5b9e\u9a8c"},"content":{"rendered":"<h3>\u4e00\u3001\u5f15\u8a00<\/h3>\n<p>\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u4e09\u53f0\u865a\u62df\u673a\uff0c\u642d\u5efa\u51fa Hadoop \u5927\u6570\u636e\u5e73\u53f0\u3002<br \/>\n\u5efa\u8bae\u4f7f\u7528\u6587\u7ae0\u5185\u63d0\u4f9b\u7684\u94fe\u63a5\u4e0b\u8f7d\u8f6f\u4ef6\uff0c\u6216\u8005\u81ea\u884c\u4e0b\u8f7d\u76f8\u540c\u7248\u672c\u7684\u8f6f\u4ef6\uff0c\u7248\u672c\u4e0d\u540c\u53ef\u80fd\u4f1a\u51fa\u73b0\u95ee\u9898\u3002\u4e0b\u8f7d\u8f6f\u4ef6\u65f6\u5c3d\u91cf\u4f7f\u7528\u8fc5\u96f7\u7b49\u8f6f\u4ef6\u5728\u4e3b\u673a\u4e2d\u4e0b\u8f7d\u597d\u518d\u4f20\u8f93\u5230\u865a\u62df\u673a\u4e2d\uff0c\u8fd9\u6837\u6bd4\u8f83\u5feb\uff0c\u4e0d\u5efa\u8bae\u76f4\u63a5\u5728\u865a\u62df\u673a\u4e2d\u4e0b\u8f7d\u3002<br \/>\n\u6ce8\uff1a\u4ee5\u4e0b\u547d\u4ee4\u4e2d\uff0c \u201c#\u201d\u540e\u9762\u7684\u8bed\u53e5\u662f\u4f7f\u7528 root \u6267\u884c\u7684\uff0c\u201c$\u201d\u540e\u9762\u7684 \u8bed\u53e5\u662f\u4f7f\u7528\u666e\u901a\u7528\u6237\uff08\u4e4b\u540e\u521b\u5efa\u7684\u7528\u6237hadoop\uff09\u6267\u884c\u7684\u3002<\/p>\n<h3>\u4e8c\u3001\u5b89\u88c5\u865a\u62df\u673a<\/h3>\n<h4>2.1 \u4e0b\u8f7dCentOS\u955c\u50cf<\/h4>\n<p><a href=\"http:\/\/mirrors.aliyun.com\/centos\/7\/isos\/x86_64\/CentOS-7-x86_64-Minimal-1511.iso\" title=\"http:\/\/mirrors.aliyun.com\/centos\/7\/isos\/x86_64\/CentOS-7-x86_64-Minimal-1511.iso\">http:\/\/mirrors.aliyun.com\/centos\/7\/isos\/x86_64\/CentOS-7-x86_64-Minimal-1511.iso<\/a><\/p>\n<h4>2.2 \u5b89\u88c5<\/h4>\n<p>\u6253\u5f00 VMware \uff0c\u70b9\u51fb\u521b\u5efa\u865a\u62df\u673a\uff0c\u9009\u62e9\u521a\u521a\u7684\u7cfb\u7edf\u955c\u50cf\u3002\u7f51\u7edc\u6a21\u5f0f\u8981\u9009\u62e9NAT\uff0c\u5185\u5b58\u5927\u5c0f\u6839\u636e\u81ea\u5df1\u60c5\u51b5\u8bbe\u7f6e\uff0c\u5176\u4ed6\u7684\u90fd\u9ed8\u8ba4\u5373\u53ef\u3002<br \/>\n\u5177\u4f53\u5b89\u88c5\u8fc7\u7a0b\uff1a<br \/>\n1. \u9009\u62e9 Install CentOS7\uff0c\u9009\u62e9 English->continue\u3002<br \/>\n2. DATE&amp;TIME\uff0cRegion \u9009\u62e9 Asia\uff0cCity \u9009\u62e9 Shanghai\uff0c\u5de6\u4e0a\u89d2 Done\u3002<br \/>\n3. INSTALLATION DESTINATION\uff0c\u70b9\u8fdb\u53bb\u540e\u76f4\u63a5\u70b9\u5de6\u4e0a\u89d2\u7684 Done\u3002<br \/>\n4. NETWORK &amp; HOST NAME\uff0c\u7f51\u5361\u53f3\u4fa7\u9009\u62e9 ON\u3002\u5982\u679c\u51fa\u73b0\u4e86IP\u5730\u5740\uff0c\u8bb0\u4f4f\u5b83\u7684IP\u5730\u5740\u3002\u4e0b\u9762\u7684 Host name \u6539\u4e3a cluster1\uff0c\u5de6\u4e0a\u89d2 Done\u3002<br \/>\n5. \u70b9\u51fb\u53f3\u4e0b\u89d2 Begin installation\u3002<br \/>\n6. \u8bbe\u7f6e root \u5bc6\u7801\u3002<br \/>\n7. \u53f3\u4fa7 user creation\uff0cFull name \u8bbe\u7f6e\u4e3a cluster1\uff0c\u5bc6\u7801\u968f\u610f\uff0c\u4e0d\u8981\u9009\u62e9 make this user administrator\u3002<br \/>\n8. \u5f85\u4e0b\u65b9\u8fdb\u5ea6\u6761\u7ed3\u675f\u540e\uff0c\u4f1a\u6709 reboot \u8fd9\u4e2a\u9009\u9879\uff0c\u70b9\u51fb\u91cd\u542f\u540e\uff0c\u5373\u53ef\u767b\u9646\u3002<\/p>\n<p>\u518d\u5b89\u88c5\u4e24\u53f0\u8fd9\u6837\u7684\u865a\u62df\u673a\uff0c\u5bf9\u5e94\u7684\u540d\u5b57\u5206\u522b\u8bbe\u7f6e\u4e3a cluster2 \u548c cluster3 \u5373\u53ef\u3002<\/p>\n<h3>\u4e09\u3001\u51c6\u5907\u5de5\u4f5c<\/h3>\n<h4>3.1 \u5173\u95ed\u9632\u706b\u5899\u548cSelinux<\/h4>\n<p>\u6211\u4eec\u5b89\u88c5\u7684 centOS \u6700\u5c0f\u7248\u6ca1\u6709\u9632\u706b\u5899\uff0c\u5728\u5176\u4ed6 centOS \u4e0a\u64cd\u4f5c\u65f6\u5fc5\u987b\u8981\u5173\u95ed\u9632\u706b\u5899\u3002\u5982\u679c\u662f\u4f7f\u7528\u4e0a\u9762\u94fe\u63a5\u4e0b\u8f7d\u7684\u7cfb\u7edf\u955c\u50cf\uff0c\u5728\u8fd9\u91cc\u5c31\u53ea\u9700\u8981\u5173\u95edSelinux\u5c31\u884c\u4e86\u3002<br \/>\n\u6bcf\u53f0\u90fd\u8981\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u7f16\u8f91 Selinux \u914d\u7f6e\u6587\u4ef6\n# vi \/etc\/selinux\/config\n\/\/\u5c06 SELINUX \u8bbe\u7f6e\u4e3a disabled \u5373: SELINUX=disabled\n# reboot\n\/\/ \u91cd\u542f\u673a\u5668\u540e root \u7528\u6237\u67e5\u770b Selinux \u72b6\u6001\n# getenforce\n<\/code><\/pre>\n<p>\u6ce8\u610f\uff0c\u4fee\u6539\u914d\u7f6e\u7684\u65f6\u5019\u770b\u6e05\u695a\uff0c\u4e0d\u8981\u4fee\u6539 SELINUXTYPE\uff0c\u5982\u679c\u4f60\u4e0d\u5c0f\u5fc3\u4fee\u6539\u4e86 SELINUXTYPE \u5bfc\u81f4\u91cd\u542f\u540e\u65e0\u6cd5\u8fdb\u5165\u7cfb\u7edf\uff0c\u5219\u6309\u7167\u4e0b\u9762\u8fdb\u884c\u64cd\u4f5c\u3002<br \/>\n1. \u91cd\u542f\u65f6\u5728\u542f\u52a8\u9875\u9762\uff0c\u5728\u7b2c\u4e00\u884c \u6309 E\uff0c \u8fdb\u5165 grub \u7f16\u8f91\u9875\u9762\u3002<br \/>\n2. \u5411\u4e0b\u7ffb\u9875\uff0c\u627e\u5230 linux16 \u90a3\u4e00\u884c\uff0c\u5728language \u540e\u9762 \u4e5f\u5c31\u662fLANG=zh_CN.UTF-8\uff0c\u7a7a\u683c \u52a0\u4e0a selinux=0<br \/>\n3. \u7136\u540e\u6309ctrl + x \u542f\u52a8\uff0c\u5c31\u53ef\u4ee5\u6210\u529f\u8fdb\u5165\u7cfb\u7edf\u3002<br \/>\n4. \u518d\u91cd\u65b0\u4fee\u6539selinux\u914d\u7f6e\u6587\u4ef6\u5373\u53ef<\/p>\n<pre><code class=\"language-cpp line-numbers\">SELINUX=disabled\nSELINUXTYPE=targeted\n<\/code><\/pre>\n<h4>3.2 \u4f7f\u7528WinSCP\u8fdb\u884c\u6587\u4ef6\u4f20\u8f93<\/h4>\n<p>\u5728\u4e3b\u673a\u4e0a\u4e0b\u8f7d\u4e00\u4e2a\u652f\u6301SFTP\u534f\u8bae\u7684\u6587\u4ef6\u4f20\u8f93\u8f6f\u4ef6\uff0c\u6bd4\u5982 WinSCP, Filezilla\uff0c\u7528\u4e8e\u5411\u865a\u62df\u673a\u5185\u4f20\u8f93\u6587\u4ef6\u3002<\/p>\n<h4>3.3 \u4f7f\u7528SSH\u8fdb\u884c\u8fde\u63a5\uff08\u53ef\u9009\uff09<\/h4>\n<p>\u6253\u5f00\u4e3b\u673a\u7684\u547d\u4ee4\u884c\uff08Windows, Linux, Mac\u90fd\u53ef\uff09\uff0c\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\u3002<\/p>\n<pre><code class=\"language-cpp line-numbers\">ssh root@192.168.142.133\n<\/code><\/pre>\n<p>\u540e\u9762\u8fd9\u4e2aip\u5730\u5740\u6539\u6210\u4f60\u7684\u865a\u62df\u673a\u7684ip\u5730\u5740\uff0c\u53ef\u4ee5\u5728\u865a\u62df\u673a\u4e2d\u4f7f\u7528<code>ip addr<\/code>\u547d\u4ee4\u8fdb\u884c\u67e5\u8be2\u3002<br \/>\n\u4f7f\u7528\u540c\u6837\u7684\u529e\u6cd5\u641e\u5b9a\u5176\u4ed6\u4e24\u53f0\u865a\u62df\u673a\u3002\u8fd9\u6837\u505a\u7684\u76ee\u7684\u662f\u65b9\u4fbf\u8fdb\u884c\u6587\u5b57\u7684\u590d\u5236\u7c98\u8d34\uff0c\u4e0d\u5fc5\u6bcf\u6b21\u90fd\u624b\u52a8\u8f93\u5165\u547d\u4ee4\u3002<\/p>\n<h4>3.4 \u4fee\u6539 hosts<\/h4>\n<p>\u6bcf\u53f0\u90fd\u8981\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># vi \/etc\/hosts\n\/\/ \u5728\u6700\u4e0b\u9762\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff0cip \u5730\u5740\u6539\u6210\u4f60\u7684 ip \u5730\u5740\n192.168.142.133 cluster1\n192.168.142.134 cluster2\n192.168.142.135 cluster3\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u5728\u865a\u62df\u673a\u91cc\u4f7f\u7528 ip addr \u67e5\u770bip\u5730\u5740<\/p>\n<h4>3.5 \u68c0\u67e5\u7f51\u7edc\u662f\u5426\u6b63\u5e38<\/h4>\n<p>\u5728 cluster1 \u4e0a \u8f93\u5165 <code>ping cluster2<\/code>\uff0c\u89c2\u5bdf\u662f\u5426\u53ef\u4ee5\u6b63\u5e38\u901a\u4fe1\u3002<\/p>\n<h4>3.6 \u5b89\u88c5\u8f6f\u4ef6<\/h4>\n<p>\u4ee5\u4e0b\u8f6f\u4ef6\u662f\u5b89\u88c5\u65f6\u9700\u8981\u7684\u4f9d\u8d56\u73af\u5883\uff0c\u5b89\u88c5 MySQL \u65f6\u9700\u8981\u4f7f\u7528 perl \u548c libaio\uff0cntpdate \u8d1f\u8d23\u96c6\u7fa4\u5185\u670d\u52a1\u5668 \u65f6\u95f4\uff0cscreen \u7528\u4e8e\u65b0\u5efa\u540e\u53f0\u4efb\u52a1\u3002<br \/>\n\u6bcf\u53f0\u90fd\u8981\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># yum install perl*\n# yum install ntpdate\n# yum install screen\n<\/code><\/pre>\n<h4>3.7 \u65b0\u5efa\u7528\u6237hadoop<\/h4>\n<p>\u6bcf\u53f0\u90fd\u8981\u6267\u884c<br \/>\n\u65b0\u5efa\u7528\u6237hadoop\uff0c\u8fd9\u4e2a\u7528\u6237\u4e13\u95e8\u7528\u6765\u7ef4\u62a4\u96c6\u7fa4\uff0c\u56e0\u4e3a\u5b9e\u9645\u4e2d\u4f7f\u7528 root \u7528\u6237\u7684\u673a\u4f1a\u5f88\u5c11\uff0c\u800c\u4e14\u4e0d\u5b89\u5168\u3002<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/\u521b\u5efa\u7528\u6237\u7ec4\n# groupadd hadoop\n\/\/\u521b\u5efa\u7528\u6237\n# useradd -s \/bin\/bash -g hadoop -d \/home\/hadoop -m hadoop\n\/\/\u8bbe\u7f6e\u5bc6\u7801\n# passwd hadoop\n<\/code><\/pre>\n<h4>3.8 \u751f\u6210 ssh \u5bc6\u94a5\u5e76\u5206\u53d1<\/h4>\n<p>\u53ea\u5728 cluster1 \u4e0a\u6267\u884c<br \/>\n\/\/ \u751f\u6210 ssh \u5bc6\u94a5\uff0c \u5207\u6362\u5230 hadoop \u7528\u6237 $ ssh-keygen -t rsa \u7136\u540e\u4e00\u8def\u56de\u8f66<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/\u5207\u6362\u5230\u7528\u6237hadoop\n# su hadoop\n<span class=\"katex math inline\">ssh-keygen -t rsa<\/span> ssh-copy-id cluster1\n<span class=\"katex math inline\">ssh-copy-id cluster2<\/span> ssh-copy-id cluster3\n<\/code><\/pre>\n<h4>3.9 \u5b89\u88c5 NTP \u670d\u52a1<\/h4>\n<p>cluster1 \u4e0a\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/\u5207\u6362\u5230root\n$ exit\n\/\/ \u5b89\u88c5 ntp\n# yum install ntp\n# vi \/etc\/ntp.conf\n\/\/ \u6ce8\u91ca\u6389\u4ee5\u4e0b 4 \u884c\uff0c\u4e5f\u5c31\u662f\u5728\u8fd9 4 \u884c\u524d\u9762\u52a0#\nserver 0.centos.pool.ntp.org iburst\nserver 1.centos.pool.ntp.org iburst\nserver 2.centos.pool.ntp.org iburst\nserver 3.centos.pool.ntp.org iburst\n\/\/\u6700\u4e0b\u9762\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff0c\u5206\u522b\u4e3a\u7f51\u5173\u548c\u63a9\u7801\nrestrict default ignore\nrestrict \u7f51\u5173 mask \u5b50\u7f51\u63a9\u7801 nomodify notrap\nserver 127.127.1.0\n<\/code><\/pre>\n<p>\u7f51\u5173\u4e00\u822c\u662f\u4e3b\u673a\u7684IP\u5730\u5740\uff0c\u5b50\u7f51\u63a9\u7801\u4e00\u822c\u662f255.255.255.0<br \/>\n\u53ef\u4ee5\u5728\u4e3b\u673a\u4e2d\u770b\u5230\uff0c\u5982\u679c\u662fWindows \uff0c\u8f93\u5165 ipconfig \u5373\u53ef<br \/>\n\u6211\u67e5\u8be2\u5230\u7684\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<pre><code class=\"language-cpp line-numbers\">Ethernet adapter VMware Network Adapter VMnet8:\n\n   Connection-specific DNS Suffix  . :\n   Link-local IPv6 Address . . . . . : fe80::c9b3:9065:b9d0:aaca%19\n   IPv4 Address. . . . . . . . . . . : 192.168.142.1\n   Subnet Mask . . . . . . . . . . . : 255.255.255.0\n   Default Gateway . . . . . . . . . :\n<\/code><\/pre>\n<p>\u56e0\u6b64\uff0c\u6211\u5728\u8fd9\u91cc\u7684\u7f51\u5173\u548c\u5b50\u7f51\u63a9\u7801\u5206\u522b\u586b\u5199192.168.142.1\u548c255.255.255.0<br \/>\n\u7ee7\u7eed\u5728cluster1\u4e2d\u6267\u884c\u547d\u4ee4<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u91cd\u542f ntp \u670d\u52a1\n# service ntpd restart\n\/\/ \u8bbe\u7f6e ntp \u670d\u52a1\u5668\u5f00\u673a\u81ea\u52a8\u542f\u52a8\n# chkconfig ntpd on\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u4e3a\u5ba2\u6237\u7aef\u7684\u914d\u7f6e\uff08\u9664 cluster1 \u5916\u5176\u4ed6\u6240\u6709\u7684\u673a\u5668\uff0c\u5373 cluster2 \u548c cluster3\uff09\uff1a \u8bbe\u5b9a\u6bcf\u5929 00:00 \u5411\u670d\u52a1\u5668\u540c\u6b65\u65f6\u95f4\uff0c\u5e76\u5199\u5165\u65e5\u5fd7<\/p>\n<pre><code class=\"language-cpp line-numbers\"># crontab -e\n\/\/\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\u540e\u4fdd\u5b58\u5e76\u9000\u51fa\uff1a\n0 0 * * * \/usr\/sbin\/ntpdate cluster1&gt;&gt; \/root\/ntpd.log\n\/\/ \u624b\u52a8\u540c\u6b65\u65f6\u95f4\n# ntpdate cluster1\n<\/code><\/pre>\n<h3>\u56db\u3001\u5b89\u88c5 MySQL<\/h3>\n<h4>4.1 \u4e0b\u8f7d<\/h4>\n<p><a href=\"https:\/\/downloads.mysql.com\/archives\/get\/p\/23\/file\/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz\" title=\"https:\/\/downloads.mysql.com\/archives\/get\/p\/23\/file\/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz\">https:\/\/downloads.mysql.com\/archives\/get\/p\/23\/file\/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz<\/a><br \/>\n\u4f7f\u7528 WinSCP \u4f20\u8f93\u5230 cluster2 \u7684 \/usr\/local\/ \u76ee\u5f55\u4e0b<\/p>\n<h4>4.2 \u5b89\u88c5<\/h4>\n<p>\u53ea\u5728 cluster2 \u4e0a\u8fdb\u884c\u5b89\u88c5\uff0c\u56e0\u4e3a\u6211\u4eec\u7684\u96c6\u7fa4\u4e2d\uff0c\u53ea\u6709 cluster2 \u4e0a\u9700\u8981\u5b89\u88c5\u4e00\u4e2a MySQL\u3002<\/p>\n<pre><code class=\"language-cpp line-numbers\"># yum remove mysql mysql-server mysql-libs compat-mysql51\n# rm -rf \/var\/lib\/mysql\n# rm -rf \/etc\/my.cnf\n# cd \/usr\/local\n\/\/\u89e3\u538b\n# tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz\n\/\/ \u6539\u540d\u4e3a mysql\n# mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql\n\/\/ \u5220\u9664\u5b89\u88c5\u5305\n# rm mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz\n\/\/ \u4fee\u6539\u73af\u5883\u53d8\u91cf\n# vi \/etc\/profile\n\/\/\u5728\u6700\u4e0b\u9762\u6dfb\u52a0\nexport MYSQL_HOME=\/usr\/local\/mysql\nexport PATH=<span class=\"katex math inline\">MYSQL_HOME\/bin:<\/span>PATH\n\/\/ \u5237\u65b0\u73af\u5883\u53d8\u91cf\n# source \/etc\/profile\n\/\/ \u65b0\u5efa\u7528\u6237\u7ec4mysql\n# groupadd mysql\n\/\/\u65b0\u5efa\u7528\u6237\n# useradd -r -g mysql -s \/bin\/false mysql\n# cd \/usr\/local\/mysql\n# chown -R mysql:mysql .\n# scripts\/mysql_install_db --user=mysql\n\/\/ \u4fee\u6539\u5f53\u524d\u76ee\u5f55\u62e5\u6709\u8005\u4e3a root \u7528\u6237\n# chown -R root .\n\/\/ \u4fee\u6539\u5f53\u524d data \u76ee\u5f55\u62e5\u6709\u8005\u4e3a mysql \u7528\u6237\n# chown -R mysql data\n# bin\/mysqld_safe --user=mysql &amp;\n# cd \/usr\/local\/mysql\n\/\/ \u767b\u9646 mysql\n# bin\/mysql\n\/\/ \u767b\u9646\u6210\u529f\u540e\u9000\u51fa\u5373\u53ef\nmysql&gt; exit;\n\/\/ \u8fdb\u884c root \u8d26\u6237\u5bc6\u7801\u7684\u4fee\u6539\u7b49\u64cd\u4f5c\n# bin\/mysql_secure_installation\n\/\/\u9996\u5148\u8981\u6c42\u8f93\u5165 root \u5bc6\u7801\uff0c\u7531\u4e8e\u6211\u4eec\u6ca1\u6709\u8bbe\u7f6e\u8fc7 root \u5bc6\u7801\uff0c\u62ec\u53f7\u91cc\u9762\u8bf4\u4e86\uff0c\u5982\u679c\u6ca1\u6709 root \u5bc6\u7801\u5c31\u76f4\u63a5\u6309\u56de\u8f66\u3002 \u662f\u5426\u8bbe\u5b9a root \u5bc6\u7801\uff0c\u9009 y\uff0c\u8bbe\u5b9a\u5bc6\u7801\u4e3a cluster\uff0c\u662f\u5426\u79fb\u9664\u533f\u540d\u7528\u6237\uff1ay\u3002\u7136\u540e\u6709\u4e2a\u662f\u5426\u5173\u95ed root \u8d26\u6237\u7684\u8fdc\u7a0b \u767b\u5f55\uff0c\u9009 n\uff0c\u5220\u9664 test \u8fd9\u4e2a\u6570\u636e\u5e93\uff1fy\uff0c\u66f4\u65b0\u6743\u9650\uff1fy\uff0c\u7136\u540e ok\u3002\n# cp support-files\/mysql.server \/etc\/init.d\/mysql.server\n\/\/ \u67e5\u770b mysql \u7684\u8fdb\u7a0b\u53f7\n# ps -ef | grep mysql\n\/\/ \u5982\u679c\u6709\u7684\u8bdd\u5c31 kill \u6389\uff0c\u4fdd\u8bc1 mysql \u5df2\u7ecf\u4e2d\u65ad\u8fd0\u884c\u4e86\uff0c\u4e00\u822c kill \u6389\/usr\/local\/mysql\/bin\/mysqld \u5f00\u5934\u7684\u5373\u53ef\n# kill \u8fdb\u7a0b\u53f7\n\/\/ \u542f\u52a8 mysql\n# \/etc\/init.d\/mysql.server start -user=mysql\n\/\/\u5207\u6362\u7528\u6237\n# su hadoop\n\/\/\u914d\u7f6e\u4e00\u4e0b\u8bbf\u95ee\u6743\u9650\uff1a\n$ mysql -u root -p\nmysql&gt; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cluster' WITH GRANT OPTION;\nmysql&gt; FLUSH PRIVILEGES;\n<\/code><\/pre>\n<p>\u5173\u95ed mysql \u7684\u6307\u4ee4\uff08\u4e0d\u9700\u8981\u6267\u884c\uff09<br \/>\n<code># mysqladmin -u root -p shutdown<\/code><\/p>\n<h3>\u4e94\u3001\u5b89\u88c5 JDK<\/h3>\n<h4>5.1 \u4e0b\u8f7d<\/h4>\n<p><a href=\"https:\/\/download.oracle.com\/otn\/java\/jdk\/7u80-b15\/jdk-7u80-linux-x64.tar.gz\" title=\"https:\/\/download.oracle.com\/otn\/java\/jdk\/7u80-b15\/jdk-7u80-linux-x64.tar.gz\">https:\/\/download.oracle.com\/otn\/java\/jdk\/7u80-b15\/jdk-7u80-linux-x64.tar.gz<\/a><br \/>\n\u4f7f\u7528 WinSCP \u4f20\u8f93\u5230 cluster1 \u7684 \/usr\/local\/ \u76ee\u5f55\u4e0b<\/p>\n<h4>5.2 \u5b89\u88c5<\/h4>\n<p>cluster1\u4e2d\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># cd \/usr\/local\/\n# tar -zxvf jdk-7u80-linux-x64.tar.gz\n\/\/ \u590d\u5236 jdk \u5230\u5176\u4ed6\u7684\u670d\u52a1\u5668\u4e0a\n# scp -r \/usr\/local\/jdk1.7.0_80\/ cluster2:\/usr\/local\/\n# scp -r \/usr\/local\/jdk1.7.0_80\/ cluster3:\/usr\/local\/\n<\/code><\/pre>\n<p>\u4e09\u53f0\u865a\u62df\u673a\u90fd\u8981\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># vi \/etc\/profile\n\/\/ \u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\nexport JAVA_HOME=\/usr\/local\/jdk1.7.0_80\/\nexport JRE_HOME=\/usr\/local\/jdk1.7.0_80\/jre\nexport CLASSPATH=.:<span class=\"katex math inline\">JAVA_HOME\/lib:<\/span>JRE_HOME\/lib:<span class=\"katex math inline\">CLASSPATH\nexport PATH=<\/span>JAVA_HOME\/bin:<span class=\"katex math inline\">JRE_HOME\/bin:<\/span>JAVA_HOME:$PATH\n<\/code><\/pre>\n<h4>5.3 \u6d4b\u8bd5<\/h4>\n<pre><code class=\"language-cpp line-numbers\">$ java -version\n<\/code><\/pre>\n<p>\u770b\u5230\u7248\u672c\u4fe1\u606f\u5219\u8868\u793aOK\u4e86\uff0c\u5982\u4e0b\u6240\u793a<\/p>\n<pre><code class=\"language-cpp line-numbers\">java version \"1.7.0_80\"\nJava(TM) SE Runtime Environment (build 1.7.0_80-b15)\nJava HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)\n<\/code><\/pre>\n<h3>\u516d\u3001\u5b89\u88c5 ZooKeeper<\/h3>\n<h4>6.1 \u4e0b\u8f7d<\/h4>\n<p><a href=\"http:\/\/archive.apache.org\/dist\/zookeeper\/zookeeper-3.4.6\/zookeeper-3.4.6.tar.gz\" title=\"http:\/\/archive.apache.org\/dist\/zookeeper\/zookeeper-3.4.6\/zookeeper-3.4.6.tar.gz\">http:\/\/archive.apache.org\/dist\/zookeeper\/zookeeper-3.4.6\/zookeeper-3.4.6.tar.gz<\/a><br \/>\n\u4f7f\u7528 WinSCP \u4f20\u8f93\u5230 cluster1 \u7684 \/usr\/local\/ \u76ee\u5f55\u4e0b<\/p>\n<h4>6.2 \u5b89\u88c5<\/h4>\n<p>cluster1\u4e2d\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># cd \/usr\/local\/\n# tar -zxvf zookeeper-3.4.6.tar.gz\n# vi \/etc\/profile\n\/\/ \u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\nexport ZOOKEEPER_HOME=\/usr\/local\/zookeeper-3.4.6\nexport PATH=<span class=\"katex math inline\">ZOOKEEPER_HOME\/bin:<\/span>PATH\n# cd \/usr\/local\/zookeeper-3.4.6\n\/\/ \u5728 conf \u4e2d\u65b0\u5efa zoo.cfg \u6587\u4ef6\n# vi conf\/zoo.cfg\n<\/code><\/pre>\n<p>\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9<\/p>\n<pre><code class=\"language-cpp line-numbers\"># \u5ba2\u6237\u7aef\u5fc3\u8df3\u65f6\u95f4(\u6beb\u79d2)\ntickTime=2000\n# \u5141\u8bb8\u5fc3\u8df3\u95f4\u9694\u7684\u6700\u5927\u65f6\u95f4\ninitLimit=10\n# \u540c\u6b65\u65f6\u9650\nsyncLimit=5\n# \u6570\u636e\u5b58\u50a8\u76ee\u5f55\ndataDir=\/home\/hadoop_files\/hadoop_data\/zookeeper\n# \u6570\u636e\u65e5\u5fd7\u5b58\u50a8\u76ee\u5f55\ndataLogDir=\/home\/hadoop_files\/hadoop_logs\/zookeeper\/dataLog\n# \u7aef\u53e3\u53f7\nclientPort=2181\n# \u96c6\u7fa4\u8282\u70b9\u548c\u670d\u52a1\u7aef\u53e3\u914d\u7f6e\nserver.1=cluster1:2888:3888\nserver.2=cluster2:2888:3888\nserver.3=cluster3:2888:3888\n<\/code><\/pre>\n<p>\u7ee7\u7eed\u5728cluster1\u4e2d\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u521b\u5efa zookeeper \u7684\u6570\u636e\u5b58\u50a8\u76ee\u5f55\u548c\u65e5\u5fd7\u5b58\u50a8\u76ee\u5f55\n# mkdir -p \/home\/hadoop_files\/hadoop_data\/zookeeper\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/zookeeper\/dataLog\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/zookeeper\/logs\n\/\/ \u4fee\u6539\u6587\u4ef6\u5939\u7684\u6743\u9650\n# chown -R hadoop:hadoop \/home\/hadoop_files\n# chown -R hadoop:hadoop \/usr\/local\/zookeeper-3.4.6\n\/\/ \u5728 cluster1 \u53f7\u670d\u52a1\u5668\u7684 data \u76ee\u5f55\u4e2d\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6 myid\uff0c\u8f93\u5165\u5185\u5bb9\u4e3a 1\n\/\/ myid \u5e94\u4e0e zoo.cfg \u4e2d\u7684\u96c6\u7fa4\u8282\u70b9\u76f8\u5339\u914d\n# echo \"1\" &gt;&gt; \/home\/hadoop_files\/hadoop_data\/zookeeper\/myid\n\/\/ \u4fee\u6539 zookeeper \u7684\u65e5\u5fd7\u8f93\u51fa\u8def\u5f84(\u6ce8\u610f CDH \u7248\u4e0e\u539f\u751f\u7248\u914d\u7f6e\u6587\u4ef6\u4e0d\u540c)\n# vi bin\/zkEnv.sh\n<\/code><\/pre>\n<p>\/\/ \u5c06\u914d\u7f6e\u6587\u4ef6\u91cc\u9762\u7684\u5bf9\u5e94\u9879\u7684\u503c\u66ff\u6362\u4e3a\u4ee5\u4e0b\u5185\u5bb9<\/p>\n<pre><code class=\"language-cpp line-numbers\">if [ \"x<span class=\"katex math inline\">{ZOO_LOG_DIR}\" = \"x\" ]\nthen\n    ZOO_LOG_DIR=\"\/home\/hadoop_files\/hadoop_logs\/zookeeper\/logs\"\nfi\nif [ \"x<\/span>{ZOO_LOG4J_PROP}\" = \"x\" ]\nthen\n    ZOO_LOG4J_PROP=\"INFO,ROLLINGFILE\"\nfi\n<\/code><\/pre>\n<p>\u7ee7\u7eed\u5728cluster1\u4e2d\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u4fee\u6539 zookeeper \u7684\u65e5\u5fd7\u914d\u7f6e\u6587\u4ef6\n# vi conf\/log4j.properties\n\/\/ \u5c06\u914d\u7f6e\u6587\u4ef6\u91cc\u9762\u7684\u5bf9\u5e94\u9879\u7684\u503c\u66ff\u6362\u4e3a\u4ee5\u4e0b\u5185\u5bb9\nzookeeper.root.logger=INFO, ROLLINGFILE\nlog4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender\n\/\/\u5c06\u8fd9\u4e2a zookeeper-3.4.6 \u7684\u76ee\u5f55\u590d\u5236\u5230\u5176\u4ed6\u7684\u4e24\u4e2a\u8282\u70b9\u4e0a\n# scp -r \/usr\/local\/zookeeper-3.4.6 cluster2:\/usr\/local\/\n# scp -r \/usr\/local\/zookeeper-3.4.6 cluster3:\/usr\/local\/\n\/\/ \u5207\u6362\u5230 hadoop \u7528\u6237\n# su hadoop\n\/\/ \u5237\u65b0\u73af\u5883\u53d8\u91cf\n<span class=\"katex math inline\">source \/etc\/profile\n\/\/ \u542f\u52a8 zookeeper<\/span> zkServer.sh start\n<\/code><\/pre>\n<p>\u5728cluster2\u4e2d\u6267\u884c\uff0c\u5207\u6362\u5230root<\/p>\n<pre><code class=\"language-cpp line-numbers\"># vi \/etc\/profile\n\/\/\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\nexport ZOOKEEPER_HOME=\/usr\/local\/zookeeper-3.4.6\nexport PATH=<span class=\"katex math inline\">ZOOKEEPER_HOME\/bin:<\/span>PATH\n\/\/ \u521b\u5efa zookeeper \u7684\u6570\u636e\u5b58\u50a8\u76ee\u5f55\u548c\u65e5\u5fd7\u5b58\u50a8\u76ee\u5f55\n# mkdir -p \/home\/hadoop_files\/hadoop_data\/zookeeper\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/zookeeper\/dataLog\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/zookeeper\/logs\n\/\/ \u6dfb\u52a0 myid\n# echo \"2\" &gt;&gt; \/home\/hadoop_files\/hadoop_data\/zookeeper\/myid\n\/\/ \u4fee\u6539\u6587\u4ef6\u5939\u7684\u6743\u9650\n# chown -R hadoop:hadoop \/home\/hadoop_files\n# chown -R hadoop:hadoop \/usr\/local\/zookeeper-3.4.6\n\/\/ \u5207\u6362\u5230 hadoop \u7528\u6237\n# su hadoop\n\/\/ \u5237\u65b0\u73af\u5883\u53d8\u91cf\n<span class=\"katex math inline\">source \/etc\/profile\n\/\/ \u542f\u52a8 zookeeper<\/span> zkServer.sh start\n<\/code><\/pre>\n<p>cluster3\u4e2d\u6267\u884c\u548ccluster2\u4e2d\u76f8\u540c\u7684\u64cd\u4f5c\uff0c\u53ea\u8981\u628amyid\u4e2d\u76842\u6539\u62103\u5373\u53ef\u3002<\/p>\n<p>\u4e09\u53f0\u865a\u62df\u673a\u90fd\u8981\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/\u4e09\u53f0 zookeeper \u90fd\u542f\u52a8\u540e\uff0c\u4f7f\u7528 jps \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b\u662f\u5426\u542f\u52a8\n<span class=\"katex math inline\">jps\n\u53ef\u4ee5\u770b\u5230\u4e00\u4e2a\u53eb QuorumPeerMain \u7684\u8fdb\u7a0b\uff0c\u8bf4\u660e zookeeper \u542f\u52a8\u6210\u529f\n\/\/ \u67e5\u770b zookeeper \u72b6\u6001<\/span> zkServer.sh status\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u5230\u4e09\u53f0\u4e2d\u6709\u4e00\u4e2a\u662f leader\uff0c\u4e24\u4e2a\u662f follower\uff0c\u5982\u4e0b<\/p>\n<pre><code class=\"language-cpp line-numbers\">JMX enabled by default\nUsing config: \/usr\/local\/zookeeper-3.4.6\/bin\/..\/conf\/zoo.cfg\nMode: follower\n<\/code><\/pre>\n<pre><code class=\"language-cpp line-numbers\">JMX enabled by default\nUsing config: \/usr\/local\/zookeeper-3.4.6\/bin\/..\/conf\/zoo.cfg\nMode: leader\n<\/code><\/pre>\n<p>\u5173\u95ed zookeeper \u7684\u547d\u4ee4 \uff08\u5173\u673a\u524d\u5728\u6bcf\u53f0\u4e0a\u90fd\u8981\u6267\u884c\uff0c\u8fd9\u91cc\u4e0d\u9700\u8981\u6267\u884c\uff09<br \/>\n<code>$ zkServer.sh stop<\/code><\/p>\n<h3>\u4e03\u3001\u5b89\u88c5 Kafka<\/h3>\n<h4>7.1 \u4e0b\u8f7d<\/h4>\n<p><a href=\"http:\/\/archive.apache.org\/dist\/kafka\/0.8.2.1\/kafka_2.10-0.8.2.1.tgz\" title=\"http:\/\/archive.apache.org\/dist\/kafka\/0.8.2.1\/kafka_2.10-0.8.2.1.tgz\">http:\/\/archive.apache.org\/dist\/kafka\/0.8.2.1\/kafka_2.10-0.8.2.1.tgz<\/a><br \/>\n\u4f7f\u7528 WinSCP \u4f20\u8f93\u5230 cluster1 \u7684 \/usr\/local\/ \u76ee\u5f55\u4e0b<\/p>\n<h4>7.2 \u5b89\u88c5<\/h4>\n<p>\u4e09\u53f0\u865a\u62df\u673a\u90fd\u8981\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># vi \/etc\/profile\n\/\/\u6dfb\u52a0\u73af\u5883\u53d8\u91cf\nexport KAFKA_HOME=\/usr\/local\/kafka_2.10-0.8.2.1\nexport PATH=<span class=\"katex math inline\">KAFKA_HOME\/bin:<\/span>PATH\n<\/code><\/pre>\n<p>cluster1\u4e2d\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># cd \/usr\/local\/\n# tar -zxvf kafka_2.10-0.8.2.1.tgz\n\/\/ \u4fee\u6539\u914d\u7f6e\u6587\u4ef6\n# vi \/usr\/local\/kafka_2.10-0.8.2.1\/config\/server.properties\n\/\/ \u4fee\u6539\u4e0b\u9762\u51e0\u9879\n\/\/ \u7b2c\u4e00\u9879\nbroker.id=1\n\/\/ \u7b2c\u4e8c\u9879\uff1a\u6b64\u5904\u8981\u5199\u5bf9\u5e94\u673a\u5668\u7684 ip \u5730\u5740\uff08\u6ce8\u610f\u628a\u524d\u9762\u7684\u6ce8\u91ca\u7b26\u53f7#\u5220\u6389\uff09\nhost.name=192.168.142.133\nadvertised.host.name=192.168.142.133\n\/\/ \u7b2c\u4e09\u9879\uff1a\u4fee\u6539\u65e5\u5fd7\u8def\u5f84\nlog.dirs=\/home\/hadoop_files\/hadoop_logs\/kafka\n\/\/ \u7b2c\u56db\u9879\uff1a\u6b64\u5904\u8981\u5199 zookeeper \u96c6\u7fa4\u7684 ip+\u7aef\u53e3\u53f7\uff0c\u9017\u53f7\u9694\u5f00\nzookeeper.connect=cluster1:2181,cluster2:2181,cluster3:2181\n\/\/\u4fee\u6539\u5b8c\u73af\u5883\u53d8\u91cf\uff0c\u66f4\u65b0\u914d\u7f6e\u6587\u4ef6\n# source \/etc\/profile\n\/\/ \u4fdd\u5b58\u9000\u51fa\u540e\u521b\u5efa logs \u6587\u4ef6\u5939\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/kafka\n\/\/ \u4fee\u6539\u6743\u9650\n# chown -R hadoop:hadoop \/home\/hadoop_files\n# chown -R hadoop:hadoop \/usr\/local\/kafka_2.10-0.8.2.1\n\/\/ \u590d\u5236\u6587\u4ef6\u5939\n# scp -r \/usr\/local\/kafka_2.10-0.8.2.1 cluster2:\/usr\/local\/\n# scp -r \/usr\/local\/kafka_2.10-0.8.2.1 cluster3:\/usr\/local\/\n<\/code><\/pre>\n<p>cluster2 \u4e0a<\/p>\n<pre><code class=\"language-cpp line-numbers\"># vi \/usr\/local\/kafka_2.10-0.8.2.1\/config\/server.properties\n\/\/\u4fee\u6539\u5982\u4e0b\u5185\u5bb9\nbroker.id=2\nhost.name=192.168.142.134\nadvertised.host.name=192.168.142.134\n\/\/ \u4fdd\u5b58\u9000\u51fa\u540e\u521b\u5efa logs \u6587\u4ef6\u5939\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/kafka\n\/\/ \u4fee\u6539\u6743\u9650\n# chown -R hadoop:hadoop \/home\/hadoop_files\n# chown -R hadoop:hadoop \/usr\/local\/kafka_2.10-0.8.2.1\n<\/code><\/pre>\n<p>cluster3 \u4e0a<\/p>\n<pre><code class=\"language-cpp line-numbers\"># vi \/usr\/local\/kafka_2.10-0.8.2.1\/config\/server.properties\nbroker.id=3\nhost.name=192.168.142.135\nadvertised.host.name=192.168.142.135\n\/\/ \u4fdd\u5b58\u9000\u51fa\u540e\u521b\u5efa logs \u6587\u4ef6\u5939\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/kafka\n\/\/ \u4fee\u6539\u6743\u9650\n# chown -R hadoop:hadoop \/home\/hadoop_files\n# chown -R hadoop:hadoop \/usr\/local\/kafka_2.10-0.8.2.1\n<\/code><\/pre>\n<p>\u4f7f\u7528 hadoop \u7528\u6237\u542f\u52a8 kafka \u96c6\u7fa4<br \/>\n\u5148\u542f\u52a8 zookeeper \u96c6\u7fa4\uff0c\u7136\u540e\u5728 kafka \u96c6\u7fa4\u4e2d\u7684\u6bcf\u4e2a\u8282\u70b9\u6267\u884c\u4e0b\u9762\u547d\u4ee4<br \/>\n\u4e09\u53f0\u865a\u62df\u673a\u90fd\u8981\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># su hadoop\n<span class=\"katex math inline\">source \/etc\/profile<\/span> kafka-server-start.sh \/usr\/local\/kafka_2.10-0.8.2.1\/config\/server.properties &amp;\n<\/code><\/pre>\n<p>\u542f\u52a8\u5b8c\u6210\u540e\u6309\u56de\u8f66\u5373\u53ef<\/p>\n<h4>7.3 \u6d4b\u8bd5<\/h4>\n<pre><code class=\"language-cpp line-numbers\">cluster1\u4e0a\u4f7f\u7528\u7528\u6237hadoop\u6267\u884c\n\/\/ \u521b\u5efa topic\n<span class=\"katex math inline\">kafka-topics.sh --create --zookeeper cluster1:2181,cluster2:2181,cluster3:2181 --replication-factor 3 --partitions 1 --topic mykafka\n\/\/ \u67e5\u770b Topic<\/span> kafka-topics.sh --list --zookeeper cluster1:2181,cluster2:2181,cluster3:2181\n\/\/\u6b64\u65f6\u4f1a\u663e\u793a Topic\uff1amykafka\n\/\/ \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\n$ kafka-topics.sh --describe --zookeeper cluster1:2181,cluster2:2181,cluster3:2181\n<\/code><\/pre>\n<p>\u53d1\u9001\u6d88\u606f(cluster1 \u4e0a\u6267\u884c)<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/\u6ce8\u610f\u4e0d\u8981\u5c06cluster1:9092\u5199\u6210localhost:9092\uff0c\u9664\u975e\u624b\u52a8\u4fee\u6539\u4e86hosts\u503c\n$ kafka-console-producer.sh --broker-list cluster1:9092 --topic mykafka\n<\/code><\/pre>\n<p>\u63a5\u6536\u6d88\u606f\uff08cluster2 \u4e0a\u6267\u884c\uff09<\/p>\n<pre><code class=\"language-cpp line-numbers\">$ kafka-console-consumer.sh -zookeeper cluster1:2181,cluster2:2181,cluster3:2181 --topic mykafka --from-beginning\n\/\/ \u5728 cluster1 \u8f93\u5165\u4efb\u610f\u6587\u5b57\nHello World!\n\u53ef\u4ee5\u5728 cluster2 \u4e0a\u770b\u5230\u76f8\u5e94\u7684\u4fe1\u606f \u6309 Ctrl+C \u9000\u51fa\n<\/code><\/pre>\n<h3>\u516b\u3001\u5b89\u88c5 Hadoop<\/h3>\n<h4>8.1 \u4e0b\u8f7d<\/h4>\n<p><a href=\"http:\/\/archive.apache.org\/dist\/hadoop\/common\/hadoop-2.6.5\/hadoop-2.6.5.tar.gz\" title=\"http:\/\/archive.apache.org\/dist\/hadoop\/common\/hadoop-2.6.5\/hadoop-2.6.5.tar.gz\">http:\/\/archive.apache.org\/dist\/hadoop\/common\/hadoop-2.6.5\/hadoop-2.6.5.tar.gz<\/a><br \/>\n\u4f7f\u7528 WinSCP \u4f20\u8f93\u5230 cluster1 \u7684 \/usr\/local\/ \u76ee\u5f55\u4e0b<\/p>\n<h4>8.2 \u5b89\u88c5<\/h4>\n<p>cluster1\u4e2d\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># cd \/usr\/local\/\n# tar -zxvf hadoop-2.6.5.tar.gz\n# cd hadoop-2.6.5\/etc\/hadoop\n# vi hadoop-env.sh\n\/\/\u4fee\u6539\u5bf9\u5e94\u5c5e\u6027\u4e3a\u4e0b\u9762\u7684\u503c\nexport JAVA_HOME=\/usr\/local\/jdk1.7.0_80\nexport HADOOP_PID_DIR=\/home\/hadoop_files\n\/\/ \u914d\u7f6e mapred-env.sh\n# vi mapred-env.sh\nexport HADOOP_MAPRED_PID_DIR=\/home\/hadoop_files\n<\/code><\/pre>\n<p>\u914d\u7f6e core-site.xml \u6587\u4ef6<br \/>\n<code># vi core-site.xml<\/code><\/p>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;configuration&gt;\n    &lt;!-- \u6307\u5b9a hdfs \u7684 nameservices \u540d\u79f0\u4e3a mycluster\uff0c\u4e0e hdfs-site.xml \u7684 HA \u914d\u7f6e\u76f8\u540c --&gt;\n    &lt;property&gt;\n        &lt;name&gt;fs.defaultFS&lt;\/name&gt;\n        &lt;value&gt;hdfs:\/\/cluster1:9000&lt;\/value&gt;\n    &lt;\/property&gt; &lt;!-- \u6307\u5b9a\u7f13\u5b58\u6587\u4ef6\u5b58\u50a8\u7684\u8def\u5f84 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;hadoop.tmp.dir&lt;\/name&gt;\n        &lt;value&gt;\/home\/hadoop_files\/hadoop_tmp\/hadoop\/data\/tmp&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;!-- \u914d\u7f6e hdfs \u6587\u4ef6\u88ab\u6c38\u4e45\u5220\u9664\u524d\u4fdd\u7559\u7684\u65f6\u95f4\uff08\u5355\u4f4d\uff1a\u5206\u949f\uff09\uff0c\u9ed8\u8ba4\u503c\u4e3a 0 \u8868\u660e\u5783\u573e\u56de\u6536\u7ad9\u529f\u80fd\u5173\u95ed --&gt;\n    &lt;property&gt;\n        &lt;name&gt;fs.trash.interval&lt;\/name&gt;\n        &lt;value&gt;1440&lt;\/value&gt;\n    &lt;\/property&gt; &lt;!-- \u6307\u5b9a zookeeper \u5730\u5740\uff0c\u914d\u7f6e HA \u65f6\u9700\u8981 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;ha.zookeeper.quorum&lt;\/name&gt;\n        &lt;value&gt;cluster1:2181,cluster2:2181,cluster3:2181&lt;\/value&gt;\n    &lt;\/property&gt;\n&lt;\/configuration&gt;\n<\/code><\/pre>\n<p>\u914d\u7f6e hdfs-site.xml \u6587\u4ef6<br \/>\n<code># vi hdfs-site.xml<\/code><\/p>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;configuration&gt;\n    &lt;!-- \u6307\u5b9a hdfs \u5143\u6570\u636e\u5b58\u50a8\u7684\u8def\u5f84 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;dfs.namenode.name.dir&lt;\/name&gt;\n        &lt;value&gt;\/home\/hadoop_files\/hadoop_data\/hadoop\/namenode&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;!-- \u6307\u5b9a hdfs \u6570\u636e\u5b58\u50a8\u7684\u8def\u5f84 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;dfs.datanode.data.dir&lt;\/name&gt;\n        &lt;value&gt;\/home\/hadoop_files\/hadoop_data\/hadoop\/datanode&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;property&gt;\n        &lt;name&gt;dfs.secondary.http.address&lt;\/name&gt;\n        &lt;value&gt;cluster1:50090&lt;\/value&gt;\n    &lt;\/property&gt;\n    &lt;!-- \u6570\u636e\u5907\u4efd\u7684\u4e2a\u6570 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;dfs.replication&lt;\/name&gt;\n        &lt;value&gt;3&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;!-- \u5173\u95ed\u6743\u9650\u9a8c\u8bc1 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;dfs.permissions.enabled&lt;\/name&gt;\n        &lt;value&gt;false&lt;\/value&gt;\n    &lt;\/property&gt;\n    &lt;!-- \u5f00\u542f WebHDFS \u529f\u80fd\uff08\u57fa\u4e8e REST \u7684\u63a5\u53e3\u670d\u52a1\uff09 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;dfs.webhdfs.enabled&lt;\/name&gt;\n        &lt;value&gt;true&lt;\/value&gt;\n    &lt;\/property&gt;\n&lt;\/configuration&gt;\n<\/code><\/pre>\n<p>\u914d\u7f6e mapred-site.xml \u6587\u4ef6<br \/>\n<code># vi mapred-site.xml<\/code><\/p>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;configuration&gt;\n    &lt;!-- \u6307\u5b9a MapReduce \u8ba1\u7b97\u6846\u67b6\u4f7f\u7528 YARN --&gt;\n    &lt;property&gt;\n        &lt;name&gt;mapreduce.framework.name&lt;\/name&gt;\n        &lt;value&gt;yarn&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;!-- \u6307\u5b9a jobhistory server \u7684 rpc \u5730\u5740 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;mapreduce.jobhistory.address&lt;\/name&gt;\n        &lt;value&gt;cluster1:10020&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;!-- \u6307\u5b9a jobhistory server \u7684 http \u5730\u5740 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;mapreduce.jobhistory.webapp.address&lt;\/name&gt;\n        &lt;value&gt;cluster1:19888&lt;\/value&gt;\n    &lt;\/property&gt;\n&lt;\/configuration&gt;\n<\/code><\/pre>\n<p>\u914d\u7f6e yarn-site.xml \u6587\u4ef6<br \/>\n<code># vi yarn-site.xml<\/code><\/p>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;configuration&gt;\n    &lt;!-- NodeManager \u4e0a\u8fd0\u884c\u7684\u9644\u5c5e\u670d\u52a1\uff0c\u9700\u914d\u7f6e\u6210 mapreduce_shuffle \u624d\u53ef\u8fd0\u884c MapReduce \u7a0b\u5e8f --&gt;\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\n    &lt;!-- \u914d\u7f6e Web Application Proxy \u5b89\u5168\u4ee3\u7406\uff08\u9632\u6b62 yarn \u88ab\u653b\u51fb\uff09 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;yarn.web-proxy.address&lt;\/name&gt;\n        &lt;value&gt;cluster2:8888&lt;\/value&gt;\n    &lt;\/property&gt; &lt;!-- \u5f00\u542f\u65e5\u5fd7 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;yarn.log-aggregation-enable&lt;\/name&gt;\n        &lt;value&gt;true&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;!-- \u914d\u7f6e\u65e5\u5fd7\u5220\u9664\u65f6\u95f4\u4e3a 7 \u5929\uff0c-1 \u4e3a\u7981\u7528\uff0c\u5355\u4f4d\u4e3a\u79d2 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;yarn.log-aggregation.retain-seconds&lt;\/name&gt;\n        &lt;value&gt;604800&lt;\/value&gt;\n    &lt;\/property&gt;\n\n    &lt;!-- \u4fee\u6539\u65e5\u5fd7\u76ee\u5f55 --&gt;\n    &lt;property&gt;\n        &lt;name&gt;yarn.nodemanager.remote-app-log-dir&lt;\/name&gt;\n        &lt;value&gt;\/home\/hadoop_files\/hadoop_logs\/yarn&lt;\/value&gt;\n    &lt;\/property&gt;\n    &lt;property&gt;\n        &lt;name&gt;yarn.resourcemanager.address&lt;\/name&gt;\n        &lt;value&gt;cluster1:8032&lt;\/value&gt;\n    &lt;\/property&gt;\n    &lt;property&gt;\n        &lt;name&gt;yarn.resourcemanager.scheduler.address&lt;\/name&gt;\n        &lt;value&gt;cluster1:8030&lt;\/value&gt;\n    &lt;\/property&gt;\n    &lt;property&gt;\n        &lt;name&gt;yarn.resourcemanager.resource-tracker.address&lt;\/name&gt;\n        &lt;value&gt;cluster1:8031&lt;\/value&gt;\n    &lt;\/property&gt;\n&lt;\/configuration&gt;\n<\/code><\/pre>\n<p>\u914d\u7f6e slaves \u6587\u4ef6<br \/>\n<code># vi slaves<\/code><br \/>\n\u5220\u9664 localhost\uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<pre><code class=\"language-txt line-numbers\">cluster1\ncluster2\ncluster3\n<\/code><\/pre>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u5c06 cluster1 \u7684 hadoop \u5de5\u4f5c\u76ee\u5f55\u540c\u6b65\u5230\u96c6\u7fa4\u5176\u5b83\u8282\u70b9\n<span class=\"katex math inline\">scp -r \/usr\/local\/hadoop-2.6.5 cluster2:\/usr\/local\/<\/span> scp -r \/usr\/local\/hadoop-2.6.5 cluster3:\/usr\/local\/\n<\/code><\/pre>\n<p>\u5728\u4e09\u53f0\u865a\u62df\u673a\u4e0a\u6267\u884c<\/p>\n<pre><code class=\"language-cpp line-numbers\"># mkdir -p \/home\/hadoop_files\/hadoop_data\/hadoop\/namenode\n# mkdir -p \/home\/hadoop_files\/hadoop_data\/hadoop\/datanode\n# mkdir -p \/home\/hadoop_files\/hadoop_tmp\/hadoop\/data\/tmp\n# mkdir -p \/home\/hadoop_files\/hadoop_logs\/yarn\n# chown -R hadoop:hadoop \/home\/hadoop_files\/\n# chown -R hadoop:hadoop \/usr\/local\/hadoop-2.6.5\/\n# vi \/etc\/profile\n\/\/\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\nexport HADOOP_HOME=\/usr\/local\/hadoop-2.6.5\nexport LD_LIBRARY_PATH=<span class=\"katex math inline\">HADOOP_HOME\/lib\/native\nexport PATH=<\/span>HADOOP_HOME\/bin:<span class=\"katex math inline\">HADOOP_HOME\/sbin:<\/span>PATH\n<\/code><\/pre>\n<p>\u4e09\u53f0\u865a\u62df\u673a\u90fd\u8981\u6267\u884c\uff0c\u5207\u6362\u5230hadoop\u7528\u6237\u3002<br \/>\nHadoop \u542f\u52a8\u7684\u5148\u51b3\u6761\u4ef6\u662f zookeeper \u5df2\u7ecf\u6210\u529f\u542f\u52a8\u3002<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u4f7f\u4fee\u6539\u7684\u73af\u5883\u53d8\u91cf\u751f\u6548\n<span class=\"katex math inline\">source \/etc\/profile\n\/\/ \u542f\u52a8 zookeeper \u96c6\u7fa4\uff08\u5206\u522b\u5728 cluster1, cluster2 \u548c cluster3 \u4e0a\u6267\u884c\uff09<\/span> zkServer.sh start\n\/\/\u63a5\u4e0b\u6765\u5f00\u59cb\u683c\u5f0f\u5316\uff1a\n\/\/ \u542f\u52a8 journalnode\uff08\u5728\u6240\u6709 datanode \u4e0a\u6267\u884c\uff0c\u4e5f\u5c31\u662f cluster1, cluster2, cluster3\uff09\n<span class=\"katex math inline\">hadoop-daemon.sh start journalnode\n\/\/\u542f\u52a8\u540e\u4f7f\u7528 jps \u547d\u4ee4\u53ef\u4ee5\u770b\u5230 JournalNode \u8fdb\u7a0b\n\/\/ \u683c\u5f0f\u5316 HDFS\uff08\u5728 cluster1 \u4e0a\u6267\u884c\uff09<\/span> hdfs namenode -format\n\/\/ \u683c\u5f0f\u5316\u5b8c\u6bd5\u540e\u53ef\u5173\u95ed journalnode\uff08\u5728\u6240\u6709 datanode \u4e0a\u6267\u884c\uff09\n<span class=\"katex math inline\">hadoop-daemon.sh stop journalnode\n\/\/ \u542f\u52a8 HDFS\uff08cluster1 \u4e0a\uff09<\/span> start-dfs.sh\n\/\/ \u542f\u52a8\u540e cluster1 \u4e0a\u4f7f\u7528 jps \u53ef\u4ee5\u770b\u5230 NameNode, DataNode, SecondaryNameNode cluster2 \u548c cluster3 \u4e0a\u53ef\u4ee5\u770b\u5230 DataNode\n<span class=\"katex math inline\">jps\n\/\/ \u542f\u52a8 YARN\uff08cluster1 \u4e0a\uff09<\/span> start-yarn.sh\n\/\/ \u542f\u52a8\u540e cluster1 \u4e0a\u4f7f\u7528 jps \u53ef\u4ee5\u770b\u5230 NodeManager, ResourceManager cluster2 \u548c cluster3 \u4e0a\u53ef\u4ee5\u770b\u5230 NodeManager\n$ jps\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\u662f\u5173\u95ed YARN \u548c HDFS \u7684\u547d\u4ee4\uff0c\u91cd\u542f\u670d\u52a1\u5668\u6216\u5173\u673a\u524d\u4e00\u5b9a\u8981\u6267\u884c\uff0c\u5426\u5219\u6709\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u6216\u670d\u52a1\u635f\u574f\u3002<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u5173\u95ed YARN \u7684\u547d\u4ee4\uff08cluster1 \u4e0a\uff09\n<span class=\"katex math inline\">stop-yarn.sh\n\/\/ \u5173\u95ed HDFS \u7684\u547d\u4ee4\uff08cluster1 \u4e0a\uff09<\/span> stop-dfs.sh\n<\/code><\/pre>\n<h4>8.3 \u6d4b\u8bd5<\/h4>\n<p>\u542f\u52a8 HDFS \u540e\uff0c\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u4e2d\uff08\u4e0d\u8981\u4f7f\u7528edge\uff09\uff0c\u6253\u5f00 <code>192.168.142.133:50070<\/code>\uff0c\u53ef\u4ee5\u770b\u5230 HDFS \u7684 web \u754c\u9762<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.guanhaobo.cn\/wp-content\/uploads\/2020\/05\/1001-1.jpg\" alt=\"\" \/><\/p>\n<p>\u542f\u52a8 YARN \u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95ee 192.168.56.121:8088\uff0c\u67e5\u770b YARN \u7684 web \u754c\u9762\u3002<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.guanhaobo.cn\/wp-content\/uploads\/2020\/05\/1002-1.jpg\" alt=\"\" \/><\/p>\n<p>\u547d\u4ee4\u884c\u6d4b\u8bd5\uff1a<br \/>\n\u5728 cluster1 \u4e2d<\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u5207\u6362\u81f3 hadoop \u7528\u6237\u7684\u4e3b\u76ee\u5f55\n<span class=\"katex math inline\">cd ~\n\/\/ \u65b0\u5efa\u4e00\u4e2a\u6d4b\u8bd5\u6587\u4ef6<\/span> vi testfile\n\/\/ \u8f93\u5165\nghb123\n\/\/ \u4fdd\u5b58\u9000\u51fa\n\/\/ \u67e5\u770b HDFS \u6839\u76ee\u5f55\u7684\u6587\u4ef6\n<span class=\"katex math inline\">hdfs dfs -ls \/\n\/\/ \u5728 HDFS \u7684\u6839\u76ee\u5f55\u521b\u5efa test \u76ee\u5f55<\/span> hdfs dfs -mkdir \/test\n<\/code><\/pre>\n<p>\u5982\u679c\u51fa\u73b0\u4e86 <code>mkdir: Cannot create directory \/test. Name node is in safe mode<\/code>\u8bf4\u660e HDFS \u521a\u542f\u52a8\u4e0d\u4e45\uff0c\u8fd8\u5728\u5b89\u5168\u68c0\u67e5\u4e2d\u3002\u7531\u4e8e\u6211\u4eec\u7684\u7b14\u8bb0\u672c\u6027\u80fd\u4e0d\u591f\u5f3a\uff0c\u5b89\u5168\u68c0\u67e5\u7684\u65f6\u95f4\u4f1a\u5f88\u957f\uff0c\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u9000\u51fa\u5b89\u5168\u6a21\u5f0f<code>$ hdfs dfsadmin -safemode leave<\/code><\/p>\n<pre><code class=\"language-cpp line-numbers\">\/\/ \u521b\u5efa\u5b8c\u6587\u4ef6\u5939\u540e\u518d\u6b21\u67e5\u770b\u6839\u76ee\u5f55\uff0c\u67e5\u770b\u76ee\u5f55\u662f\u5426\u65b0\u5efa\u6210\u529f\n<span class=\"katex math inline\">hdfs dfs -ls \/\n\/\/ \u5c06\u6d4b\u8bd5\u6587\u4ef6 testfile \u4e0a\u4f20\u81f3 HDFS \u6839\u76ee\u5f55\u4e0b\u7684 test \u76ee\u5f55\u4e2d<\/span> hdfs dfs -put testfile \/test\n\/\/ \u5728 cluster2 \u4e0a \/\/ \u5207\u6362\u81f3 hadoop \u7528\u6237\u7684\u4e3b\u76ee\u5f55\n<span class=\"katex math inline\">cd ~\/\n\/\/ \u67e5\u770b HDFS \u6839\u76ee\u5f55<\/span> hdfs dfs -ls \/\n\/\/ \u67e5\u770b HDFS \u6839\u76ee\u5f55\u4e0b\u7684 test \u76ee\u5f55\uff0c\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u521a\u624d\u5728 cluster1 \u4e0a\u4e0a\u4f20\u7684\u6587\u4ef6 testfile\n<span class=\"katex math inline\">hdfs dfs -ls \/test\n\/\/ \u67e5\u770b HDFS \u4e0a\u7684\/test\/testfile \u6587\u4ef6\u7684\u5185\u5bb9<\/span> hdfs dfs -cat \/test\/testfile\n\/\/ \u5c06 HDFS \u4e0a\u7684\/test\/testfile \u4e0b\u8f7d\u5230\u672c\u5730\n<span class=\"katex math inline\">hdfs dfs -get \/test\/testfile\n\/\/ \u67e5\u770b\u672c\u5730\u5f53\u524d\u76ee\u5f55\u5185\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u770b\u5230\u521a\u624d\u4e0b\u8f7d\u7684 testfile<\/span> ls\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u5f15\u8a00 \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u4e09\u53f0\u865a\u62df\u673a\uff0c\u642d\u5efa\u51fa Hadoop \u5927\u6570\u636e\u5e73\u53f0\u3002 \u5efa\u8bae\u4f7f\u7528\u6587\u7ae0\u5185\u63d0\u4f9b\u7684\u94fe\u63a5\u4e0b\u8f7d\u8f6f\u4ef6\uff0c\u6216 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[13,21,44],"class_list":["post-531","post","type-post","status-publish","format-standard","hentry","category-homework","tag-hadoop","tag-linux","tag-44"],"_links":{"self":[{"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=\/wp\/v2\/posts\/531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=531"}],"version-history":[{"count":0,"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=\/wp\/v2\/posts\/531\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.guanhaobo.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}