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

时间:2017-03-27 12:36 来源:武松娱乐整理 字体:[ ] 评论:
介绍 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的基本使用。 软件环境 ubuntu linux 64位系统(本人使用的虚拟机安装的Linux武松娱乐,注意:建议使用英文语言环境,不要选择汉语,否则比较麻烦)hadoop 2.7.3jdk 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系统数据存放的地址等信息。具体配置如下: dfs.replication 1 dfs.name.dir /home/hdfs/name dfs.data.dir /home/hdfs/data dfs.http.address localhost:50070 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的操作。
Top_arrow
武松娱乐注册