Hadoop 2.2.0单节点的伪分布集成环境搭建
Hadoop版本发展历史
第一代Hadoop被称为Hadoop 1.0
1)0.20.x
2)0.21.x
3)0.22.x
第二代Hadoop被称为Hadoop 2.0(HDFS Federation、YARN)
1)0.23.x
2)2.x
3)2.2.0 稳定版本 Namenode HA
4)2.4 ResourceManager HA
5)2.6 稳定版本
6)2.7 jdk1.7
Hadoop角色部署
Hadoop的安装模式分为三种:
1)单机模式:默认的安装模式,占用资源少,不需要修改配置文件,且完全运行于本地,不需要与其它节点进行交互,也不需要使用HDFS文件系统和加载任何守护进程,主要应用于开发调试MapReduce应用程序。
2)伪分布模式:也即单节点集成模式,其所有守护进程都运行在同一台机器上(比如Namenode、Datanode、Nodemanager、ResourceManger和、SecondaryNamenode等);这种模式增加了代码的调试功能,可查看内存情况、HDFS的输入和输出、以及其它守护进城之间的交互。
3)全分布模式:主要用于生产环境,且在实际应用中均使用分布式集群。
考虑到大家学习时的硬件条件限制,我们将安装第二种伪分布模式并将Namenode、Datanode、Nodemanager、ResourceManger和、SecondaryNamenode配置到同一节点。
Hadoop环境安装准备
Centos系统
版本:6.5
JDK
版本:1.7.0
Hadoop
版本:2.2.0 稳定版本
注意:为了避免许多不必要的错误,以上各环境位数应该保持一致,我们选择为64位。
Hadoop伪分布环境搭建
安装过程主要分为三步:JDK安装、.SSH无密码访问配置和Hadoop环境配置
1. JDK安装
首先使用Xshell工具登陆到虚拟机环境下(虚拟机安装及配置点击此处跳转:CentOS 6.5的安装详解,在此感谢“大数据躺过的坑”博主为我们提供的如此详尽的介绍),首先检查是否已经安装JDK,在命令行下输入java -version命
令,结果如下图所示:

很明显现在我们还没有安装JDK,于是接下来我们就一起来学习如何从零开始搭建我们的JDK环境。
首先,查看我们Centos系统位数:file /bin/ls;结果如下,我们的Centos系统为64位,所以我们的JDK、SSH和Hadoop也必须保持位数一致。

我们先在usr目录下创建个java目录作为存放JDK的目录:首先进入根目录cd /,列出目录信息ls,然后进入usr目录,并创建java目录mkdir java,此时java应该为空目录,如图所示:

然后,将本地下载好的jdk1.7.0包放到本地目录,再使用rz命令上传。首先,我们先运行rz命令,检查是否已经安装此命令。结果如图(由于我已经安装过此命令,下图为网上找到错误示例图):

很明显,如果第一次使用一定是没有安装的,接下来我们先安装此命令(如果已经安装的则跳过以下rz工具包安装过程)。我们运行在线下载命令即可直接进行安装:yum -y install lrzsz(yum为包管理器,可帮助我们快速实现在线下载,-y命令可在下载后直接安装而跳过其中的询问过程,推荐使用)

此图显示的即为安装过程,如果出现下图所示信息,则表示安装完成。

接下来,我们使用rz命令上传jdk1.7.0包(前提得先下载好放到本地,可到官网自行下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html),运行日志命令后会弹出以下选择框进行上传文件选择,我们选中下载好的包上传即可。

此时,输入ls命令查看即可发现文件已成功上传:

运行tar zxvf jdk-7u79-linux-x64.tar.gz命令进行解压,解压完成后再使用ls命令进行查看,此时可看到已经成功解压出来了,接下来的关键步骤是设置JDK环境变量。

我们依次运行下图中命令即可创建java环境变量的脚本文件

进入后输入“i“进入编辑模式,在此模式下想文档中写入一下内容:

输完以上内容之后,先按Esc键退出编辑模式,然后按下Shift+;组合键并输入wq或x保存退出。此时,直接输入java -version命令还是会出错(如下图所以),为什么呢?

因为我们此时只是生产了该配置文件,但它还没有生效,所以需要使用source命令使其生效,然后再运行就成功了。
到此,JDK的安装就已经完成了。肯定很多人会问我为什么不把命令全部输出来,那大家拷贝粘贴多方便,而要采取截屏的方式展示,那我有必要说一下我的想法。首先,截屏能让大家对于我的操作理解得更形象一点,而不会有种云里雾里的感觉;再者,学习本身就是一个实践的过程,如果大家只是复制粘贴,那本博文就没有任何意义了,我希望各位能亲身体会Linux的环境以及操作,这样才能真正起到学习的作用。所以,希望大家不要复制粘贴我的命令,而是自己完完全全敲上一两遍,自己去切身体会一下Linux系统本身,以及各命令的语法和作用机制。
2. SSH无密码访问配置
首先,我们先修改一下host文件,添加hostname与IP之间的对应关系,以方便我们访问。输入ipconfig命令查看IP配置信息:

然后,输入vi /etc/hosts,进入host文件并在末尾添加一行配置:

接下来,我们需要创建一个新的用户来安装Hadoop环境。首先,创建用户组;然后,新建Hadoop用户,并添加到Hadoop用户组中。

注意,在配置Hadoop环境之前,我们需要先关闭防火墙,首先查看防火墙状态:

关闭防火墙:


接下来是SSH无密码验证配置:
我们使用新创建的hadoop用户,并进入根目录下,一次输入一下命令,创建秘钥:



然后将公钥复制到认证文件中去

使用vi命令进行查看:

设置文件权限:

使用ssh访问当前节点,如果出现下图所示内容表示SSH无密码访问配置成功:

3. Hadoop伪分布环境搭建及配置
在这里,我选择把Hadoop安装到我们刚开始时创建的java目录里。我们先进入该目录,然后切换到我们的root用户,再使用wget命令实现在线下载:
由于是第一次使用,所以wget命令并没有安装,于是我们先安装此命令再进行下载:

安装完成后再次运行命令以下载Hadoop:

下载完后我们可用ls命令查看下载的安装包,然后解压该文件进行安装:

如图所示,解压成功并修改文件名为hadoop。

我们查看文件可知Hadoop文件权限为root用户,于是我们需要将文件权限赋给Hadoop用户。

接下来就是创建hadoop的数据目录,并将权限赋给hadoop用户。

hadoop的环境就基本搭建完毕了,然后我们需要修改一下hadoop的配置文件。

如上图大方框中所示的都是其配置文件,我们需要修改core-site.xml、hdfs-siteml配置文件(注意:一下所有文件修改都是用过vi+文件名指令进行)


接下来我们要编译一下文件:mapred-site.xml、yarn-site.xml和slaves文件。编辑mapred-site.xml文件之前我们要先执行cp mapred-site.xml.template mapred-site.xml命令以生成mapred-site.xml配置文件,然后分别用vi/vim命令进行编辑,分别添加一下内容:


以下指定DataNode和Namenode在同一节点上:

接下来,我们需要设置hadoop环境变量,此操作必须在root用户下操作,然后在配置文件末尾追加以下内容:

最后,我们使用resource /etc/profile命令使配置生效。到此为止,我们已经完成了hadoop的安装与配置工作。
4. 测试与运行
我们先切换到hadoop目录,退到安装目录,然后格式化Namenode。

接下来我们启动集群并查看进程(由于我已经启动过,所以内容喝你妹稍有不同,但我们可以看到已经启动了的进程,如大方框所示):

到此,hadoop2.2.0单节点伪分布集成环境就搭建完成了。
然后我们就可以在网页上查看我们的Hadoop环境的情况了!

为了方便访问,我们可以在Windows下配置hostname到IP地址的对应关系。首先以管理员身份运行记事本,然后打开C:\Windows\System32\drivers\etc下的hosts.txt文件,在文件末尾加入一行配置:

配置好后就可以用我们的主机名替代IP地址进行访问了。
以上均为博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包含,有错误烦请指出,谢谢!
Hadoop 2.2.0单节点的伪分布集成环境搭建的更多相关文章
- Hadoop 2.6.4单节点集群配置
1.安装配置步骤 # wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm # rpm -i ...
- kolla快速集成openstack-ocata和opencontrail-4.0.1.0单节点
参考链接: kolla快速集成openstack-ocata和opencontrail-4.0.1.0单节点 https://github.com/Juniper/contrail-docker/wi ...
- ZooKeeper伪集群环境搭建
1.从官网下载程序包. 2.解压. [dev@localhost software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper文件夹后创建data文 ...
- Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper【转】
Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper 1.软件工具箱 在本文的实践中,需要用到以下的软件: Tomcat-7.0.62+solr-5.0.0+ ...
- 在Ubuntu14.10中部署Hadoop2.6.0单节点伪分布集群
1. 环境信息如下: ubuntu:14.10 jdk:openjdk-1.7.0 hadoop:2.6.0 2. 下载hadoop2.6.0, http://apache.fayea.com/had ...
- 在Ubuntu下配置运行Hadoop2.4.0单节点配置
还没有修改hosts,请先按前文修改. 还没安装java的,请按照前文配置. (1)增加用户并设立公钥: sudo addgroup hadoop sudo adduser --ingroup had ...
- Hadoop2.0伪分布式平台环境搭建
一.搭建环境的前提条件 环境:ubuntu-16.04 hadoop-2.6.0 jdk1.8.0_161.这里的环境不一定需要和我一样,基本版本差不多都ok的,所需安装包和压缩包自行下载即可. 因 ...
- redhat6.5 redis单节点多实例3A集群搭建
在进行搭建redis3M 集群之前,首先要明白如何在单节点上完成redis的搭建. 单节点单实例搭建可以参看这个网:https://www.cnblogs.com/butterflies/p/9628 ...
- Hadoop 学习之路(四)—— Hadoop单机伪集群环境搭建
一.前置条件 Hadoop的运行依赖JDK,需要预先安装,安装步骤见: Linux下JDK的安装 二.配置免密登录 Hadoop组件之间需要基于SSH进行通讯. 2.1 配置映射 配置ip地址和主机名 ...
随机推荐
- 浅谈PHP7的新特性
我以前用过的php的最高版本是php5.6.在换新工作之后,公司使用的是PHP7.据说PHP7的性能比之前提高很多.下面整理下php7的新特性.力求简单了解.不做深入研究. 1.变量类型声明 函数的参 ...
- Nunit测试工具使用实例
前言: 本文主要是介绍了Nunit的基本使用,其中参详了很多已有的文章,由于最近要使用其进行测试,所以对网上的文章做了下整理,同时加入了一些自己的实践. NUnit的属性 TestFixture 它标 ...
- 邮件实现详解(二)------手工体验smtp和pop3协议
上篇博客我们简单介绍了电子邮件的发送和接收过程,对参与其中的邮件服务器,邮件客户端软件,邮件传输协议也有简单的介绍.我们知道电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行传递必须 ...
- C#线程池多线程Socket通讯 服务器端和客户端示例
using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; ...
- Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
示例表 tb 数据如下 id value ----- 1 aa 1 bb 2 aaa 2 bbb 2 ccc SELECT id, [val] = ( SELECT [value] + ',' FRO ...
- ICommand.CanExecuteChanged事件订阅对象的变化
public class DelegateCommand : ICommand { Func<object, bool> canExecute; Action<object> ...
- JSONP、图片Ping、XMLHttpRequest2.0等跨域资源请求(CORS)
跨域:当协议.主域名.子域名.端口号中任意一个不相同时都不算同一个域,而在不同域之间请求数据即为跨域请求.解决方法有以下几种(如有错误欢迎指出)以请求图片url为例: 1.通过XMLHttpReque ...
- sbt 配置文件
配置文件名:application.conf, VM options: -Dconfig.file=application.conf 配置文件内容规范: openStrategy{ alive { a ...
- Python格式化字符串--format
format格式化字符串方法相较于老版%格式方法的优点: 1.不需要理会数据类型的问题,在%方法中'%s'只能替代字符串类型. 2.单个参数可以多次输出,参数顺序可以不相同. 3.填充方式十分灵活,对 ...
- Rythm.js 使用教程详解
转载自 http://blog.csdn.net/qq_26536483/article/details/78261515 简介 rythm.js是一款让页面元素跳动起来的插件,并且带音乐,共7种用法 ...