{"id":448,"date":"2021-01-08T22:58:04","date_gmt":"2021-01-08T14:58:04","guid":{"rendered":"http:\/\/moyisuiying.com\/?p=448"},"modified":"2021-01-08T22:58:04","modified_gmt":"2021-01-08T14:58:04","slug":"docker%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8centos7-8%e9%85%8d%e7%bd%aehadoop3-3-0%e5%ae%8c%e5%85%a8%e5%88%86%e5%b8%83%e5%bc%8f%e9%9b%86%e7%be%a4%e7%8e%af%e5%a2%83","status":"publish","type":"post","link":"http:\/\/moyisuiying.com\/index.php\/javastudy\/springmvc\/448.html","title":{"rendered":"Docker\u73af\u5883\u4e0b\u4f7f\u7528CentOS7.8\u914d\u7f6eHadoop3.3.0\u5b8c\u5168\u5206\u5e03\u5f0f\u96c6\u7fa4\u73af\u5883"},"content":{"rendered":"\n<h1>Docker\u73af\u5883\u4e0b\u4f7f\u7528CentOS7.8\u914d\u7f6eHadoop3.3.0\u5b8c\u5168\u5206\u5e03\u5f0f\u96c6\u7fa4\u73af\u5883<\/h1>\n\n\n\n<h2>1.\u9996\u5148\u62c9\u53d6CentOS7.8\u955c\u50cf\uff08\u7b14\u8005\u4e4b\u524d\u4f7f\u7528CentOS8\u8fdb\u884c\u5b89\u88c5\u4f46\u662fCentOS8\u65e0\u6cd5\u6b63\u5e38\u5b89\u88c5OpenSSH\uff0c\u6298\u817e\u4e86\u597d\u4e45\u540e\u624d\u4f7f\u7528CentOS7\u8fdb\u884c\u5b89\u88c5\u540e\u53ef\u4ee5\u6b63\u5e38\u5b89\u88c5OpenSSH\uff09<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>docker pull centos:centos7.8.2003<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108221504578.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108221504578.png\" alt=\"\"\/><\/figure><\/noscript>\n\n\n\n<h2>2.\u521b\u5efa\u56fa\u5b9aIP\u5b50\u7f51<\/h2>\n\n\n\n<p>\u6309\u7167\u96c6\u7fa4\u7684\u67b6\u6784\uff0c\u521b\u5efa\u5bb9\u5668\u65f6\u9700\u8981\u8bbe\u7f6e\u56fa\u5b9aIP\uff0c\u6240\u4ee5\u5148\u8981\u5728docker\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u56fa\u5b9aIP\u7684\u5b50\u7f51.<\/p>\n\n\n\n<p>\u81f3\u4e8e\u5728Docker\u4e0b\u7684\u7f51\u7edc\u6a21\u5f0f\u53ef\u4ee5\u53c2\u8003\u535a\u5ba2<a href=\"https:\/\/www.cnblogs.com\/zuxing\/articles\/8780661.html\" target=\"_blank\"  rel=\"nofollow\" >Docker\u7f51\u7edc\u6a21\u5f0f\u8be6\u89e3<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker network create --subnet=172.18.0.0\/16 netgroup<\/code><\/pre>\n\n\n\n<p>docker\u7684\u5b50\u7f51\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\u5c31\u53ef\u4ee5\u521b\u5efa\u56fa\u5b9aIP\u7684\u5bb9\u5668\u4e86\u3002<\/p>\n\n\n\n<p>\u5728docker\u4e2d\u521b\u5efanetworks\u7684\u65f6\u5019\u6709\u65f6\u5019\u4f1a\u62a5ERROR: Pool overlaps with other one on this address space\u7684\u9519\u8bef\uff0c\u56e0\u76ee\u6807\u7f51\u6bb5\u5df2\u7ecf\u5b58\u5728\u7684\u539f\u56e0\uff0c\u901a\u5e38\u8fd9\u53d1\u751f\u5728\u5c06\u8981\u521b\u5efa\u7684networks\u624b\u52a8\u6307\u5b9a\u4e86subnet\u7f51\u6bb5\u5730\u5740\u7684\u65f6\u5019\u3002\u89e3\u51b3\u65b9\u6848\u6709\u4e24\u4e2a\uff1a<\/p>\n\n\n\n<p>\u4e00\u662f\u67e5\u770b\u5df2\u5b58\u5728\u7684\u7f51\u6bb5\u662f\u5426\u6709\u5bb9\u5668\u6b63\u5728\u4f7f\u7528\uff0c\u5982\u679c\u6ca1\u518d\u7528\u4e86\u53ef\u4ee5\u5220\u9664\u8be5\u7f51\u6bb5\u5bf9\u5e94\u7684\u7f51\u5361\uff1b<\/p>\n\n\n\n<p>\u4e8c\u662f\u4fee\u6539\u76ee\u6807\u7684subnet\u7f51\u6bb5\u5730\u5740\u3002<\/p>\n\n\n\n<p>\u67e5\u770bdocker\u7f51\u5361<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker network ls<\/code><\/pre>\n\n\n\n<p>\u5220\u9664docker\u7f51\u5361<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker network rm \u7f51\u5361id<\/code><\/pre>\n\n\n\n<p>\u67e5\u770bdocker\u7f51\u5361\u7684\u76f8\u5173\u8be6\u7ec6\u4fe1\u606f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker network inspect \u7f51\u5361id<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108221532350.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108221532350.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\"\/><\/figure><\/noscript>\n\n\n\n<p>\u53ef\u4ee5\u53d1\u73b0\u8fd9\u4e2a\u5b50\u7f51IP\u5b57\u6bb5\u201c172.18.0.0\/16\u201d\u5df2\u7ecf\u88ab\u5360\u7528\u4e86\uff0c\u6211\u4eec\u9700\u8981\u4f7f\u7528\u5176\u5b83\u65b0\u7684IP\u5b57\u6bb5\u6765\u8fdb\u884c\u521b\u5efa\u5b50\u7f51IP<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker network create --driver=bridge --subnet=192.168.0.0\/16 --gateway=192.168.0.1  hadoopnetwork<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108221550188.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108221550188.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\"\/><\/figure><\/noscript>\n\n\n\n<p>\u6b64\u65f6\u5df2\u7ecf\u521b\u5efa\u6210\u529f<\/p>\n\n\n\n<h2>3.docker\u7684\u5b50\u7f51\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\u5c31\u53ef\u4ee5\u521b\u5efa\u56fa\u5b9aIP\u7684\u5bb9\u5668\u4e86<\/h2>\n\n\n\n<h3>3.1\u521b\u5efa\u5bb9\u5668\u5e76\u5236\u5b9a\u7aef\u53e3<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#hadoop-master\n#-p \u8bbe\u7f6edocker\u6620\u5c04\u5230\u5bb9\u5668\u7684\u7aef\u53e3 \u540e\u7eed\u67e5\u770bweb\u7ba1\u7406\u9875\u9762\u4f7f\u7528\ndocker run -d  --privileged=true --name  hadoop-master -h hadoop-master  -v \/hadoop\/master\/sys\/fs\/cgroup:\/sys\/fs\/cgroup -p 18088:18088 -p 8970:8970  -p 5581:5581 -p 5582:5582  -p 5580:22 --net hadoopnetwork --ip 192.168.0.2  centos: centos7.8.2003 \/usr\/sbin\/init\n\n\n#hadoop1\ndocker run -d  --privileged=true --name  hadoop1 -h hadoop1  -p 50090:50090  -v \/hadoop\/hadoop1\/sys\/fs\/cgroup:\/sys\/fs\/cgroup  --net hadoopnetwork --ip 192.168.0.3  centos:centos7.8.2003 \/usr\/sbin\/init\n\n#hadoop2\ndocker run -d  --privileged=true --name  hadoop2 -h hadoop2  -v \/hadoop\/hadoop2\/sys\/fs\/cgroup:\/sys\/fs\/cgroup -p 18010:18010 -p 18020:18020 -p 18030:18030 -p 18040:18040 --net hadoopnetwork --ip 192.168.0.4  centos:centos7.8.2003 \/usr\/sbin\/init\n##hadoop3\ndocker run -d  --privileged=true --name  hadoop3 -h hadoop3  -v \/hadoop\/hadoop3\/sys\/fs\/cgroup:\/sys\/fs\/cgroup  --net hadoopnetwork --ip 192.168.0.5  centos:centos7.8.2003 \/usr\/sbin\/init<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108221629537.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108221629537.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h3>3.2\u4fee\u6539\u5bb9\u5668\u5bf9\u5e94\u7684\u914d\u7f6e\u6587\u4ef6<\/h3>\n\n\n\n<p>\u6709\u65f6\u5019\u521a\u5f00\u59cb\u6211\u4eec\u4e0d\u77e5\u9053\u9700\u8981\u591a\u5c11\u4e2a\u7aef\u53e3\uff0c\u56e0\u6b64\u6211\u4eec\u53ef\u4ee5\u5728\u5bb9\u5668\u542f\u52a8\u540e\u6dfb\u52a0\u65b0\u7684\u7aef\u53e3\uff0c\u5373\uff1a\u4fee\u6539\/var\/lib\/docker\/containers\/[containerId]\u76ee\u5f55\u4e0b\uff0chostconfig.json\u548cconfig.v2.json \u4e24\u4e2a\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n\n\n\n<h4>3.2.1. \u505c\u6b62\u5bb9\u5668\uff0c\u505c\u6b62docker\u670d\u52a1<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stop container_id\n\nsystemctl stop docker<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108221723735.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108221723735.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h4>3.2. 2. \u4fee\u6539\u914d\u7f6e\u6587\u4ef6<\/h4>\n\n\n\n<h5>3.2.2.1 \u4fee\u6539 hostconfig.json\u6587\u4ef6\uff0c\u4fee\u6539\u70b9\u4e00\u5904<\/h5>\n\n\n\n<p>\u8fdb\u5165\/var\/lib\/docker\/containers\/[containerId]\u76ee\u5f55\u4e0b\uff0c\u5728 hostconfig.json \u91cc\u6709 \"PortBindings\":{} \u8fd9\u4e2a\u914d\u7f6e\u9879\uff0c\u53ef\u4ee5\u6539\u6210\"PortBindings\":{\"22\/tcp\":[{\"HostIp\":\"\",\"HostPort\":\"5022\"}]} \u8fd9\u91cc 22 \u662f\u5bb9\u5668\u7aef\u53e3\uff0c 5022 \u662f\u672c\u5730\u7aef\u53e3<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108221757627.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108221757627.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h5>3.2.2.2 \u4fee\u6539 config.v2.json \u6587\u4ef6\uff0c\u4fee\u6539\u70b9\u4e24\u5904<\/h5>\n\n\n\n<p>\u5728 config.v2.json \u91cc\u9762\u6dfb\u52a0\u4e00\u4e2a\u914d\u7f6e\u9879 \"ExposedPorts\":{\"22\/tcp\":{}}<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/2021010822182450.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/2021010822182450.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u914d\u7f6e\u9879 \"Ports\": {} \u4fee\u6539\u6210 \"Ports\": {\"22\/tcp\": [{\"HostIp\": \"0.0.0.0\",\"HostPort\": \"5022\"}]}<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/202101082218424.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/202101082218424.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u6ce8\uff1a\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u524d\u5fc5\u987b\u5148\u505c\u6389\u5bb9\u5668\u53cadocker\u670d\u52a1\u5426\u5219\u4fee\u6539\u5c06\u65e0\u6548\u3002<\/p>\n\n\n\n<h2>4.\u5b89\u88c5OpenSSH\u514d\u5bc6\u767b\u5f55<\/h2>\n\n\n\n<h3>4.1<code>hadoop-master<\/code>\u5b89\u88c5OpenSSH<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># \u5b89\u88c5Service\u547d\u4ee4\u5de5\u5177\nyum -y install initscripts\n#\u5b89\u88c5openssh\n&#91;root@hadoop-master \/]# yum -y install openssh openssh-server openssh-clients\n&#91;root@hadoop-master \/]# systemctl start sshd\n####ssh\u81ea\u52a8\u63a5\u53d7\u65b0\u7684\u516c\u94a5\n####master\u8bbe\u7f6essh\u767b\u5f55\u81ea\u52a8\u6dfb\u52a0kown_hosts\n&#91;root@hadoop-master \/]# vi \/etc\/ssh\/ssh_config\n#\u5c06\u539f\u6765\u7684StrictHostKeyChecking ask\n#\u8bbe\u7f6eStrictHostKeyChecking\u4e3ano\n#\u4fdd\u5b58\n&#91;root@hadoop-master \/]# systemctl restart sshd<\/code><\/pre>\n\n\n\n<h3>4.2\u5206\u522b\u5bf9slaves\uff08hadoop1,hadoop2,hadoop3\uff09\u5b89\u88c5OpenSSH<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u5b89\u88c5openssh\n&#91;root@hadoop1 \/]#yum -y install openssh openssh-server openssh-clients\n&#91;root@hadoop1 \/]# systemctl start sshd<\/code><\/pre>\n\n\n\n<h3>4.3hadoop-master\u516c\u94a5\u5206\u53d1<\/h3>\n\n\n\n<p>\u5728master\u673a\u4e0a\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -t rsa<\/code><\/pre>\n\n\n\n<p>\u5e76\u4e00\u8def\u56de\u8f66\uff0c\u5b8c\u6210\u4e4b\u540e\u4f1a\u751f\u6210~\/.ssh\u76ee\u5f55\uff0c\u76ee\u5f55\u4e0b\u6709id_rsa\uff08\u79c1\u94a5\u6587\u4ef6\uff09\u548cid_rsa.pub\uff08\u516c\u94a5\u6587\u4ef6\uff09\uff0c\u518d\u5c06id_rsa.pub\u91cd\u5b9a\u5411\u5230\u6587\u4ef6authorized_keys<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -t rsa\n#\u4e00\u8def\u56de\u8f66\u7136\u540e\u5c06\u516c\u94a5\u5bfc\u5165\n&#91;root@hadoop-master \/]# cat ~\/.ssh\/id_rsa.pub > ~\/.ssh\/authorized_keys<\/code><\/pre>\n\n\n\n<p><strong>\uff08\u6ce8\u610f\uff1a\u6240\u6709\u8282\u70b9\u5747\u8981\u914d\u7f6e\uff0c\u65b9\u6cd5\u540c\u4e0a\uff0c\u6b64\u5904\u7565\uff09<\/strong><\/p>\n\n\n\n<p>\u7136\u540e\u5c06\u6bcf\u4e2a\u8282\u70b9\u7684\u516c\u94a5\u90fd\u590d\u5236\u5230authorized_keys\uff0c\u4e5f\u5c31\u662f\u8bf4\u6bcf\u4e2a\u8282\u70b9\u7684authorized_keys \u6587\u4ef6\u4e2d\u5b58\u50a8\u7684\u516c\u94a5\u90fd\u662f4\u4e2a\u800c\u4e14\u662f\u4e00\u6837\u7684\uff0c\u53ef\u4ee5\u91c7\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u6765\u8fdb\u884c\u590d\u5236\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u624b\u52a8\u590d\u5236<\/p>\n\n\n\n<p>\u5c06\u56db\u4e2a\u5bb9\u5668\u4e2d\u7684\u6587\u4ef6\u590d\u5236\u5230\u672c\u5730\u5bbf\u4e3b\u673a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@VM-0-2-ubuntu \/hadoop 17:25:13]#docker cp hadoop1:\/root\/.ssh\/authorized_keys  \/hadoop\/authorized_keys_hadoop1\n&#91;root@VM-0-2-ubuntu \/hadoop 17:25:13]#docker cp hadoop2:\/root\/.ssh\/authorized_keys  \/hadoop\/authorized_keys_hadoop2\n&#91;root@VM-0-2-ubuntu \/hadoop 17:25:27]# docker cp hadoop3:\/root\/.ssh\/authorized_keys  \/hadoop\/authorized_keys_hadoop3\n&#91;root@VM-0-2-ubuntu \/hadoop 17:25:35]# docker cp hadoop-master:\/root\/.ssh\/authorized_keys  \/hadoop\/authorized_keys_hadoop-master<\/code><\/pre>\n\n\n\n<p>\u8fd9\u65f6\u5019\u5728\u5bbf\u4e3b\u673a\u7684 \/hadoop\u76ee\u5f55\u4e0b\u6709\u56db\u4e2a\u516c\u94a5\uff1a<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/2021010822192742.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>\u5c06\u8fd9\u56db\u4e2a\u6587\u4ef6\u6574\u5408\u6210\u4e00\u4e2a\u6587\u4ef6<\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/2021010822192742.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>\u5c06\u8fd9\u56db\u4e2a\u6587\u4ef6\u6574\u5408\u6210\u4e00\u4e2a\u6587\u4ef6<\/p><\/noscript>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@VM-0-2-ubuntu \/hadoop 17:26:41]# cat authorized_keys_hadoop-master authorized_keys_hadoop1 authorized_keys_hadoop2 authorized_keys_hadoop3 > authorized_keys<\/code><\/pre>\n\n\n\n<p>\u518d\u5c06\u6574\u5408\u540e\u7684\u6587\u4ef6\u590d\u5236\u5230\u4e09\u4e2a\u5bb9\u5668\u4e2d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@VM-0-2-ubuntu \/hadoop 17:27:11]#docker cp \/hadoop\/authorized_keys hadoop1:\/root\/.ssh\/authorized_keys\n&#91;root@VM-0-2-ubuntu \/hadoop 17:27:44]#docker cp \/hadoop\/authorized_keys hadoop2:\/root\/.ssh\/authorized_keys\n&#91;root@VM-0-2-ubuntu \/hadoop 17:29:01]#docker cp \/hadoop\/authorized_keys hadoop3:\/root\/.ssh\/authorized_keys\n&#91;root@VM-0-2-ubuntu \/hadoop 17:29:05]#docker cp \/hadoop\/authorized_keys hadoop-master:\/root\/.ssh\/authorized_keys<\/code><\/pre>\n\n\n\n<p>\u8fdb\u5165hadoop1\u67e5\u770b\u4e00\u4e0b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;hadoop@bogon ~]$ docker exec -it hadoop1 bash\nbash-4.1# cat root\/.ssh\/authorized_keys <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222010745.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222010745.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u53ef\u4ee5\u53d1\u73b0\uff0c\u5728hadoop-master\u4e2d\u4f7f\u7528 ssh\u547d\u4ee4\u767b\u5f55\u5230hadoop1\u4e2d\u662f\u76f4\u63a5\u4e0d\u9700\u8981\u5bc6\u7801\u5c31\u53ef\u4ee5\u767b\u5f55\u4e86\u7684\u3002<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222027755.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222027755.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<h3>4.4Ansible\u5b89\u88c5<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master \/]# yum -y install epel-release\n&#91;root@hadoop-master \/]# yum -y install ansible\n#\u8fd9\u6837\u7684\u8bddansible\u4f1a\u88ab\u5b89\u88c5\u5230\/etc\/ansible\u76ee\u5f55\u4e0b<\/code><\/pre>\n\n\n\n<p>\u6b64\u65f6\u6211\u4eec\u518d\u53bb\u7f16\u8f91ansible\u7684hosts\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vi \/etc\/ansible\/hosts\n<\/code><\/pre>\n\n\n\n<p>[hadoop]<\/p>\n\n\n\n<p>hadoop-master<br> hadoop1 <br>hadoop2<br> hadoop3<\/p>\n\n\n\n<p>[master]<\/p>\n\n\n\n<p>hadoop-master<\/p>\n\n\n\n<p>[slaves]<\/p>\n\n\n\n<p>hadoop1<br> hadoop2<br> hadoop3<\/p>\n\n\n\n<h3>\u914d\u7f6edocker\u5bb9\u5668hosts<\/h3>\n\n\n\n<p>\u7531\u4e8e\/etc\/hosts\u6587\u4ef6\u5728\u5bb9\u5668\u542f\u52a8\u65f6\u88ab\u91cd\u5199\uff0c\u76f4\u63a5\u4fee\u6539\u5185\u5bb9\u5728\u5bb9\u5668\u91cd\u542f\u540e\u4e0d\u80fd\u4fdd\u7559\uff0c\u4e3a\u4e86\u8ba9\u5bb9\u5668\u5728\u91cd\u542f\u4e4b\u540e\u83b7\u53d6\u96c6\u7fa4hosts\uff0c\u4f7f\u7528\u4e86\u4e00\u79cd\u542f\u52a8\u5bb9\u5668\u540e\u91cd\u5199hosts\u7684\u65b9\u6cd5\u3002\u9700\u8981\u5728~\/.bashrc\u4e2d\u8ffd\u52a0\u4ee5\u4e0b\u6307\u4ee4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vim ~\/.bashrc<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>:>\/etc\/hosts\ncat >>\/etc\/hosts&lt;&lt;EOF\n192.168.0.2  hadoop-master\n192.168.0.3  hadoop1\n192.168.0.4  hadoop2\n192.168.0.5  hadoop3\nEOF<\/code><\/pre>\n\n\n\n<h3>\u7279\u522b\u63d0\u793a\uff0c\u4e0d\u8981\u5199\u5165\u591a\u4f59\u7684host\u6620\u5c04\u8fdb\u6765\uff0c\u4f60\u6709\u591a\u5c11\u4e2a\u673a\u5668\u5c31\u5199\u591a\u5c11\u4e2aip\u548c\u57df\u540d\u6620\u5c04\u5bf9\u8fdb\u6765\uff0c\u4e0d\u8981\u591a\u5199\uff0c\u5426\u5219\u540e\u9762\u542f\u52a8\u96c6\u7fa4\u65f6\u5019\u4f1a\u51fa\u73b0\u95ee\u9898\uff0c\u5207\u8bb0\u5207\u8bb0\uff01<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222049272.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222049272.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<pre class=\"wp-block-code\"><code>source ~\/.bashrc<\/code><\/pre>\n\n\n\n<p>\u4f7f\u914d\u7f6e\u6587\u4ef6\u751f\u6548,\u53ef\u4ee5\u770b\u5230\/etc\/hosts\u6587\u4ef6\u5df2\u7ecf\u88ab\u6539\u4e3a\u9700\u8981\u7684\u5185\u5bb9<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222059741.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222059741.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<h3>\u7528ansible\u5206\u53d1.bashrc\u81f3\u96c6\u7fa4slave\u4e0b\u4f7f\u6bcf\u4e2a\u673a\u5668\u90fd\u6709\u540c\u6837\u7684hosts<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>ansible hadoop -m copy -a \"src=~\/.bashrc dest=~\/\"<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222122734.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222122734.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222135906.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222135906.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222147875.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222147875.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222206661.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222206661.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p><strong>\u8fd9\u65f6\u5019\u6bcf\u4e2a\u4ece\u673a\u90fd\u6709\u540c\u6837\u7684hosts.\u6ce8\u610f\uff0c\u5982\u679c\u6ca1\u6709\u663e\u793a\u5b8c\u6574\u7684hosts\u5219\u8bf4\u660e\u662f\u5206\u6cd5\u5931\u8d25\uff0c\u9700\u8981\u81ea\u5df1\u624b\u52a8\u8fdb\u5165\u6bcf\u4e2a\u673a\u5668\u4e2d\uff0c\u952e\u5165\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>:>\/etc\/hosts\ncat >>\/etc\/hosts&lt;&lt;EOF\n192.168.0.2  hadoop-master\n192.168.0.3  hadoop1\n192.168.0.4  hadoop2\n192.168.0.5  hadoop3\nEOF<\/code><\/pre>\n\n\n\n<p>\u7136\u540e\u66f4\u65b0\u4e00\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source ~\/.bashrc<\/code><\/pre>\n\n\n\n<h2>5.\u8f6f\u4ef6\u73af\u5883\u914d\u7f6e<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>hadoop-master<\/th><th>hadoop1<\/th><th>hadoop2<\/th><th>hadoop3<\/th><\/tr><\/thead><tbody><tr><td>HDFS<\/td><td>nameNode,DataNode<\/td><td>SecondaryNameNode,DataNode<\/td><td>DataNode<\/td><td>DataNode<\/td><\/tr><tr><td>YARNNodeManager<\/td><td>NodeManager<\/td><td>NodeManager<\/td><td>ResourceManager,NodeManager<\/td><td>historyServer<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>5.1\u5c06hadoop-3.3.0.tar.gz\u548cjdk-8u144-linux-x64.tar.gz\u53d1\u9001\u5230\u670d\u52a1\u5668<\/h3>\n\n\n\n<p>\u9996\u5148\u5c06hadoop-3.3.0.tar.gz\u548cjdk-8u144-linux-x64.tar.gz\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u5177\u4f53\u6587\u4ef6\u5939\u81ea\u5df1\u6307\u5b9a\uff0c\u7b14\u8005\u8fd9\u91cc\u6307\u5b9a\u53d1\u9001\u5230\u670d\u52a1\u5668\u7684\/opt\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222233157.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222233157.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u7136\u540e\u4ece\u670d\u52a1\u5668\u4e2d\u5c06\u8fd9\u4e24\u4e2a\u6587\u4ef6\u590d\u5236\u5230\u5bb9\u5668hadoop-master\u4e2d\u7684\/opt\u76ee\u5f55\u4e2d\u53bb\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@VM-0-2-ubuntu \/opt 23:44:23]#docker cp hadoop-3.3.0.tar.gz  hadoop-master:\/opt\n&#91;root@VM-0-2-ubuntu \/opt 23:45:58]#docker cp jdk-8u144-linux-x64.tar.gz  hadoop-master:\/opt<\/code><\/pre>\n\n\n\n<h3>5.2\u7136\u540e\u8fdb\u5165hadoop-master\u4e2d\uff1a<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it hadoop-master bash<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222247141.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222247141.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u53ef\u4ee5\u53d1\u73b0 hadoop-3.3.0.tar.gz\u548cjdk-8u144-linux-x64.tar.gz\u5df2\u7ecf\u590d\u5236\u5230\/opt\u76ee\u5f55\u4e2d<\/p>\n\n\n\n<h3>5.3\u89e3\u538b<\/h3>\n\n\n\n<p>\u9996\u5148\u89e3\u538bJDK\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tar -xzvf jdk-8u144-linux-x64.tar.gz <\/code><\/pre>\n\n\n\n<p>\u5176\u6b21\u89e3\u538bHadoop\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tar -xzvf hadoop-3.3.0.tar.gz <\/code><\/pre>\n\n\n\n<p>\u5e76\u7ed9Hadoop\u521b\u5efa\u94fe\u63a5\u6587\u4ef6\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s hadoop-3.2.0 hadoop<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222401590.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222401590.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<pre class=\"wp-block-code\"><code># hadoop\nexport HADOOP_HOME=\/opt\/hadoop-3.3.0\nexport PATH=$HADOOP_HOME\/bin:$HADOOP_HOME\/sbin:$PATH\n#java\nexport JAVA_HOME=\/opt\/jdk1.8.0_144\nexport PATH=$HADOOP_HOME\/bin:$PATH<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222421144.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222421144.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u4f7f\u6587\u4ef6\u751f\u6548\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> source  ~\/.bashrc<\/code><\/pre>\n\n\n\n<p>\u5728 \/etc\/profile\u4e2d\u6dfb\u52a0\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export JAVA_HOME=\/opt\/jdk1.8.0_144\nexport PATH=:$JAVA_HOME\/bin:$PATH<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222439689.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222439689.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u4f7f\u7528\u547d\u4ee4\u5c06\u5176\u751f\u6548<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> source \/etc\/profile<\/code><\/pre>\n\n\n\n<h3>5.4hadoop\u8fd0\u884c\u6240\u9700\u914d\u7f6e\u6587\u4ef6\u9996\u5148\u8fdb\u5165$HADOOP_HOME\/etc\/hadoop\/\u76ee\u5f55<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>cd $HADOOP_HOME\/etc\/hadoop\/<\/code><\/pre>\n\n\n\n<h3>\u5e38\u7528\u7684\u7aef\u53e3\u914d\u7f6e<\/h3>\n\n\n\n<h4>HDFS\u7aef\u53e3<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u53c2\u6570<\/th><th>\u63cf\u8ff0<\/th><th>\u9ed8\u8ba4<\/th><th>\u914d\u7f6e\u6587\u4ef6<\/th><th>\u4f8b\u5b50\u503c<\/th><\/tr><\/thead><tbody><tr><td>fs.default.name namenode<\/td><td>namenode RPC\u4ea4\u4e92\u7aef\u53e3<\/td><td>8020<\/td><td>core-site.xml<\/td><td>hdfs:\/\/master:8020\/<\/td><\/tr><tr><td>dfs.http.address<\/td><td>NameNode web\u7ba1\u7406\u7aef\u53e3<\/td><td>50070<\/td><td>hdfs- site.xml<\/td><td>0.0.0.0:50070<\/td><\/tr><tr><td>dfs.datanode.address<\/td><td>datanode\u3000\u63a7\u5236\u7aef\u53e3<\/td><td>50010<\/td><td>hdfs -site.xml<\/td><td>0.0.0.0:50010<\/td><\/tr><tr><td>dfs.datanode.ipc.address<\/td><td>datanode\u7684RPC\u670d\u52a1\u5668\u5730\u5740\u548c\u7aef\u53e3<\/td><td>50020<\/td><td>hdfs-site.xml<\/td><td>0.0.0.0:50020<\/td><\/tr><tr><td>dfs.datanode.http.address<\/td><td>datanode\u7684HTTP\u670d\u52a1\u5668\u548c\u7aef\u53e3<\/td><td>50075<\/td><td>hdfs-site.xml<\/td><td>0.0.0.0:50075<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>MR\u7aef\u53e3<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u53c2\u6570<\/th><th>\u63cf\u8ff0<\/th><th>\u9ed8\u8ba4<\/th><th>\u914d\u7f6e\u6587\u4ef6<\/th><th>\u4f8b\u5b50\u503c<\/th><\/tr><\/thead><tbody><tr><td>mapred.job.tracker<\/td><td>job-tracker\u4ea4\u4e92\u7aef\u53e3<\/td><td>8021<\/td><td>mapred-site.xml<\/td><td>hdfs:\/\/master:8021\/<\/td><\/tr><tr><td>job<\/td><td>tracker\u7684web\u7ba1\u7406\u7aef\u53e3<\/td><td>50030<\/td><td>mapred-site.xml<\/td><td>0.0.0.0:50030<\/td><\/tr><tr><td>mapred.task.tracker.http.address<\/td><td>task-tracker\u7684HTTP\u7aef\u53e3<\/td><td>50060<\/td><td>mapred-site.xml<\/td><td>0.0.0.0:50060<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>\u5176\u5b83\u7aef\u53e3<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u53c2\u6570<\/th><th>\u63cf\u8ff0<\/th><th>\u9ed8\u8ba4<\/th><th>\u914d\u7f6e\u6587\u4ef6<\/th><th>\u4f8b\u5b50\u503c<\/th><\/tr><\/thead><tbody><tr><td>dfs.secondary.http.address<\/td><td>secondary NameNode web\u7ba1\u7406\u7aef\u53e3<\/td><td>50090<\/td><td>hdfs-site.xml<\/td><td>0.0.0.0:50090<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222538729.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222538729.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h4>5.4.1\u4fee\u6539workers\u6587\u4ef6<\/h4>\n\n\n\n<p>\u4fee\u6539workers\uff08<strong>\u6ce8\u610fhadoop3.X\u7248\u672c\u662fworkers\u6587\u4ef6\uff0c3.x\u7248\u672c\u4ee5\u4e0b\u662fslaves\u6587\u4ef6<\/strong>\uff09\u6587\u4ef6\uff0c\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hadoop-master\nhadoop1\nhadoop2\nhadoop3<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222625242.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222625242.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h4>5.4.2\u4fee\u6539<code>core-site.xml<\/code><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code> vim  core-site.xml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;property>\n        &lt;name>hadoop.tmp.dir&lt;\/name>\n        &lt;value>\/hadoop\/tmp&lt;\/value>\n        &lt;description>A base for other temporary directories.&lt;\/description>\n    &lt;\/property>\n    &lt;!-- file system properties -->\n    &lt;!--1\u3001fs.default.name\uff1a\u9ed8\u8ba4\u7684\u6587\u4ef6\u7cfb\u7edf\uff0c\u4e00\u822c\u5c06\u5176\u6539\u4e3ahdfs\u3002-->\n    &lt;property>\n        &lt;name>fs.default.name&lt;\/name>\n        &lt;value>hdfs:\/\/hadoop-master:9000&lt;\/value>\n    &lt;\/property>\n    &lt;property>\n    &lt;name>fs.trash.interval&lt;\/name>\n        &lt;value>4320&lt;\/value>\n    &lt;\/property><\/code><\/pre>\n\n\n\n<h4>5.4.3\u4fee\u6539\u4fee\u6539hdfs-site.xml<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>vim  hdfs-site.xml  <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;configuration>\n&lt;!-- \u6307\u5b9asecondary\u7684\u8bbf\u95ee\u5730\u5740\u548c\u7aef\u53e3 -->\n &lt;property>\n&lt;name>dfs.namenode.secondary.http-address&lt;\/name>\n&lt;value>hadoop1:50090&lt;\/value>\n&lt;\/property>\n&lt;!-- \u6307\u5b9anamenode\u7684\u8bbf\u95ee\u5730\u5740\u548c\u7aef\u53e3 -->\n&lt;property>\n        &lt;name>dfs.namenode.http-address&lt;\/name>\n        &lt;value>hadoop-master:5581&lt;\/value>\n&lt;\/property>\n&lt;property>\n  &lt;name>dfs.namenode.name.dir&lt;\/name>\n  &lt;value>file:\/\/${hadoop.tmp.dir}\/dfs\/name&lt;\/value>\n&lt;\/property>\n\n &lt;property>\n  &lt;name>dfs.datanode.data.dir&lt;\/name>\n  &lt;value>file:\/\/${hadoop.tmp.dir}\/dfs\/data&lt;\/value>\n&lt;\/property>\n\n &lt;property>\n   &lt;name>dfs.replication&lt;\/name>\n   &lt;value>4&lt;\/value>\n &lt;\/property>\n &lt;property>\n   &lt;name>dfs.webhdfs.enabled&lt;\/name>\n   &lt;value>true&lt;\/value>\n &lt;\/property>\n &lt;property>\n   &lt;name>dfs.permissions.superusergroup&lt;\/name>\n   &lt;value>staff&lt;\/value>\n &lt;\/property>\n\n &lt;property>\n   &lt;name>dfs.permissions.enabled&lt;\/name>\n   &lt;value>false&lt;\/value>\n &lt;\/property>\n&lt;!-- \u6307\u5b9anamenode\u65e5\u5fd7\u6587\u4ef6\u7684\u5b58\u653e\u76ee\u5f55 -->\n        &lt;property>\n                &lt;name>dfs.namenode.edits.dir&lt;\/name>\n                &lt;value>\/hadoop\/logs\/namenode&lt;\/value>\n        &lt;\/property>\n        &lt;!-- \u8bbe\u7f6e\u4e00\u4e2a\u6587\u4ef6\u5207\u7247\u7684\u5927\u5c0f\uff1a128M-->\n        &lt;property>\n                &lt;name>dfs.blocksize&lt;\/name>\n                &lt;value>134217728&lt;\/value>\n        &lt;\/property>\n&lt;\/configuration><\/code><\/pre>\n\n\n\n<h4>5.4.4\u4fee\u6539mapred-site.xml<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>vim mapred-site.xml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;property>\n  &lt;name>mapreduce.framework.name&lt;\/name>\n  &lt;value>yarn&lt;\/value>\n&lt;\/property>\n&lt;property>\n    &lt;name>mapred.job.tracker&lt;\/name>\n    &lt;value>hadoop-master:9001&lt;\/value>\n&lt;\/property>\n&lt;property>\n  &lt;name>mapreduce.jobtracker.http.address&lt;\/name>\n  &lt;value>hadoop-master:50030&lt;\/value>\n&lt;\/property>\n&lt;property>\n  &lt;name>mapreduce.jobhisotry.address&lt;\/name>\n  &lt;value>hadoop-master:10020&lt;\/value>\n&lt;\/property>\n&lt;property>\n  &lt;name>mapreduce.jobhistory.webapp.address&lt;\/name>\n  &lt;value>hadoop-master:8970&lt;\/value>\n&lt;\/property>\n&lt;property>\n  &lt;name>mapreduce.jobhistory.done-dir&lt;\/name>\n  &lt;value>\/jobhistory\/done&lt;\/value>\n&lt;\/property>\n&lt;property>\n  &lt;name>mapreduce.intermediate-done-dir&lt;\/name>\n  &lt;value>\/jobhisotry\/done_intermediate&lt;\/value>\n&lt;\/property>\n&lt;property>\n  &lt;name>mapreduce.job.ubertask.enable&lt;\/name>\n  &lt;value>true&lt;\/value>\n&lt;\/property><\/code><\/pre>\n\n\n\n<h4>5.4.5\u4fee\u6539yarn-site.xml<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>vim  yarn-site.xml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;configuration>\n    &lt;property>\n   &lt;name>yarn.resourcemanager.hostname&lt;\/name>\n   &lt;value>hadoop2&lt;\/value>\n &lt;\/property>\n &lt;property>\n   &lt;name>yarn.nodemanager.aux-services&lt;\/name>\n   &lt;value>mapreduce_shuffle&lt;\/value>\n &lt;\/property>\n &lt;property>\n   &lt;name>yarn.nodemanager.aux-services.mapreduce.shuffle.class&lt;\/name>\n   &lt;value>org.apache.hadoop.mapred.ShuffleHandler&lt;\/value>\n &lt;\/property>\n &lt;property>\n   &lt;name>yarn.resourcemanager.address&lt;\/name>\n   &lt;value>hadoop2:18040&lt;\/value>\n &lt;\/property>\n&lt;property>\n   &lt;name>yarn.resourcemanager.scheduler.address&lt;\/name>\n   &lt;value>hadoop2:18030&lt;\/value>\n &lt;\/property>\n &lt;property>\n   &lt;name>yarn.resourcemanager.resource-tracker.address&lt;\/name>\n   &lt;value>hadoop2:18025&lt;\/value>\n &lt;\/property> &lt;property>\n   &lt;name>yarn.resourcemanager.admin.address&lt;\/name>\n   &lt;value>hadoop2:18020&lt;\/value>\n &lt;\/property>\n&lt;property>\n   &lt;name>yarn.resourcemanager.webapp.address&lt;\/name>\n   &lt;value>hadoop2:18010&lt;\/value>\n &lt;\/property>\n&lt;property>\n   &lt;name>yarn.log-aggregation-enable&lt;\/name>\n   &lt;value>true&lt;\/value>\n &lt;\/property>\n&lt;property>\n   &lt;name>yarn.log-aggregation.retain-seconds&lt;\/name>\n   &lt;value>86400&lt;\/value>\n &lt;\/property>\n&lt;property>\n   &lt;name>yarn.log-aggregation.retain-check-interval-seconds&lt;\/name>\n   &lt;value>86400&lt;\/value>\n &lt;\/property>\n&lt;property>\n   &lt;name>yarn.nodemanager.remote-app-log-dir&lt;\/name>\n   &lt;value>\/hadoop\/logs\/remoteApiLogs&lt;\/value>\n &lt;\/property>\n&lt;property>\n   &lt;name>yarn.nodemanager.remote-app-log-dir-suffix&lt;\/name>\n   &lt;value>logs&lt;\/value>\n &lt;\/property>\n&lt;\/configuration><\/code><\/pre>\n\n\n\n<h3>5.5\u6253\u5305hadoop \u5411slaves\u5206\u53d1<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>tar -cvf hadoop-dis.tar hadoop hadoop-3.3.0<\/code><\/pre>\n\n\n\n<h3>5.6\u4f7f\u7528ansible-playbook\u5206\u53d1.bashrc\u548chadoop-dis.tar\u81f3slave\u4e3b\u673a<\/h3>\n\n\n\n<p>\u521b\u5efashell\u6587\u4ef6\u5199\u5165\u5982\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n- hosts: hadoop\n  tasks:\n    - name: copy .bashrc to slaves\n      copy: src=~\/.bashrc dest=~\/\n      notify:\n        - exec source\n    - name: copy profile to slaves\n      copy: src=\/etc\/profile dest=\/etc\/\n      notify:\n        - exec profile\n    - name: copy hadoop-dis.tar to slaves\n      unarchive: src=\/opt\/hadoop-dis.tar dest=\/opt\n\n  handlers:\n    - name: exec source\n      shell: source ~\/.bashrc\n    - name: exec profile\n      shell: source  \/etc\/profile<\/code><\/pre>\n\n\n\n<p>\u5c06\u4ee5\u4e0ayaml\u4fdd\u5b58\u4e3ahadoop-dis.yaml\uff09\u5e76\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ansible-playbook hadoop-dis.yaml<\/code><\/pre>\n\n\n\n<p>hadoop-dis.tar\u4f1a\u81ea\u52a8\u89e3\u538b\u5230slave\u4e3b\u673a\u7684\/opt\u76ee\u5f55\u4e0b\u3002<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222815970.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222815970.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<h3>5.7\u4e3a\u4e86\u65b9\u4fbf\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff0c\u56e0\u6b64 \u5199\u4e86\u4e00\u4e2a\u811a\u672c\uff0c\u6bcf\u6b21\u5728Hadoop-master\u4e0a\u66f4\u65b0\u4e86Hadoop\u7684etc\u7684\u914d\u7f6e\u6587\u4ef6\u540e\u5c31\u540c\u6b65\u5206\u53d1\u5230\u4ece\u673a\u4e0a<\/h3>\n\n\n\n<p>\u4f7f\u7528vim \u521b\u5efa\u4e00\u4e2a hadoop-dis-etcconfig.yaml\u6587\u4ef6\uff0c\u952e\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n- hosts: hadoop\n  tasks:\n    - name: copy Hadoop-3.3.3\u7684\u914d\u7f6e\u6587\u4ef6  to slaves\n      copy: src=\/opt\/hadoop-3.3.0\/etc\/hadoop dest=\/opt\/hadoop-3.3.0\/etc\/\n    - name: copy profile to slaves\n      copy: src=\/etc\/profile dest=\/etc\/\n      notify:\n       - exec source\n  handlers:\n    - name: exec source\n      shell: source  \/etc\/profile <\/code><\/pre>\n\n\n\n<p>\u5c06\u4ee5\u4e0ayaml\u4fdd\u5b58\u4e3ahadoop-dis-etcconfig.yaml\u5e76\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ansible-playbook hadoop-dis-etcconfig.yaml<\/code><\/pre>\n\n\n\n<h3>5.8\u4e3a\u4e86\u65b9\u4fbf\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff0c\u56e0\u6b64 \u5199\u4e86\u4e00\u4e2a\u811a\u672c\uff0c\u6bcf\u6b21\u5728Hadoop-master\u4e0a\u66f4\u65b0\u4e86~\/.bashrc\u7684\u914d\u7f6e\u6587\u4ef6\u540e\u5c31\u540c\u6b65\u5206\u53d1\u5230\u4ece\u673a\u4e0a<\/h3>\n\n\n\n<p>\u4f7f\u7528vim \u521b\u5efa\u4e00\u4e2ahodoop-dist-bashrc.yaml\u6587\u4ef6\uff0c\u952e\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n- hosts: hadoop\n  tasks:\n    - name: copy .bashrc to slaves\n      copy: src=~\/.bashrc dest=~\/\n      notify:\n        - exec source\n  handlers:\n    - name: exec source\n      shell: source ~\/.bashrc<\/code><\/pre>\n\n\n\n<p>\u5c06\u4ee5\u4e0ayaml\u4fdd\u5b58\u4e3ahodoop-dist-bashrc.yaml\u5e76\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ansible-playbook hodoop-dist-bashrc.yaml<\/code><\/pre>\n\n\n\n<h2>6.Hadoop \u542f\u52a8<\/h2>\n\n\n\n<h3>6.1\u683c\u5f0f\u5316namenode<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>hadoop namenode -format<\/code><\/pre>\n\n\n\n<p>\u5982\u679c\u770b\u5230storage format success\u7b49\u5b57\u6837\uff0c\u5373\u53ef\u683c\u5f0f\u5316\u6210\u529f<\/p>\n\n\n\n<h3>6.2\u51fa\u73b0\u201cAttempting to operate on hdfs namenode as root\u201d\u7684\u89e3\u51b3\u529e\u6cd5<\/h3>\n\n\n\n<p>1\u3001master\uff0cslave\u90fd\u9700\u8981\u4fee\u6539start-dfs.sh\uff0cstop-dfs.sh\uff0cstart-yarn.sh\uff0cstop-yarn.sh\u56db\u4e2a\u6587\u4ef6<br>2\u3001\u5982\u679c\u4f60\u7684Hadoop\u662f\u53e6\u5916\u542f\u7528\u5176\u5b83\u7528\u6237\u6765\u542f\u52a8\uff0c\u8bb0\u5f97\u5c06root\u6539\u4e3a\u5bf9\u5e94\u7528\u6237<\/p>\n\n\n\n<p>HDFS\u683c\u5f0f\u5316\u540e\u542f\u52a8dfs\u51fa\u73b0\u4ee5\u4e0b\u9519\u8bef\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@master sbin]# .\/start-dfs.sh\nStarting namenodes on &#91;master]\nERROR: Attempting to operate on hdfs namenode as root\nERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.\nStarting datanodes\nERROR: Attempting to operate on hdfs datanode as root\nERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.\nStarting secondary namenodes &#91;slave1]\nERROR: Attempting to operate on hdfs secondarynamenode as root\nERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.\n1234567891011<\/code><\/pre>\n\n\n\n<p>\u5728\/hadoop\/sbin\u8def\u5f84\u4e0b\uff1a<br>\u5c06start-dfs.sh\uff0cstop-dfs.sh\u4e24\u4e2a\u6587\u4ef6\u9876\u90e8\u6dfb\u52a0\u4ee5\u4e0b\u53c2\u6570<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/usr\/bin\/env bash\nHDFS_DATANODE_USER=root\nHADOOP_SECURE_DN_USER=hdfs\nHDFS_NAMENODE_USER=root\nHDFS_SECONDARYNAMENODE_USER=root<\/code><\/pre>\n\n\n\n<p>\u8fd8\u6709\uff0cstart-yarn.sh\uff0cstop-yarn.sh\u9876\u90e8\u4e5f\u9700\u6dfb\u52a0\u4ee5\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/usr\/bin\/env bash\nYARN_RESOURCEMANAGER_USER=root\nHADOOP_SECURE_DN_USER=yarn\nYARN_NODEMANAGER_USER=root<\/code><\/pre>\n\n\n\n<h3>6.3\u542f\u52a8\u96c6\u7fa4<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>cd $HADOOP_HOME\/sbin\nstart-dfs.sh\nstart-yarn.sh\n#\u6ce8\u610f\uff0cjobhistory\u9700\u8981\u7528Start historyServer\u547d\u4ee4\u8d77\u52a8\nmr-jobhistory-daemon.sh start historyserver<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6216\u8005\u4f7f\u7528 start-all.sh\n start-all.sh\n mr-jobhistory-daemon.sh start historyserver<\/code><\/pre>\n\n\n\n<p>\u542f\u52a8\u540e\u53ef\u4f7f\u7528jps\u547d\u4ee4\u67e5\u770b\u662f\u5426\u542f\u52a8\u6210\u529f<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222845236.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222845236.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<p>\u8bbf\u95ee\uff08\u5176\u4e2dhost\u662f\u4f60\u7684\u4e3b\u673aip\u5730\u5740\uff0c\u7aef\u53e3\u9700\u8981\u5728\u5b89\u5168\u89c4\u5219\u7ec4\u4e2d\u5f00\u653e\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;host:18010\nhttp:\/\/host:5581\nhttp:\/\/host:8970\nhttp:\/\/host:50090<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/202101082229047.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/202101082229047.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222917179.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222917179.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222924987.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222924987.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h2>7.\u6545\u969c\u89e3\u51b3File \/input.<em>COPYING<\/em> could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node(s) are excluded in this operation.<\/h2>\n\n\n\n<p>\u642d\u5efa\u597d\u5e73\u53f0\u540e\uff0c\u901a\u8fc7java\u4ee3\u7801\u6216\u4f7f\u7528hadoop fs -put\u5411hadoop\u4e2d\u4e0a\u4f20\u6587\u4ef6\u65f6\uff0c\u62a5\u4ee5\u4e0a\u9519\u8bef\u3002\u62a5\u9519\u4fe1\u606f\u5927\u6982\u7684\u610f\u601d\u662f\u8282\u70b9\u6ca1\u6709\u542f\u52a8\uff0c\u4f46\u662f\u4f7f\u7528jps\u53c8\u80fd\u67e5\u770b\u5230\u8282\u70b9\u4fe1\u606f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222938734.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222938734.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<p>\u4f7f\u7528hadoop dfsadmin -report\u547d\u4ee4\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u53d1\u73b0\u90fd\u662f\u7a7a\u7684\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108222952144.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108222952144.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<p>\u8fd9\u4e2a\u95ee\u9898\u4e00\u822c\u662f\u7531\u4e8e\u4f7f\u7528hadoop namenode -format \u683c\u5f0f\u5316\u591a\u6b21\uff0c\u5bfc\u81f4spaceID\u4e0d\u4e00\u81f4\u9020\u6210\u7684\uff0c\u89e3\u51b3\u65b9\u6cd5\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>1\u3001 \u505c\u6b62\u96c6\u7fa4\u6240\u6709\u7684\u670d\u52a1\u3002\u6307\u4ee4\u4e3a\uff1astop-all.sh<br>2\u3001\u5220\u9664hdfs\u4e2d\u914d\u7f6e\u7684data\u76ee\u5f55\u4e0b\u7684\u6240\u6709\u6587\u4ef6\uff08\u7ea7core-site.xml\u4e2d\u914d\u7f6e\u7684hadoop.tmp.dir\uff09\u3002\u6307\u4ee4\u4e3a\uff1arm -rf \/hadoop\/tmp\/*<br>3\u3001\u91cd\u65b0\u683c\u5f0f\u5316namenode\u3002\u6307\u4ee4\u4e3a\uff1ahadoop namenode -format<br>4\u3001\u91cd\u65b0\u542f\u52a8hadoop\u96c6\u7fa4\u3002\u6307\u4ee4\u4e3a\uff1astart-all.sh<\/p>\n\n\n\n<p>\u518d\u4f7f\u7528hadoop dfsadmin -report\u67e5\u770b\u65f6\uff0c\u663e\u793a\u5982\u4e0b\u4fe1\u606f\uff1a<\/p>\n\n\n\n<p>[<img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108223012257.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108223012257.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<p>\u5230\u6b64\uff0c\u4e00\u822c\u6765\u8bf4\u95ee\u9898\u5e94\u8be5\u5c31\u89e3\u51b3\u4e86\u3002\u4f46\u662f\uff0c\u5982\u679c\u8fd9\u6837\u8fd8\u6ca1\u6709\u89e3\u51b3\uff0c\u8fd9\u56de\u597d\u5c31\u8be5\u53bb\u67e5\u770b\u4e00\u4e0b\u65e5\u5fd7\uff0c\u67e5\u770b\u4e00\u4e0b\u91cc\u9762\u7684\u65e5\u5fd7\uff0c\u5982\u679c\u53d1\u73b0\u6709\u7aef\u53e3\u5360\u7528\u95ee\u9898\u6216\u8005ip\u7ed1\u5b9a\u95ee\u9898<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108223630994.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108223630994.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108223756853.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108223756853.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<p>\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<p>\uff081\uff09\u68c0\u67e5\u7f51\u7edc\u95ee\u9898\u3002<\/p>\n\n\n\n<p>\u3000\u3000\u6b64\u6b21\u95ee\u9898\u51fa\u73b0\u539f\u56e0\u662f\u7531\u4e8e\u672c\u4eba\u5207\u6362\u81f3\u516c\u53f8\u5916\u7f51\uff0c\u5bfc\u81f4\u7f51\u7edc\u8bf7\u6c42\u5931\u8d25\u3002<\/p>\n\n\n\n<p>\uff082\uff09\u68c0\u67e5\/etc\/hosts\u6587\u4ef6\u7684\u914d\u7f6e\u662f\u5426\u6709\u95ee\u9898\u3002<\/p>\n\n\n\n<p>\u3000\u3000\u5728hosts\u6587\u4ef6\u4e2d\u5220\u9664\u591a\u4f59\u7684IP\u4e0e\u4e3b\u673a\u540d\u7684\u5bf9\u5e94\u5173\u7cfb\uff0c\u4e4b\u540e\u5c31\u6210\u4e3a\u4e86\u5982\u4e0b\u7684\u6837\u5b50:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/2021010822395021.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/2021010822395021.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h2>8.\u5728Docker\u4e2d\u7684CentOS7.8\u4e2d\u8fdb\u884cHadoop-3.3.0\u6e90\u7801\u7f16\u8bd1<\/h2>\n\n\n\n<h3>8.1 \u524d\u671f\u51c6\u5907\u5de5\u4f5c<\/h3>\n\n\n\n<p>\u6ce8\u610f\uff1a\u91c7\u7528root\u89d2\u8272\u7f16\u8bd1\uff0c\u51cf\u5c11\u6587\u4ef6\u5939\u6743\u9650\u51fa\u73b0\u95ee\u9898<\/p>\n\n\n\n<ol start=\"2\"><li>jar\u5305\u51c6\u5907(hadoop-3.3.0-src.tar.gz \u6e90\u7801\u3001JDK8\u3001maven-3.6.3\u3001ant-1.9.15 \u3001protobuf-3.14.0)<\/li><\/ol>\n\n\n\n<p>\uff081\uff09hadoop-3.3.0-src.tar.gz<\/p>\n\n\n\n<p>\uff082\uff09jdk-8u144-linux-x64.tar.gz<\/p>\n\n\n\n<p>\uff083\uff09apache-ant-1.9.15-bin.tar.gz\uff08build\u5de5\u5177\uff0c\u6253\u5305\u7528\u7684\uff09<\/p>\n\n\n\n<p>\uff084\uff09apache-maven-3.6.3-bin.tar.gz<\/p>\n\n\n\n<p>\uff085\uff09protobuf-3.14.0.tar.gz\uff08\u5e8f\u5217\u5316\u7684\u6846\u67b6\uff09<\/p>\n\n\n\n<p>\u9996\u5148\u5c06\u8fd9\u4e9b\u6587\u4ef6\u4ece\u672c\u5730\u4e0a\u4f20\u5230\u670d\u52a1\u5668\u5bbf\u4e3b\u673a\uff0c\u7136\u540e\u4f7f\u7528 docker cp fileSrc \u5bb9\u5668\u540d\uff1adest \u547d\u4ee4\u5c06\u8fd9\u4e9b\u6587\u4ef6\u62f7\u8d1d\u5230\u5bb9\u5668\u4e2d\u3002\u6bd4\u5982\u8bf4\u5c06hadoop-3.3.0-src.tar.gz\u4ece\u5bbf\u4e3b\u673a\u7684 \/opt\u76ee\u5f55\u4e0b\u62f7\u8d1d\u5230hadoop-master\u5bb9\u5668\u7684\/opt\u76ee\u5f55\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker cp  \/opt\/hadoop-3.3.0-src.tar.gz   hadoop-master:\/opt<\/code><\/pre>\n\n\n\n<p>\u5176\u5b83\u6587\u4ef6\u7c7b\u4f3c\u64cd\u4f5c,\u5c06\u8fd9\u4e9b\u6587\u4ef6\u90fd\u62f7\u8d1d\u5230\u5bb9\u5668hadoop-master\u4e2d\u8fdb\u884c\u3002<\/p>\n\n\n\n<h2>8.2 java\u5305\u5b89\u88c5<\/h2>\n\n\n\n<p>\u6ce8\u610f\uff1a\u6240\u6709\u64cd\u4f5c\u5fc5\u987b\u5728root\u7528\u6237\u4e0b\u5b8c\u6210.<\/p>\n\n\n\n<p>\u9996\u5148\u8fdb\u5165hadoop-master\u5bb9\u5668\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it hadoop-master bash<\/code><\/pre>\n\n\n\n<p>\u7136\u540e\u5165\u5b58\u653e\u6587\u4ef6\u7684\u76ee\u5f55\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt<\/code><\/pre>\n\n\n\n<h4>8.2.1JDK\u89e3\u538b\u3001\u914d\u7f6e\u73af\u5883\u53d8\u91cf JAVA_HOME\u548cPATH<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt] # tar -zxf jdk-8u144-linux-x64.tar.gz -C \/opt<\/code><\/pre>\n\n\n\n<h4>8.2.2\u5c06jdk\u7684\u73af\u5883\u53d8\u91cf\u52a0\u5165\u5230profile\u4e2d\uff1a<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]# vi \/etc\/profile<\/code><\/pre>\n\n\n\n<p>#JAVA_HOME\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export JAVA_HOME=\/opt\/jdk1.8.0_144\nexport PATH=$PATH:$JAVA_HOME\/bin<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]#source \/etc\/profile<\/code><\/pre>\n\n\n\n<h4>8.2.3\u9a8c\u8bc1\u547d\u4ee4\uff1ajava -version<\/h4>\n\n\n\n<p>\u5982\u679c\u51fa\u73b0Java\u7684\u7248\u672c\u4fe1\u606f\u5219\u5b89\u88c5\u6210\u529f\u3002<\/p>\n\n\n\n<h3>8.3Maven\u89e3\u538b\u3001\u914d\u7f6e MAVEN_HOME\u548cPATH<\/h3>\n\n\n\n<h4>8.3.1\u89e3\u538b<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]# tar -zxvf apache-maven-3.6.3-bin.tar.gz -C \/opt<\/code><\/pre>\n\n\n\n<h4>8.3.2\u5728setting.xml\u4e2d\u914d\u7f6e\u963f\u91cc\u4e91\u955c\u50cf\u6e90\uff0c\u65b9\u4fbf\u4e0b\u8f7d\u4f9d\u8d56\u6587\u4ef6\uff1a<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master apache-maven-3.6.3]# vi conf\/settings.xml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;mirrors>\n    &lt;mirror>\n       &lt;id>nexus-aliyun&lt;\/id>\n        &lt;mirrorOf>central&lt;\/mirrorOf>\n       &lt;name>Nexus aliyun&lt;\/name>\n       &lt;url>http:\/\/maven.aliyun.com\/nexus\/content\/groups\/public&lt;\/url>\n    &lt;\/mirror>\n\n&lt;\/mirrors><\/code><\/pre>\n\n\n\n<h4>8.3.3\u914d\u7f6emaven\u7684\u6839\u8def\u5f84<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master apache-maven-3.6.3]# vi \/etc\/profile<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#MAVEN_HOME\nexport MAVEN_HOME=\/opt\/apache-maven-3.6.3\nexport PATH=$PATH:$MAVEN_HOME\/bin<\/code><\/pre>\n\n\n\n<p>\u66f4\u65b0profile\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]#source \/etc\/profile<\/code><\/pre>\n\n\n\n<p>\u9a8c\u8bc1\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn -version<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108224010517.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108224010517.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h3>8.4ant\u89e3\u538b\u3001\u914d\u7f6e ANT _HOME\u548cPATH<\/h3>\n\n\n\n<h4>8.4.1\u89e3\u538b<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]# tar -zxvf apache-ant-1.9.15-bin.tar.gz -C  \/opt<\/code><\/pre>\n\n\n\n<h4>8.4.2\u6dfb\u52a0\u6839\u8def\u5f84<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master apache-ant-1.9.15]# vi \/etc\/profile<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#ANT_HOME\nexport ANT_HOME=\/opt\/apache-ant-1.9.15\nexport PATH=$PATH:$ANT_HOME\/bin<\/code><\/pre>\n\n\n\n<h4>8.4.3\u66f4\u65b0profile\u6587\u4ef6<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]#source \/etc\/profile<\/code><\/pre>\n\n\n\n<h4>8.4.4\u9a8c\u8bc1<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>ant -version<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108224024583.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108224024583.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h3>8.5\u5b89\u88c5 glibc-headers \u548c g++ \u547d\u4ee4\u5982\u4e0b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master apache-ant-1.9.15]# yum install glibc-headers\n&#91;root@hadoop-master apache-ant-1.9.15]# yum install gcc-c++<\/code><\/pre>\n\n\n\n<h3>8.6\u5b89\u88c5make\u548ccmake<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master apache-ant-1.9.15]# yum install make\n&#91;root@hadoop-master apache-ant-1.9.15]# yum install cmake<\/code><\/pre>\n\n\n\n<h3>8.7\u5b89\u88c5<\/h3>\n\n\n\n<h4>8.7.1\u89e3\u538bprotobuf \uff0c\u8fdb\u5165\u5230\u89e3\u538b\u540eprotobuf\u4e3b\u76ee\u5f55\uff0c\/opt\/protobuf-3.14.0\uff0c\u7136\u540e\u76f8\u7ee7\u6267\u884c\u547d\u4ee4<\/h4>\n\n\n\n<p>[root@hadoop-master opt]# tar -zxvf protobuf-3.14.0.tar.gz -C \/opt<\/p>\n\n\n\n<p>[root@hadoop-master opt]# cd \/opt\/protobuf-3.14.0\/<\/p>\n\n\n\n<p>[root@hadoop-master protobuf-3.14.0]# .\/configure<\/p>\n\n\n\n<p>[root@hadoop-master protobuf-3.14.0]# make<\/p>\n\n\n\n<p>[root@hadoop-master protobuf-3.14.0]# make check<\/p>\n\n\n\n<p>[root@hadoop-master protobuf-3.14.0]# make install<\/p>\n\n\n\n<p>[root@hadoop-master protobuf-3.14.0]# ldconfig<\/p>\n\n\n\n<h4>8.7.2\u6dfb\u52a0\u6839\u8def\u5f84<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master protobuf-3.14.0]# vi \/etc\/profile<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#LD_LIBRARY_PATH\nexport LD_LIBRARY_PATH=\/opt\/protobuf-3.14.0\nexport PATH=$PATH:$LD_LIBRARY_PATH<\/code><\/pre>\n\n\n\n<p>\u66f4\u65b0profile\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]#source  \/etc\/profile<\/code><\/pre>\n\n\n\n<p>\u9a8c\u8bc1\u547d\u4ee4\uff1aprotoc --version<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108224053506.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108224053506.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<h3>8.8\u5b89\u88c5openssl\u5e93<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]#yum install openssl-devel<\/code><\/pre>\n\n\n\n<h3>8.9\u5b89\u88c5 ncurses-devel\u5e93<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master opt]#yum install ncurses-devel<\/code><\/pre>\n\n\n\n<p>\u5230\u6b64\uff0c\u7f16\u8bd1\u5de5\u5177\u5b89\u88c5\u57fa\u672c\u5b8c\u6210\u3002<\/p>\n\n\n\n<h2>8.10 \u7f16\u8bd1\u6e90\u7801<\/h2>\n\n\n\n<h4>8.10.1\u89e3\u538b\u6e90\u7801\u5230\/opt\/\u76ee\u5f55<\/h4>\n\n\n\n<p>[root@hadoop-master opt]# tar -zxvf hadoop-3.3.0-src.tar.gz -C \/opt\/<\/p>\n\n\n\n<h4>8.10.2. \u8fdb\u5165\u5230hadoop\u6e90\u7801\u4e3b\u76ee\u5f55<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-masterhadoop-3.3.0-src]#dir<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108224112451.png\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108224112451.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h4>8.10.3. \u901a\u8fc7maven\u6267\u884c\u7f16\u8bd1\u547d\u4ee4<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master hadoop-3.3.0-src]#mvn package -Pdist,native -DskipTests -Dtar<\/code><\/pre>\n\n\n\n<p>\u7b49\u5f85\u65f6\u95f430\u5206\u949f\u5de6\u53f3\uff0c\u6700\u7ec8\u6210\u529f\u662f\u5168\u90e8SUCCESS\uff0c\u5982\u56fe2-42\u6240\u793a\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20210108224127949.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20210108224127949.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"\/><\/figure><\/noscript>\n\n\n\n<h3>8.11\u6210\u529f\u768464\u4f4dhadoop\u5305\u5728\/opt\/hadoop-3.3.0-src\/hadoop-dist\/target\u4e0b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@hadoop-master target]# <\/code><\/pre>\n\n\n\n<p>\u53c2\u8003\u6587\u732e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.cnblogs.com\/coolwxb\/p\/10975352.html\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Docker\u73af\u5883\u4e0b\u4f7f\u7528CentOS7.8\u914d\u7f6eHadoop3.3.0\u5b8c\u5168\u5206\u5e03\u5f0f\u96c6\u7fa4\u73af\u5883 1.\u9996\u5148\u62c9\u53d6CentOS7.8\u955c\u50cf\uff08\u7b14\u8005\u4e4b\u524d &#8230;<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[29],"tags":[184,181,182,183],"_links":{"self":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts\/448"}],"collection":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/comments?post=448"}],"version-history":[{"count":1,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts\/448\/revisions"}],"predecessor-version":[{"id":449,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts\/448\/revisions\/449"}],"wp:attachment":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/media?parent=448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/categories?post=448"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/tags?post=448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}