最新的Hadoop本地模式安装和伪分布式模式安装

Linux 环境安装

在VMware创建虚拟机,使用一主三从的架构,Linux版本为最新的7.6.1810,使用最小安装.

首先是下载镜像文件:下载链接

 

image.png

 

image.png

 

image.png

修改主机名,需要重新登陆才能生效.

 

虚拟机挂在一边即可,可以使用xshell连接

image.png

 

准备好jdk:  jdk-8u221-linux-x64.tar.gz  在Oracle官网上下载

image.png

创建一个java目录,然后上传下载的jdk

 

image.png

解压到/opt目录下

image.png

 

然后添加环境变量

image.png

image.png

更新一下环境变量,然后查看一下java版本

image.png

 

到此一台具备java环境的Linux虚拟机搭建完成,拍摄一下快照.

 

 

Hadoop本地模式安装

Hadoop部署模式有:本地模式、伪分布模式、完全分布式模式、HA完全分布式模式.


区分的依据是NameNode、DataNode、ResourceManager、NodeManager等模块运行在几个JVM进程、几个机器。

 

image.png

 

Hadoop 当前的版本:

image.png

 

这里下载3.2.0版本,下载链接

image.png

在root目录下创建hadoop目录,然后把下载的压缩包上传

image.png

解压到/opt目录下

image.png

 

本地模式是最简单的模式,所有模块都运行与一个JVM进程中,使用的本地文件系统,而不是HDFS,本地模式主要是用于本地开发过程中的运行调试用。下载hadoop安装包后不用任何设置,默认的就是本地模式。


解压hadoop后就是直接可以使用

运行MapReduce程序,验证

我们这里用hadoop自带的wordcount例子来在本地模式下测试跑mapreduce。

 

前提保证:

image.png

 

首先准备一个文本文件

image.png

 

然后调用mapreduce例子,使用的是wordcount功能

bash bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar wordcount ./test.txt ./output.txt  

 

image.png

 

image.png

 

image.png

 

傻了,后面指定的是输出的目录,该目录下面有两个文件,一个是成功的标志,一个是wordcount输出的结果

image.png

 

Hadoop伪分布式模式安装

伪分布式其实是一台机器上的模拟,所以还是先使用一台虚拟机做.

 

首先要拍下快照保存一下,

接下来要配置两个文件:core-site.xml ,hdfs-site.xml

 

先配置core-site.xml:

image.png

 

输入以下配置

<configuration>
       <!--指定namenode的地址-->
   <property>
               <name>fs.defaultFS</name>
               <value>hdfs://namenode:8020</value>
   </property>
   <!--用来指定使用hadoop时产生文件的存放目录-->
   <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/data/tmp/</value>                    
   </property>
       <!--用来设置检查点备份日志的最长时间-->
       <name>fs.checkpoint.period</name>
       <value>3600</value>
</configuration>

 

image.png

 

接着配置hdfs-site.xml

 

<configuration>
    <!--指定hdfs保存数据的副本数量-->
    <property>
            <name>dfs.replication</name>
            <value>1</value>
    </property>
    <!--指定hdfs中namenode的存储位置-->
    <property>
             <name>dfs.namenode.name.dir</name>
             <value>/opt/data/tmp/dfs/name</value>
    </property>
    <!--指定hdfs中datanode的存储位置-->
    <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/data/hadoop/hadoop-2.6.0/tmp/dfs/data</value>
    </property>

</configuration>

 

image.png

 

dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为1。

 

接下来格式化hdfs

image.png

 

image.png

 

已经在指定目录创建好namenode结点

接下来启动namenode结点

image.png

 

使用jps查看当前运行

image.png

 

接着启动DataNote和SecondaryNameNode

image.png

image.png

 

接着就可以上传文件了

image.png

 

image.png

 

其实存放这些小文件是很不对的,因为分布式文件系统一般都是用来存储大文件.这里为了学习将就一下,同时也发现速度很慢,所以不合适存放小文件.

 

image.png

 

 

 

 

 
 
 
posted @ 2019-07-26 09:24  星辰戟  阅读(409)  评论(0)    收藏  举报