Hadoop基本使用(一)环境配置-单机版

来源:互联网 发布:主动刹车 知乎 编辑:程序博客网 时间:2024/05/21 05:19

介绍

Hadoop是一个分布式系统基础架构,其核心组成为HDFS和Map Reduce。其中HDFS的全称是Hadoop Distributed File System(分布式的文件系统),是用来存储数据的;MapReduce是用来提供对数据的计算操作。

第一次接触Hadoop的同学最起码都知道Hadoop是一个用来存储数据的类似数据库的东西,而Hadoop用来存储数据的就是HDFS;数据存下来了之后,是为了使用数据,比如利用数据进行分析,得出某种的结论;Hadoop用来计算或者统计数据的工具是MapReduce。所以学习Hadoop,我们首先应该了解HDFS和MapReduce(可以自行Google一下,本篇主要进行环境搭建的讲解)。

环境搭建前言

搭建环境之前,先解答一下初学者的疑惑:网上很多介绍Hadoop的文章都是在Linux环境之下进行配置的。为什么都要使用Linux呢?不用Linux行不行呢----当然也是可以得。之所以在Linux下进行,是因为Hadoop基本都是搭建在服务器上,服务器系统基本都是Linux系统。一般情况下,不需要在windows环境下搭建Hadoop。本篇文章也将在Linux环境下进行。所以建议不会Linux的人,可以先去了解一下Linux的基本使用。

软件环境

  1. ubuntu linux 64位系统(本人使用的虚拟机安装的Linux操作系统,注意:建议使用英文语言环境,不要选择汉语,否则比较麻烦)
  2. hadoop 2.7.3
  3. jdk 1.8.0_121

环境配置

一、JDK的安装

在Linux系统中打开浏览器,进入JDK下载页面(下载绿色方框标注的jdk):

1、下载完成之后,默认在/home/username/Downloads文件夹下。我的计算机中的username为javen,所以我下载下来之后jdk就在/home/javen/Downloads文件夹下。
2、然后进行解压
a)打开Terminal(终端),默认目录就在/home/javen/下,输入:cd Downloads/   进入Downloads文件夹
b)输入如下指令:
tar -xzf  jdk-8u121 -linux-***.tar.gz
c)解压完成之后,在home/javen/Downloads目录下就多了一个文件夹“jdk1.8.0_121”。
3、接下来就进行环境变量的配置。
linux系统中环境变量配置在etc/profile文件中,使用vi打开etc/profile文件,在文件的最后添加如下内容:


4、配置完成时候保存并退出。
5、退出系统重新登录。只有退出系统重新登录之后,环境变量才会生效。
6、重新进入系统之后,再次打开Terminal,输入javac -version,如果显示了JDK的版本为1.8.0则表示环境变量配置成功。

二、Hadoop的下载安装

1、下载Hadoop,此处为了方便,我直接在Linux下浏览器中打开如下地址:http://hadoop.apache.org/releases.html 进行下载。

下载时间可能比较长,此处建议使用浏览器下载,虽然有些博客中写的使用svn也可以下载,但是我试过,如果网络不好的话,使用svn下载会经常停止下载。
2、下载完成之后可以将下载下来的hadoop-2.7.3.tar.gz拷贝到/home/javen文件夹下。
3、然后使用 tar -xzf hadoop-2.7.3.tar.gz进行解压缩。解压缩之后,进入hadoop-2.7.3文件夹中,文件目录结果如下:

其中test文件夹是我自己创建的,刚解压出来是没有test文件夹的。

三、Hadoop的配置

hadoop需要配置多个文件,接下来对每一个文件进行配置和解释。需要配置的文件全部在home/javen/hadoop-2.7.3/etc/hadoop/文件夹下。
1、文件:hadoop-env.sh
此文件是hadoop所需环境的一个配置文件,比如hadoop是采用java语言开发,所以hadoop的运行需要jdk环境。所以需要在hadoop-env文件中指定我们上面配置的jdk的安装目录,具体配置如下:

以上JAVA_HOME的配置在文件中原本是有的,只需要将等于号后面的值修改成我们自己安装的jdk目录即可。

2、文件:yarn-env.sh
此文件是yarn框架的环境配置,yarn框架是目前hadoop采用的Map-Reduce框架,主要进行统一资源的管理。yarn同样依赖于jdk环境,所以在yarn-env.sh中同样要配置如下jdk路径:
使用vi yarn-env.sh修改JAVA_HOME的地址

3、文件:core-site.xml
此文件是hadoop的核心配置文件,一般情况需要配置2个属性:

fs.default.name  这是配置HDFS中节点的URL,在文件系统中,每一个节点都有自己的URL,通过URL才能在整个分布式系统中管理和查询到此节点。集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。
hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中

4、文件:hdfs-site.xml
此文件是hdfs的配置文件。主要配置hdfs系统数据存放的地址等信息。具体配置如下:
<configuration><property>         <name>dfs.replication</name>         <value>1</value></property><property>        <name>dfs.name.dir</name>        <value>/home/hdfs/name</value></property><property>        <name>dfs.data.dir</name>        <value>/home/hdfs/data</value></property><property>        <name>dfs.http.address</name>        <value>localhost:50070</value></property></configuration>
dfs.replication 它决定着系统里面的文件块的数据备份个数,此数值一般不大于从机的个数。
dfs.name.dir 是设置NameNode的数据存放的本地路径
dfs.data.dir 是设置DataNode的数据存放的本地路径
dfs.http.address是设置NameNode的tracker页面监听地址和端口。

5、文件:mapred-site.xml
此文件是配置Map Reduce的基本信息.默认情况下,在hadoop/etc下是没有mapred-site.xml文件,但是可以找到一个叫mapred-site.xml.template的文件,使用的时候只需要将mapred-site.xml.template复制一份并且命名为mapred-site.xml就行。其配置信息如下:


mapreduce.framework.name是制定yarn框架作为Map Reduce的操作工具。
mapred.map.tasks和mapred.reduce.tasks分别为map和reduce的任务数
mapred.job.tracker -JobTracker的主机(或者IP)和端口

6、文件:yarn-site.xml
此文件是yarn框架的配置文件,具体配置如下:

yarn.resourcemanager.address
参数解释:ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。
默认值:${yarn.resourcemanager.hostname}:8032
yarn.resourcemanager.scheduler.address
参数解释:ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。
默认值:${yarn.resourcemanager.hostname}:8030
yarn.resourcemanager.webapp.address
参数解释:ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息。
默认值:${yarn.resourcemanager.hostname}:8088
yarn.resourcemanager.resource-tracker.address
参数解释:ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。
默认值:${yarn.resourcemanager.hostname}:8031
 yarn.resourcemanager.admin.address
参数解释:ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。
默认值:${yarn.resourcemanager.hostname}:8033
 yarn.nodemanager.aux-services
参数解释:NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序

运行

1、格式化namenode: bin/hdfs namenode -format
2、启动hdfs: ./sbin/start-dfs.sh   此过程会出现yes or no的情况,选yes;同时会出现多次输入用户密码,输入系统登录密码即可。
3、启动yarn: ./sbin/start-yarn.sh  过程会出现yes or no的情况,选yes;同时会出现多次输入用户密码,输入系统登录密码即可。

验证

在浏览器输入:http://localhost:50070   打开hdfs页面如下:

在浏览器输入http://localhost:8088显示如下界面:

如果能正常打开以上界面,表示Hadoop的环境配置完成。接下来,我们就可以使用hadoop进行一些简单的操作。

最后

本文中的配置仅仅是单机上的配置,不存在多个节点的问题。仅仅作为一个hadoop的入门教程。下一篇将在此基础上介绍如何在hadoop上完成一个简单的Helloworld的操作。

0 0
原创粉丝点击