<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hadoop on 蛋蛋忧桑</title><link>https://dandansad.com/tags/hadoop/</link><description>Recent content in Hadoop on 蛋蛋忧桑</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Thu, 29 May 2025 14:42:14 +0800</lastBuildDate><atom:link href="https://dandansad.com/tags/hadoop/index.xml" rel="self" type="application/rss+xml"/><item><title>Hadoop配置——两个节点（master和slave1）</title><link>https://dandansad.com/2025/05/29/hadoop%E9%85%8D%E7%BD%AE-%E4%B8%A4%E4%B8%AA%E8%8A%82%E7%82%B9master%E5%92%8Cslave1/</link><pubDate>Thu, 29 May 2025 14:42:14 +0800</pubDate><guid>https://dandansad.com/2025/05/29/hadoop%E9%85%8D%E7%BD%AE-%E4%B8%A4%E4%B8%AA%E8%8A%82%E7%82%B9master%E5%92%8Cslave1/</guid><description>&lt;h2 id="配置要求"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae%e8%a6%81%e6%b1%82" class="header-anchor"&gt;&lt;/a&gt;配置要求
&lt;/h2&gt;&lt;p&gt;目标是配置一个基本的 Hadoop 分布式集群：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;一台主节点：&lt;code&gt;master&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一台从节点：&lt;code&gt;slave1&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;支持：HDFS + YARN&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java 已配置&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hadoop 已安装成功，路径在 &lt;code&gt;/opt/hadoop&lt;/code&gt;（你可替换为实际路径）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;使用 &lt;code&gt;hadoop version&lt;/code&gt; 命令测试&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;注：前置参考资料在文末，建议先按照前置参考资料进行安装配置到 &lt;code&gt;hadoop version&lt;/code&gt; 命令成功执行步骤，再继续参照本文章。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="修改hostshostname"&gt;&lt;a href="#%e4%bf%ae%e6%94%b9hostshostname" class="header-anchor"&gt;&lt;/a&gt;修改hosts、hostname
&lt;/h2&gt;&lt;p&gt;hosts: /etc/hosts
集群所有主机IP地址与对应主机名
格式：IP（空）主机名&lt;/p&gt;
&lt;p&gt;hostname: /etc/hostname
主节点命名为master，子节点命名为slave1
把主机名直接写入此文件（只能保留一个名字），定义本机的主机名（可能需要重启生效）
使用 &lt;code&gt;sudo hostnamectl set-hostname 新主机名&lt;/code&gt; 设置（即时生效）
使用 &lt;code&gt;hostname&lt;/code&gt; 命令查看当前主机名&lt;/p&gt;
&lt;h2 id="ssh-配置免密"&gt;&lt;a href="#ssh-%e9%85%8d%e7%bd%ae%e5%85%8d%e5%af%86" class="header-anchor"&gt;&lt;/a&gt;SSH 配置免密
&lt;/h2&gt;&lt;h4 id="1-生成-ssh-密钥对如果尚未生成"&gt;&lt;a href="#1-%e7%94%9f%e6%88%90-ssh-%e5%af%86%e9%92%a5%e5%af%b9%e5%a6%82%e6%9e%9c%e5%b0%9a%e6%9c%aa%e7%94%9f%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;1. 生成 SSH 密钥对&lt;/strong&gt;（如果尚未生成）
&lt;/h4&gt;&lt;p&gt;在每台机器上执行：&lt;code&gt;ssh-keygen -t rsa&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;一路回车即可（不要设置密码短语）。&lt;/p&gt;
&lt;h4 id="2-将自己的公钥添加到目标机器的-authorized_"&gt;&lt;a href="#2-%e5%b0%86%e8%87%aa%e5%b7%b1%e7%9a%84%e5%85%ac%e9%92%a5%e6%b7%bb%e5%8a%a0%e5%88%b0%e7%9b%ae%e6%a0%87%e6%9c%ba%e5%99%a8%e7%9a%84-authorized_" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;2. 将自己的公钥添加到目标机器的 authorized_keys 中&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;master&lt;/code&gt; 上执行以下命令，把自己的公钥发给 &lt;code&gt;slave1&lt;/code&gt; ：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-copy-id root@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-copy-id root@slave1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同理，在 &lt;code&gt;slave1&lt;/code&gt; 上执行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-copy-id root@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-copy-id root@master
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;从每台机器尝试 ssh 到其他机器（包括自己）进行验证：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh root@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh root@master
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh root@slave1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="配置hadoop的配置文件"&gt;&lt;a href="#%e9%85%8d%e7%bd%aehadoop%e7%9a%84%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;配置Hadoop的配置文件
&lt;/h2&gt;&lt;h3 id="1-core-sitexml"&gt;&lt;a href="#1-core-sitexml" class="header-anchor"&gt;&lt;/a&gt;1. core-site.xml
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hadoop.tmp.dir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file:/opt/hadoop/tmp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; location to store temporary files
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fs.defaultFS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hdfs://master:9000
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-hdfs-sitexml"&gt;&lt;a href="#2-hdfs-sitexml" class="header-anchor"&gt;&lt;/a&gt;2. hdfs-site.xml
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dfs.replication
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dfs.namenode.name.dir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file:/opt/hadoop/tmp/dfs/name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dfs.datanode.data.dir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file:/opt/hadoop/tmp/dfs/data
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-mapred-sitexml"&gt;&lt;a href="#3-mapred-sitexml" class="header-anchor"&gt;&lt;/a&gt;3. mapred-site.xml
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mapreduce.framework.name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; yarn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; yarn.app.mapreduce.am.env
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; HADOOP_MAPRED_HOME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/hadoop
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mapreduce.map.env
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; HADOOP_MAPRED_HOME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/hadoop
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mapreduce.reduce.env
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; HADOOP_MAPRED_HOME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/hadoop
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-yarn-sitexml"&gt;&lt;a href="#4-yarn-sitexml" class="header-anchor"&gt;&lt;/a&gt;4. yarn-site.xml
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; yarn.resourcemanager.hostname
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; master
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; yarn.nodemanager.aux-services
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mapreduce_shuffle
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="5-workers以前叫-slaves"&gt;&lt;a href="#5-workers%e4%bb%a5%e5%89%8d%e5%8f%ab-slaves" class="header-anchor"&gt;&lt;/a&gt;5. workers（以前叫 slaves）
&lt;/h3&gt;&lt;p&gt;列出所有的从节点（一个 hostname 一行）。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;slave1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="复制配置文件"&gt;&lt;a href="#%e5%a4%8d%e5%88%b6%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;复制配置文件
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;scp -r /opt/hadoop/etc/hadoop/ root@slave1:/opt/hadoop/etc/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="启动-hadoop"&gt;&lt;a href="#%e5%90%af%e5%8a%a8-hadoop" class="header-anchor"&gt;&lt;/a&gt;启动 Hadoop
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs namenode -format
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;start-dfs.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;start-yarn.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="验证是否成功"&gt;&lt;a href="#%e9%aa%8c%e8%af%81%e6%98%af%e5%90%a6%e6%88%90%e5%8a%9f" class="header-anchor"&gt;&lt;/a&gt;验证是否成功
&lt;/h2&gt;&lt;p&gt;在 master 和 slave1 分别运行：&lt;code&gt;jps &lt;/code&gt;你应该看到：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;master&lt;/strong&gt; 节点有：&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;NameNode&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SecondaryNameNode&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;ResourceManager&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;slave1&lt;/strong&gt; 节点有：&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;DataNode&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NodeManager&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="../../images/2025/05/image-5.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="../../images/2025/05/image-6.png"&gt;&lt;/p&gt;
&lt;p&gt;然后运行以下命令进行测试，检查是否有问题：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -ls /
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -mkdir /testdir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -ls /
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;Hello Hadoop&amp;#34;&lt;/span&gt; &amp;gt; hello.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -put hello.txt /testdir/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -ls /testdir/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -cat /testdir/hello.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -get /testdir/hello.txt ./hello_from_hdfs.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -rm /testdir/hello.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfs -rmdir /testdir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hdfs dfsadmin -report
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;如果出现问题请先检查防火墙是否开放相应端口。&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 开放端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; p in &lt;span style="color:#ae81ff"&gt;9000&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;9870&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;50010..50020&lt;span style="color:#f92672"&gt;}&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;50075&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8088&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8042&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;9864&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;9866&lt;/span&gt; 9867; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt; firewall-cmd --permanent --add-port&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;p&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;/tcp; &lt;span style="color:#66d9ef"&gt;done&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; firewall-cmd --reload
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 关闭端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; p in &lt;span style="color:#ae81ff"&gt;9000&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;9870&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;50010..50020&lt;span style="color:#f92672"&gt;}&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;50075&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8088&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8042&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;9864&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;9866&lt;/span&gt; 9867; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt; firewall-cmd --permanent --remove-port&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;p&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;/tcp; &lt;span style="color:#66d9ef"&gt;done&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; firewall-cmd --reload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意：经过后期实践，发现以上端口没有涵盖Hadoop的所有所需开放端口，最方便的解决方法是暂时关闭防火墙。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="前置参考资料"&gt;&lt;a href="#%e5%89%8d%e7%bd%ae%e5%8f%82%e8%80%83%e8%b5%84%e6%96%99" class="header-anchor"&gt;&lt;/a&gt;前置参考资料
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://dandansad.com/2025/05/22/%e5%ae%89%e8%a3%85hadoop/" target="_blank" rel="noopener"
 &gt;https://dandansad.com/2025/05/22/%e5%ae%89%e8%a3%85hadoop/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>安装Hadoop</title><link>https://dandansad.com/2025/05/22/%E5%AE%89%E8%A3%85hadoop/</link><pubDate>Thu, 22 May 2025 14:40:19 +0800</pubDate><guid>https://dandansad.com/2025/05/22/%E5%AE%89%E8%A3%85hadoop/</guid><description>&lt;p&gt;&lt;strong&gt;注意：Hadoop（尤其是 3.x 及以下版本）不兼容 Java 9+ 的模块系统，如果之前安装了 Java 的更高版本，则需要重新安装更低版本进行配置。&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id="安装jdk"&gt;&lt;a href="#%e5%ae%89%e8%a3%85jdk" class="header-anchor"&gt;&lt;/a&gt;安装JDK
&lt;/h1&gt;&lt;h2 id="1下载jdk18安装包"&gt;&lt;a href="#1%e4%b8%8b%e8%bd%bdjdk18%e5%ae%89%e8%a3%85%e5%8c%85" class="header-anchor"&gt;&lt;/a&gt;1.下载JDK1.8安装包
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget --no-check-certificate https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2解压下载的jdk18安装包"&gt;&lt;a href="#2%e8%a7%a3%e5%8e%8b%e4%b8%8b%e8%bd%bd%e7%9a%84jdk18%e5%ae%89%e8%a3%85%e5%8c%85" class="header-anchor"&gt;&lt;/a&gt;2.解压下载的JDK1.8安装包
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -zxvf jdk-8u151-linux-x64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3移动并重命名jdk包"&gt;&lt;a href="#3%e7%a7%bb%e5%8a%a8%e5%b9%b6%e9%87%8d%e5%91%bd%e5%90%8djdk%e5%8c%85" class="header-anchor"&gt;&lt;/a&gt;3.移动并重命名JDK包
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mv jdk1.8.0_151/ /usr/java8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="4配置java环境变量如果说不想修改原有使用的java版本可以跳过"&gt;&lt;a href="#4%e9%85%8d%e7%bd%aejava%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e5%a6%82%e6%9e%9c%e8%af%b4%e4%b8%8d%e6%83%b3%e4%bf%ae%e6%94%b9%e5%8e%9f%e6%9c%89%e4%bd%bf%e7%94%a8%e7%9a%84java%e7%89%88%e6%9c%ac%e5%8f%af%e4%bb%a5%e8%b7%b3%e8%bf%87" class="header-anchor"&gt;&lt;/a&gt;4.配置Java环境变量（如果说不想修改原有使用的Java版本，可以跳过）
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export JAVA_HOME=/usr/java8&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export PATH=$PATH:$JAVA_HOME/bin&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="5查看java是否成功安装"&gt;&lt;a href="#5%e6%9f%a5%e7%9c%8bjava%e6%98%af%e5%90%a6%e6%88%90%e5%8a%9f%e5%ae%89%e8%a3%85" class="header-anchor"&gt;&lt;/a&gt;5.查看Java是否成功安装
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;java -version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="安装hadoop"&gt;&lt;a href="#%e5%ae%89%e8%a3%85hadoop" class="header-anchor"&gt;&lt;/a&gt;安装Hadoop
&lt;/h1&gt;&lt;h2 id="1下载hadoop安装包"&gt;&lt;a href="#1%e4%b8%8b%e8%bd%bdhadoop%e5%ae%89%e8%a3%85%e5%8c%85" class="header-anchor"&gt;&lt;/a&gt;1.下载Hadoop安装包
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget --no-check-certificate https://repo.huaweicloud.com/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2解压hadoop安装包至opthadoop"&gt;&lt;a href="#2%e8%a7%a3%e5%8e%8bhadoop%e5%ae%89%e8%a3%85%e5%8c%85%e8%87%b3opthadoop" class="header-anchor"&gt;&lt;/a&gt;2.解压Hadoop安装包至/opt/hadoop
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -zxvf hadoop-3.1.3.tar.gz -C /opt/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mv /opt/hadoop-3.1.3 /opt/hadoop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3配置hadoop环境变量"&gt;&lt;a href="#3%e9%85%8d%e7%bd%aehadoop%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f" class="header-anchor"&gt;&lt;/a&gt;3.配置Hadoop环境变量
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export HADOOP_HOME=/opt/hadoop/&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export PATH=$PATH:$HADOOP_HOME/bin&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;export PATH=$PATH:$HADOOP_HOME/sbin&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="4修改配置文件yarn-envsh和hadoop-envsh"&gt;&lt;a href="#4%e4%bf%ae%e6%94%b9%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6yarn-envsh%e5%92%8chadoop-envsh" class="header-anchor"&gt;&lt;/a&gt;4.修改配置文件yarn-env.sh和hadoop-env.sh
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;export JAVA_HOME=/usr/java8&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /opt/hadoop/etc/hadoop/yarn-env.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;export JAVA_HOME=/usr/java8&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /opt/hadoop/etc/hadoop/hadoop-env.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="5测试hadoop是否安装成功"&gt;&lt;a href="#5%e6%b5%8b%e8%af%95hadoop%e6%98%af%e5%90%a6%e5%ae%89%e8%a3%85%e6%88%90%e5%8a%9f" class="header-anchor"&gt;&lt;/a&gt;5.测试Hadoop是否安装成功
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hadoop version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="配置hadoop"&gt;&lt;a href="#%e9%85%8d%e7%bd%aehadoop" class="header-anchor"&gt;&lt;/a&gt;配置Hadoop
&lt;/h1&gt;&lt;h2 id="1修改hadoop配置文件-core-sitexml"&gt;&lt;a href="#1%e4%bf%ae%e6%94%b9hadoop%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6-core-sitexml" class="header-anchor"&gt;&lt;/a&gt;1.修改Hadoop配置文件 core-site.xml
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;a. 执行以下命令开始进入编辑页面。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /opt/hadoop/etc/hadoop/core-site.xml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;b. 输入i进入编辑模式。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;c. 在节点内插入如下内容。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hadoop.tmp.dir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file:/opt/hadoop/tmp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; location to store temporary files
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; fs.defaultFS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hdfs://localhost:9000
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;d. 按Esc键退出编辑模式，输入:wq保存退出。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2修改hadoop配置文件-hdfs-sitexml"&gt;&lt;a href="#2%e4%bf%ae%e6%94%b9hadoop%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6-hdfs-sitexml" class="header-anchor"&gt;&lt;/a&gt;2.修改Hadoop配置文件 hdfs-site.xml
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;a. 执行以下命令开始进入编辑页面。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /opt/hadoop/etc/hadoop/hdfs-site.xml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;b. 输入i进入编辑模式。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;c. 在节点内插入如下内容。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dfs.replication
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dfs.namenode.name.dir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file:/opt/hadoop/tmp/dfs/name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dfs.datanode.data.dir
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file:/opt/hadoop/tmp/dfs/data
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;d. 按Esc键退出编辑模式，输入:wq保存退出。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="配置ssh免密登录"&gt;&lt;a href="#%e9%85%8d%e7%bd%aessh%e5%85%8d%e5%af%86%e7%99%bb%e5%bd%95" class="header-anchor"&gt;&lt;/a&gt;配置SSH免密登录
&lt;/h1&gt;&lt;h2 id="1执行以下命令创建公钥和私钥"&gt;&lt;a href="#1%e6%89%a7%e8%a1%8c%e4%bb%a5%e4%b8%8b%e5%91%bd%e4%bb%a4%e5%88%9b%e5%bb%ba%e5%85%ac%e9%92%a5%e5%92%8c%e7%a7%81%e9%92%a5" class="header-anchor"&gt;&lt;/a&gt;1.执行以下命令，创建公钥和私钥
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-keygen -t rsa
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2执行以下命令将公钥添加到authorized_keys文件中"&gt;&lt;a href="#2%e6%89%a7%e8%a1%8c%e4%bb%a5%e4%b8%8b%e5%91%bd%e4%bb%a4%e5%b0%86%e5%85%ac%e9%92%a5%e6%b7%bb%e5%8a%a0%e5%88%b0authorized_keys%e6%96%87%e4%bb%b6%e4%b8%ad" class="header-anchor"&gt;&lt;/a&gt;2.执行以下命令，将公钥添加到authorized_keys文件中
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd ~
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd .ssh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat id_rsa.pub &amp;gt;&amp;gt; authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;输入如下命令，在环境变量中添加下面的配置
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;然后向里面加入如下的内容
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export HDFS_NAMENODE_USER&lt;span style="color:#f92672"&gt;=&lt;/span&gt;root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export HDFS_DATANODE_USER&lt;span style="color:#f92672"&gt;=&lt;/span&gt;root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export HDFS_SECONDARYNAMENODE_USER&lt;span style="color:#f92672"&gt;=&lt;/span&gt;root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export YARN_RESOURCEMANAGER_USER&lt;span style="color:#f92672"&gt;=&lt;/span&gt;root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export YARN_NODEMANAGER_USER&lt;span style="color:#f92672"&gt;=&lt;/span&gt;root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;输入如下命令使改动生效
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source /etc/profile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="启动hadoop"&gt;&lt;a href="#%e5%90%af%e5%8a%a8hadoop" class="header-anchor"&gt;&lt;/a&gt;启动Hadoop
&lt;/h1&gt;&lt;h2 id="1执行以下命令初始化namenode"&gt;&lt;a href="#1%e6%89%a7%e8%a1%8c%e4%bb%a5%e4%b8%8b%e5%91%bd%e4%bb%a4%e5%88%9d%e5%a7%8b%e5%8c%96namenode" class="header-anchor"&gt;&lt;/a&gt;1.执行以下命令，初始化namenode
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hadoop namenode -format
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2依次执行以下命令启动hadoop"&gt;&lt;a href="#2%e4%be%9d%e6%ac%a1%e6%89%a7%e8%a1%8c%e4%bb%a5%e4%b8%8b%e5%91%bd%e4%bb%a4%e5%90%af%e5%8a%a8hadoop" class="header-anchor"&gt;&lt;/a&gt;2.依次执行以下命令，启动Hadoop
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;start-dfs.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;start-yarn.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3启动成功后执行以下命令查看已成功启动的进程"&gt;&lt;a href="#3%e5%90%af%e5%8a%a8%e6%88%90%e5%8a%9f%e5%90%8e%e6%89%a7%e8%a1%8c%e4%bb%a5%e4%b8%8b%e5%91%bd%e4%bb%a4%e6%9f%a5%e7%9c%8b%e5%b7%b2%e6%88%90%e5%8a%9f%e5%90%af%e5%8a%a8%e7%9a%84%e8%bf%9b%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;3.启动成功后，执行以下命令，查看已成功启动的进程
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;jps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="../../images/2025/05/image-2.png"&gt;&lt;/p&gt;
&lt;h2 id="4打开浏览器访问如下地址显示如下界面则表示hadoop伪分布式环境搭建完成"&gt;&lt;a href="#4%e6%89%93%e5%bc%80%e6%b5%8f%e8%a7%88%e5%99%a8%e8%ae%bf%e9%97%ae%e5%a6%82%e4%b8%8b%e5%9c%b0%e5%9d%80%e6%98%be%e7%a4%ba%e5%a6%82%e4%b8%8b%e7%95%8c%e9%9d%a2%e5%88%99%e8%a1%a8%e7%a4%bahadoop%e4%bc%aa%e5%88%86%e5%b8%83%e5%bc%8f%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%ba%e5%ae%8c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;4.打开浏览器访问如下地址，显示如下界面则表示Hadoop伪分布式环境搭建完成
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Hadoop 版本&lt;/th&gt;
					&lt;th&gt;NameNode Web UI 默认端口&lt;/th&gt;
					&lt;th&gt;ResourceManager Web UI 默认端口&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Hadoop 2.x&lt;/td&gt;
					&lt;td&gt;50070&lt;/td&gt;
					&lt;td&gt;8088&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hadoop 3.x 及以上&lt;/td&gt;
					&lt;td&gt;9870&lt;/td&gt;
					&lt;td&gt;8088&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="../../images/2025/05/image-3-1024x496.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="../../images/2025/05/image-4-1024x496.png"&gt;&lt;/p&gt;
&lt;h1 id="参考资料"&gt;&lt;a href="#%e5%8f%82%e8%80%83%e8%b5%84%e6%96%99" class="header-anchor"&gt;&lt;/a&gt;参考资料
&lt;/h1&gt;&lt;p&gt;&lt;a class="link" href="https://developer.aliyun.com/article/1509751" target="_blank" rel="noopener"
 &gt;Linux（阿里云）安装Hadoop(详细教程+避坑)-阿里云开发者社区&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>