1、hadoop版本介绍

0.20.2版本以前(不含该版本)的配置文件都在default.xml中。

0.20.x以后的版本不含有eclipse插件的jar包,由于eclipse的版本不一,所以就需要自己编译源码生成对应的插件。

0.20.2——0.22.x版本的配置文件集中在conf/core-site.xml、 conf/hdfs-site.xml  和 conf/mapred-site.xml. 中

0.23.x 版本有添加了yarn技术,配置文件集中在  conf/core-site.xml, conf/hdfs-site.xml, conf/yarn-site.xml and conf/mapred-site.xml.这4个文件上。

由于0.23.x版本的变化比较大,添加了新的技术,让很多基于hadoop的一些插件难以兼容,如hive、hbase、pig等都基于0.23.x以前的版本。

所以apache就开始统一版本号,这样从版本号就可以区分hadoop的功能。

0.22.x 直接升级到1.0.0 

0.23.x 直接升级到2.0.0

这样就把hadoop分为两个版本 1和2

1版本:主要基于原来的技术的升级和发展,同时支持其它技术的支持。如果想用hbase、hive等技术就只有选择 版本1

2版本:主要基于新技术的推广和发展,如果只是基于hadoop开发,这个是一个很好的选择。

目前官网上下载hadoop处描述:

Download

  • 1.2.X - current stable version, 1.2 release
  • 2.4.X - current stable 2.x version
  • 0.23.X - similar to 2.X.X but missing NN HA.

2、hadoop安装及模式

目前,我在实验环境中使用的是hadoop-0.20.2,所以以后我都是基于这个版本进行描述。

Hadoop各个组件的配置在文件夹conf下。早期的hadoop采用一个配置文件hadoop-site.xml来配置Common,HDFS和MapReduce组件,从0.20.0版本开始,分为三个文件。

core-site.xml:配置Common组件的属性。
          hdfs-site.xml:配置HDFS属性。
          mapred-sit.xml:配置MapReduce属性。

2.1、Hadoop运行模式

Hadoop的运行模式有以下三种:

独立模式(standalone或local mode):无需任何守护进程(daemon),所有程序都在单个JVM上执行。主要用在开发阶段。默认属性就是为本模式所设,所以不需要额外的配置。
             伪分布式模式(pseudo-distributed model):Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。
             全分布模式(full distributed model):Hadoop守护进程运行在一个集群上。

不同模式关键配置属性

组件名称

属性名称

独立模式

伪分布模式

全分布模式

Common

fs.default.name

file:/// (默认)

hdfs://localhost:9000

hdfs://namenode:9000

HDFS

dfs.replication

N/A

1

3 (默认)

MapReduce

mapred.job.tracker

local (默认)

localhost:9001

jobtracker:9001

2.2、本机模式安装

由于默认属性专为本模式所设定,且无需运行任何守护进程,因此本模式除了把dfs.replication值设为1外,无需任何别的操作。

 测试:

进入$HADOOP_HOME目录下执行以下命令来测试安装是否成功

  1. $ mkdir input
  2. $ cp conf/*.xml input
  3. $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
  4. $ cat output/*

输出:  
         1    dfsadmin

经过上面的步骤,如果没有出现错误就算安装成功了。

2.3、伪分布式模式安装步骤

安装步骤:

1、设置环境变量(JAVA_HOME,path,HADOOP_HOME,CLASSPATH)
           2、修改hadoop配置文件(core-site.xml,hdfs-site.xml,mapred-site.xml)
           3、设置ssh无密码登陆
           4、格式化文件系统  hadoop namenode -format
           5、启动守护进程   start-all.sh
           6、停止守护进程

其中第二步实例:

  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>localhost:9000</value>
  5. </property>
  6. <property>
  7. <name>mapred.job.tracker</name>
  8. <value>localhost:9001</value>
  9. </property>
  10. <property>
  11. <name>dfs.replication</name>
  12. <value>1</value>
  13. </property>
  14. </configuration>

启动后可以通过网页方式查看NameNode和JobTracker状态
 NameNode - http://localhost:50070/
 JobTracker - http://localhost:50030/

 测试:

复制文件到分布式文件系统上

  1. $ bin/hadoop fs -put conf input

运行测试

  1. $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'

获取测试程序的执行结果

  1. $ bin/hadoop fs -cat output/*

输出:

  1. 3 dfs.class
  2. 2 dfs.period
  3. 1 dfs.file
  4. 1 dfs.replication
  5. 1 dfs.servers
  6. 1 dfsadmin
  7. 1 dfsmetrics.log

经过上面的步骤,如果没有出现错误就算安装成功了。

2.4、全分布模式安装步骤

安装步骤:

1、设置环境变量(JAVA_HOME,path,HADOOP_HOME,CLASSPATH)
            2、修改hadoop配置文件(core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves)
            3、设置ssh无密码登陆
            4、格式化文件系统  hadoop namenode -format
            5、启动守护进程   start-all.sh
            6、停止守护进程

启动后可以通过网页方式查看NameNode和JobTracker状态
 NameNode - http://namenode:50070/
 JobTracker - http://jobtracker:50030/

 注意:
        在每个机器上的相同位置分别安装hadoop,且用户名相同。

3、eclipse插件安装

eclipse hadoop插件,是为了快速开发mapreduce程序,提供了

mapreduce location视图,用于设置mapreduce变量;

windows->preferences 增加了设置hadoop安装位置设置栏;

Project Explore视图里面增加了DFS Locations项目,能够查看hdfs文件系统的内容,并能够上传下载文件;

new project 里面增加了mapreduce project;

增加了run on hadoop平台功能。

需要注意的是hadoop自带的contrib\eclipse-plugin\hadoop-0.20.2-eclipse-plugin.jar过时了,需要从网上下载一个新的,否则在运行mapreduce程序时没有反应。

大数据时代之hadoop(一):hadoop安装的更多相关文章

  1. 大数据时代快速SQL引擎-Impala

    背景 随着大数据时代的到来,Hadoop在过去几年以接近统治性的方式包揽的ETL和数据分析查询的工作,大家也无意间的想往大数据方向靠拢,即使每天数据也就几十.几百M也要放到Hadoop上作分析,只会适 ...

  2. 转:大数据时代快速SQL引擎-Impala

    本文来自:http://blog.csdn.net/yu616568/article/details/52431835 如有侵权 可立即删除 背景 随着大数据时代的到来,Hadoop在过去几年以接近统 ...

  3. 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)

    大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...

  4. 大数据系列(5)——Hadoop集群MYSQL的安装

    前言 有一段时间没写文章了,最近事情挺多的,现在咱们回归正题,经过前面四篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,相关的两款软件VSFTP和SecureCRT也已经正常安装了. ...

  5. 大数据系列(4)——Hadoop集群VSFTP和SecureCRT安装配置

    前言 经过前三篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,当然,我相信安装的过程肯定遇到或多或少的问题,这些都需要自己解决,解决的过程就是学习的过程,本篇的来介绍几个Hadoop环 ...

  6. 大数据系列(2)——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  7. 大数据时代,我们为什么使用hadoop

    大数据时代,我们为什么使用hadoop 我们先来看看大数据时代, 什么叫大数据,“大”,说的并不仅是数据的“多”!不能用数据到了多少TB ,多少PB 来说. 对于大数据,可以用四个词来表示:大量,多样 ...

  8. 【Hadoop】大数据时代,我们为什么使用hadoop

    博客已转移,请借一步说话.http://www.daniubiji.cn/archives/538 我们先来看看大数据时代, 什么叫大数据,“大”,说的并不仅是数据的“多”!不能用数据到了多少TB , ...

  9. 大数据项目实践:基于hadoop+spark+mongodb+mysql+c#开发医院临床知识库系统

    一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...

  10. 大数据框架:Spark vs Hadoop vs Storm

    大数据时代,TB级甚至PB级数据已经超过单机尺度的数据处理,分布式处理系统应运而生. 知识预热 「专治不明觉厉」之“大数据”: 大数据生态圈及其技术栈: 关于大数据的四大特征(4V) 海量的数据规模( ...

随机推荐

  1. [Q]手动加载菜单方法

    一般情况下,安装程序会自动安装依云软件菜单,但可能由于某些原因未能自动安装的话,您可以手动加载菜单,步骤如下: 在AoutCAD命令行输入"CUILOAD",会弹出"加载 ...

  2. maven项目添加websocket

    最近由于项目业务需求,需要用到websocket来实现即时信息的推送,学习了一下websocket,网上搜了一下学习教程,很多版本看的我云里雾里,最后选择用tomcat提供的最新版本(tomcat 启 ...

  3. java 执行redis的部分方法

    @Autowired private RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(R ...

  4. leetcode & lintcode for bug-free

    刷题备忘录,for bug-free leetcode 396. Rotate Function 题意: Given an array of integers A and let n to be it ...

  5. NGINX----源码阅读----(option配置脚本)

    /auto/options options文件主要负责nginx启动前配置脚本对环境变量初始化. 1.默认为环境变量赋值 help=no NGX_PREFIX= NGX_SBIN_PATH= NGX_ ...

  6. JTree单击事件

    import javax.swing.*; import javax.swing.tree.*; import java.awt.FlowLayout; import java.awt.GridLay ...

  7. 【转】Jmeter(三)-简单的HTTP请求(非录制)

    首先建立一个线程组(Thread Group),为什么所有的请求都要加入线程组这个组件呢?不加不行吗?答案当然是不行的.因为jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建. 选 ...

  8. windows中操作文件和目录的函数

    1.文件操作函数       CreateFile();//创建或打开文件      ReadFile();//从文件读      WriteFile();//向文件写      SetFilePoi ...

  9. php函数搜集

    数组去重: 方法1:php自带此功能的函数array_unique($arr) 方法2:$arr = array_flip(array_flip($arr)); //这样便可以删除重复元素. 比上面的 ...

  10. Java常用术语及区别

    Java中总有几个术语,平时说的多,但是还是让人有点摸不着头脑,今天就来解析一下他们的区别: l JDK:Java development toolkit,是 Java 语言的软件开发工具包(SDK) ...