中国联不通 發表於 2021-9-1 11:25:03

Linux下的如何快速安装Hadoop

<p style="text-align: left;">大家都对大数据感兴趣,但是大家都没有想去如何实践到地方,如何落实去学习Hadoop,我们学习任何一门技术的时候,都不用想,上来肯定是去安装,然后去实践,不得不说,现在你去网上搜索,如何安装Hadoop,那很多出来的都是从Unbutu 系统下如何安装,很多也都讲解的不是很清楚,阿粉也比较想学习,所以就准备了如何安装 Hadoop 的 Linux的教程,大家上手就能学习。阿粉就开始给大家写一个安装 Hadoop 的教程。</p>
<h3>准备工作</h3>
<p>1.我们首先可以去阿里云或者华为云去租用一台服务器,毕竟一个初级版本的服务器,也没有那么贵,阿粉还是用的之前租用的那台,我们选择安装 Linux8的版本,如果是本机的话,你需要下载 CentOS8 的镜像,然后通过虚拟机安装到 VM 上就可以了,安装完成我们就可以开始安装 Hadoop 了</p>
<p>我们先说说 Hadoop 都能干啥,以及人们经常对 Hadoop 误解。</p>
<p>Hadoop主要是分布式计算和存储的框架,所以Hadoop工作过程主要依赖于HDFS(Hadoop Distributed FileSystem)分布式存储系统和Mapreduce分布式计算框架。</p>
<p>但是很多人就会对 Hadoop 产生一个误解,有些非常捧 Hadoop 的人就会说,Hadoop什么东西都可以做,实际上不是的,每一项技术的出现,都是对应着解决不同的问题的,比如我们接下来要学习的 Hadoop 。Hadoop适合来做数据分析,但是绝对不是BI ,传统 BI 是属于数据展现层(DataPresentation),Hadoop就是专注在半结构化、非结构化数据的数据载体,跟BI是不同层次的概念。</p>
<p>还有人说 Hadoop 就是 ETL ,就相当于数据处理,但是,Hadoop 并不是一个绝对意义上的 ETL 。</p>
<h3>安装 Hadoop 教程</h3>
<p><strong>1.安装SSH</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
yum install openssh-server </pre>
</div>
<p>OpenSSH是Secure Shell的一个开源实现,OpenSSHServer安装完成后在/etc/init.d目录下应该会增加一个名为sshd的服务,一会我们就要把生成的密钥放到指定位置,然后用来当作之后的身份验证。</p>
<p><strong>2.安装 rsync</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
yum -y install rsync </pre>
</div>
<p><strong>3.产生 SSH 密钥之后继续进行后续的身份验证</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa </pre>
</div>
<p><strong>4.把产生的密钥放入许可文件中</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
cat ~/.ssh/id_dsa.pub &gt;&gt; ~/.ssh/authorized_keys</pre>
</div>
<h3>安装Hadoop</h3>
<p>安装 Hadoop 之前我们要先把 JDK 安装好,配置好环境变量,出现下面这个样子,就说明 JDK 已经安装完成了。</p>
<p style="text-align: center;"><a href="https://img.jbzj.com/file_images/article/202109/2021090111054988.jpg" target="_blank"><img src="https://img.jbzj.com/file_images/article/202109/2021090111054988.jpg" width="auto" border="0" height="auto" alt="" title="" /></a></p>
<p><strong>1.解压Hadoop</strong></p>
<p>我们先要把 Hadoop 放到我们的服务器上,就像阿粉这个样子,</p>
<p style="text-align: center;"><a href="https://img.jbzj.com/file_images/article/202109/2021090111055089.jpg" target="_blank"><img src="https://img.jbzj.com/file_images/article/202109/2021090111055089.jpg" width="auto" border="0" height="auto" alt="" title="" /></a></p>
<p>然后解压 tar zxvf hadoop-3.3.1.tar.gz</p>
<p><strong>2.修改bashrc文件</strong></p>
<p>vim ~/.bashrc</p>
<div class="jb51code">
<pre class="brush:xhtml;">
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=&quot;-DJava.library.path=$HADOOP_HOME/lib&quot;
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH</pre>
</div>
<p>复制到文件中保存退出</p>
<p><strong>3.生效文件</strong></p>
<p>source ~/.bashrc</p>
<p><strong>4.修改配置文件 etc/hadoop/core-site.xml</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
&lt;property&gt;
      &lt;name&gt;fs.defaultFS&lt;/name&gt;
      &lt;value&gt;hdfs://localhost:9000&lt;/value&gt;
    &lt;/property&gt;
&lt;!-- 缓存存储路径 --&gt;
&lt;property&gt;
      &lt;name&gt;hadoop.tmp.dir&lt;/name&gt;
      &lt;value&gt;/app/hadooptemp&lt;/value&gt;
    &lt;/property&gt;</pre>
</div>
<p>&nbsp;<strong>5.修改 etc/hadoop/hdfs-site.xml</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
&lt;!-- 默认为3,由于是单机,所以配置1 --&gt;
&lt;property&gt;
      &lt;name&gt;dfs.replication&lt;/name&gt;
      &lt;value&gt;1&lt;/value&gt;
    &lt;/property&gt;
&lt;!-- 配置http访问地址 --&gt;
&lt;property&gt;
   &lt;name&gt;dfs.http.address&lt;/name&gt;
   &lt;value&gt;0.0.0.0:9870&lt;/value&gt;
&lt;/property&gt;</pre>
</div>
<p><strong>6.修改 etc/hadoop/hadoop-env.sh</strong></p>
<p>&nbsp;</p>
<pre class="brush:xhtml;">
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64 </pre>
<p>&nbsp;</p>
<p><strong>7.修改etc/hadoop/yarn-env.sh文件</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64 </pre>
</div>
<p><strong>8.修改sbin/stop-dfs.sh文件,在顶部增加</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
HDFS_NAMENODE_USER=root

HDFS_DATANODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

YARN_RESOURCEMANAGER_USER=root

YARN_NODEMANAGER_USER=root</pre>
</div>
<p><strong>9-1.修改start-yarn.sh 文件</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root</pre>
</div>
<p><strong>9-2.修改stop-yarn.sh文件</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root</pre>
</div>
<p>上面的这些命令主要是用于当你启动 Hadoop 的时候,会提示认证不通过。</p>
<p><strong>10.格式化,进入hadoop的bin文件夹,执行下面的命令</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
./hdfs namenode -format</pre>
</div>
<p><strong>11.进入sbin文件夹,启动hadoop</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
./start-dfs.sh </pre>
</div>
<p>也可以直接全部启动 ./start-all.sh</p>
<p>然后直接访问8088端口即可</p>
<p><strong>12.防火墙开启端口,如果用的云服务器,请将9870端口加入安全组出入口</strong></p>
<div class="jb51code">
<pre class="brush:xhtml;">
//添加9870端口到防火墙 firewall-cmd --zone=public --add-port=9870/tcp --permanent //重启防火墙 firewall-cmd --reload </pre>
</div>
<p><strong>13.输入 jps 如果是如果是4个或者5个就配置成功,再继续</strong></p>
<p>通过web访问hadoop,访问地址:http://IP地址:9870</p>
<p style="text-align: center;"><a href="https://img.jbzj.com/file_images/article/202109/2021090111055090.jpg" target="_blank"><img src="https://img.jbzj.com/file_images/article/202109/2021090111055090.jpg" width="auto" border="0" height="auto" alt="" title="" /></a></p>
<p style="text-align: center;"><a href="https://img.jbzj.com/file_images/article/202109/2021090111055091.jpg" target="_blank"><img src="https://img.jbzj.com/file_images/article/202109/2021090111055091.jpg" width="auto" border="0" height="auto" alt="" title="" /></a></p>
<p>当我们看到这个的时候,说明我们已经安装成功了。注意,Hadoop3.x 版本的看 Hadoop Web端的端口没有变化,但是 HDFS 端 则由50070 变成了 9870 这个需要注意一下呦,你学会了么?</p>
頁: [1]
查看完整版本: Linux下的如何快速安装Hadoop