Linux环境下hadoop运行平台的搭建

更新时间:2023-09-10 05:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、hadoop版本认识

截至目前(2012年12月23日),Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x和0.22.x则支持NameNode HA等新的重大特性。第二代Hadoop包含两个版本,分别是0.23.x和2.x,它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS Federation和YARN两个系统,相比于0.23.x,2.x增加了NameNode HA和Wire-compatibility两个重大特性。

1版本:主要基于原来的技术的升级和发展,同时支持其它技术的支持。如果想用hbase、hive等技术就只有选择版本1。 2版本:主要基于新技术的推广发展,如果只是基于hadoop开发,这个是一个很好的选择。

2、hadoop-1.2.1软件包的认识

bin目录:包含进行hadoop配置、运行以及管理的命令集合。 conf目录:包含配置和运行hadoop环境需要的配置文件以及示例文件集合。 hadoop-examples-1.2.1.jar

3、Linux环境下安装Hadoop的前提准备(Ubuntu12.04) (1)安装Java的JDK

软件包为:jdk-7u45-linux-x64.gz

这里采用的解压直接配置的方式进行安装,除此之外还有二进制安装方式 <1> 解压并分解软件包(用tar将解压后的单一文件进行分解)

<2> 配置Java环境变量,主要JAVA_HOME、PATH、CLASSPATH三个环境变量 在/etc/profile文件添加以下语句

export JAVA_HOME=/home/chengyuluo/local/java/jdk1.6.0_14 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar (2)hadoop的三种安装模式 <1> 单机安装方式

单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。

<2> 伪分布安装模式 <3> 全分布安装模式

注意:可以将hadoop软件包中的conf文件夹拷贝成3份,分别为conf.local、conf.pseudo、conf.cluster,对应单机模式、伪分布式模式和全分布式模式,然后用软连接将conf链接到对应模式的文件夹中。里面用到的配置文件主要有hadoop-env.sh、core-site.xml、mapred-site.xml、hdfs-site.xml。

4、Linux环境下安装单机模式安装(Ubuntu12.04) (1)编辑conf/hadoop-env.sh

export JAVA_HOME=/home/chengyuluo/local/java/jdk1.6.0_14 (2)测试安装效果

hadoop-1.2.1$ mkdir input hadoop-1.2.1$ cd input hadoop-1.2.1$ echo “hello world” > test1.txt hadoop-1.2.1$ echo “hello hadoop” > test2.txt hadoop-1.2.1$ bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output hadoop-1.2.1$ cat output/*

5、Linux环境下安装伪分布式模式安装(Ubuntu12.04)保证hadoop软件包为用户所有 (1)配置无密码登录ssh环境

$ sudo apt-get install ssh openssh-server $ ssh-key –t rsa –P “” $ cd ~/.ssh $ cat id_rsa.pub >> authorized_keys $ ssh localhost (2)编辑conf/hadoop-env.sh

export JAVA_HOME=/home/chengyuluo/local/java/jdk1.6.0_14 (3)编辑conf/core-site.xml

fs.default.name hdfs://localhost:9000 (4)编辑conf/mapred-site.xml mapred.job.tracker localhost:9001 (5)编辑conf/hdfs-site.xml dfs.name.dir /usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2 dfs.data.dir /usr/local/hadoop/data1,/usr/local/hadoop/data2 dfs.replication 2 (8)运行伪分布式模式hadoop

hadoop-1.2.1$ bin/hadoop namenode -format hadoop-1.2.1$ bin/start-all.sh hadoop-1.2.1$ jps 注:bin/hadoop namenode –format用来格式话namenode的信息,如果指定了dfs.name.dir参数则将信息保存在该参数指定的目录下,如果没有指定则在/tmp目录下保存信息,此时如果/tmp目录被清理后,namenode的格式化信息就被清除,需要重新格式化。 启动程序的日志会在hadoop-1.2.1目录下的logs目录保存,如果启动不成功则可以查看该目录下的文件进行分析。 (9)测试安装效果

hadoop-1.2.1$ bin/hadoop dfs –put input in hadoop-1.2.1$ bin/hadoop jar hadoop-examples-1.2.1.jar wordcount in out hadoop-1.2.1$ bin/hadoop dfs -cat out/* 注:bin/hadoop中提供了对于hdfs文件系统的操作,可以使用bin/hadoop dfs –help查看各种文件操作的说明。

6、Linux环境下安装全分布式模式安装(Ubuntu12.04)保证hadoop软件包为用户所有 全分布模式安装需要将配置文件进行共享,最为原始的做法是将配置文件拷贝至各个节点,但是这种做法对于节点较多时比较麻烦。这里采用将多个节点通过nfs文件系统将配置文件进行共享来实现一次配置即可。 拓扑说明:

头结点: 192.168.1.1 (部署namenode,secondnamenode,jobtracker) 子节点1: 192.168.1.253 (部署datanode,tasktracker) 子节点2: 192.168.1.251 (部署datanode,tasktracker) (1)nfs相关设置

在各个节点安装nfs软件,将头节点的某块存储空间共享成为三个节点用户主目录所在的空间,使得各个节点的用户配置都一致。

(2)在三个节点创建hadoop用户(三个节点用户主目录一致)

$ useradd hadoop $ passwd hadoop (3)配置无密码公钥ssh访问环境

全分布模式安装要求主节点能够无密码公钥ssh到子节点,在nfs环境下只需要在头结点生成公钥/私钥对即可。(保证.ssh权限700,authorized_key权限600) $ ssh-key –t rsa $ cd ~/.ssh $ cat id_rsa.pub >> authorized_keys $ ssh localhost 注:以上设置保证各节点间都可以无密码公钥ssh其他节点 (4)编辑conf/hadoop-env.sh

export JAVA_HOME=/home/chengyuluo/local/java/jdk1.6.0_14 (5)编辑conf/core-site.xml

fs.default.name hdfs://192.168.1.1:9000 (6)编辑conf/mapred-site.xml 192.168.1.251 192.168.1.253 (10)运行全分布式模式hadoop

在头节点首先格式化namenode,然后启动进程 hadoop-1.2.1$ bin/hadoop namenode -format hadoop-1.2.1$ bin/start-all.sh hadoop-1.2.1$ jps 在子节点直接启动进程 hadoop-1.2.1$ bin/start-all.sh hadoop-1.2.1$ jps (11)测试安装效果

hadoop-1.2.1$ bin/hadoop dfs –put input in hadoop-1.2.1$ bin/hadoop jar hadoop-examples-1.2.1.jar wordcount in out hadoop-1.2.1$ bin/hadoop dfs -cat out/*

本文来源:https://www.bwwdw.com/article/u6lh.html

Top