大数据时代之hadoop(一):hadoop安装

时间:2021-04-11 04:48:31

 

 

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目录下执行以下命令来测试安装是否成功 
  

   $ mkdir input    $ cp conf/*.xml input 
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
$ 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、停止守护进程

 

其中第二步实例:

<configuration>   <property>     <name>fs.default.name</name>     <value>localhost:9000</value>   </property>   <property>     <name>mapred.job.tracker</name>     <value>localhost:9001</value>   </property>   <property>     <name>dfs.replication</name>     <value>1</value>   </property> </configuration> 


 

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


 测试:


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

$ bin/hadoop fs -put conf input 


  运行测试 
   

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


获取测试程序的执行结果

$ bin/hadoop fs -cat output/*

 

  输出:
   

   3 dfs.class   2 dfs.period   1 dfs.file   1 dfs.replication   1 dfs.servers   1 dfsadmin   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安装