1:软件环境准备

1.1Hadoop:

我们使用hadoop Release 1.2.1(stable)版本,下载链接:

http://mirrors.ustc.edu.cn/apache/hadoop/common/hadoop-1.2.1/

我们选择hadoop-1.2.1-bin.tar.gz文件下载。

1.2Java:

Java在这里使用的是jdk1.7版本的,当然也可以使用1.6的,下载链接:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

我们选择Linux x86的jdk-7u40-linux-i586.tar.gz版本下载,因为我的Linux机器是32位的;如果Linux机器是64的就必须选择64位的下载,可以选择jdk-7u40-linux-x64.tar.gz;这个步骤非常重要,不同的机器必须要配置不同的jdk版本。

2:安装到Linux中

2.1创建目录:

首先我们创建一个目录:

mkdir /data/installation,该目录存储下载好的的两个安装文件包。

mkdir /data/software/hadoop,该目录存储hadoop程序文件。

mkdir /data/software/java,该目录存储jdk的文件。

mkdir /data/software/eclipse,该目录存储eclipse的文件。

注意:在实际安装的时候我们最好单独为运行hadoop程序建立一个账号,并赋予相关权限。在这里我直接以root身份安装。

2.2解压安装包文件:

把刚刚下载好的文件都放到/data/installation/目录下。

首先解压java安装包文件,运行以下命令:

tar -xzvf /data/installation/jdk-7u40-linux-x64.tar.gz -C /data/software/java/

然后解压hadoop安装包文件,运行以下命令:

tar -xzvf /data/installation/hadoop-1.2.1-bin.tar.gz -C /data/software/hadoop/

最后解压eclipse安装包文件,运行以下命令:

tar -xzvf /data/installation/eclipse-standard-kepler-SR1-linux-gtk.tar.gz -C /data/software/eclipse/

3:配置Hadoop

Hadoop环境的配置关重要,首先必须要配置java运行环境。

3.1配置java环境:

添加JAVA_HOME,CLASSPATH环境变量:

使用vi /etc/profile命令编辑profile文件,在文件末尾加上以下内容:

HADOOP_INSTALL=/data/software/hadoop/hadoop-1.2.1/

JAVA_HOME=/data/software/java/jdk1.7.0_40

PATH=$JAVA_HOME/bin:$HADOOP_INSTALL/bin:$PATH

CLASSPATH=$JAVA_HOME/lib

export JAVA_HOME PATH CLASSPATH HADOOP_INSTALL

然后保存,退出,使用source /etc/profile使刚刚的更改立即生效。

然后使用java –version命令,查看是否配置成功,如果成功会出现以下信息:

java version "1.7.0_40"

Java(TM) SE Runtime Environment (build 1.7.0_40-b43)

Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode)

3.2配置ssh环境:

使用以下命令设置ssh无密码连接:

ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

测试ssh配置是否成功:

ssh localhost

可以看到配置成功了,连接无需使用密码了;

配置ssh无密码访问有很多种方法,以上只是其中一种,以下是另外一种方法:

cd ~

ssh-keygen -t rsa

cd .ssh

cp id_rsa.pub authorized_keys

ssh hostname  //测试连接hostname是否成功

3.3配置hadoop环境:

我们首先进入到/data/software/hadoop/hadoop-1.2.1/conf这个目录,然后可以看到haddoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml这四个文件以及需要在完全分布模式配置的slaves和masters文件:

3.3.1配置hadoop-env.sh:

首先我们用vi hadoop-env.sh命令编辑打开hadoop-env.sh文件,找到JAVA_HOME关键字所在的行,把前面的#号去掉,然后填写实际的JAVA_HOME地址:

export  JAVA_HOME=/data/software/java/jdk1.7.0_40

3.3.2配置core-site.xml:

vi core-site.xml打开core-site.xml文件,然后在configuration标签中加入以下内容:

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</propety>

<!—fs.default.name:用来配置namenode,指定HDFS文件系统的URL,通过该URL我们可以访问文件系统的内容,也可以把localhost换成本机IP地址;如果是完全分布模式,则必须把localhost改为实际namenode机器的IP地址;如果不写端口,则使用默认端口8020。 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/data/tmp/hadoop_tmp</value>

</property>

<!-- hadoop.tmp.dir:Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。该目录必须预先手工创建。-->

3.3.3配置hdfs-site.xml:

在configuration标签中加入以下内容,所有不存在的目录都要预先创建:

<property>

<name>dfs.data.dir</name>

<value>/data/appdata/hadoopdata</value>

</property>

<!--配置HDFS存储目录,数据存放目录,用于datanode存放数据-->

<property>

<name>dfs.name.dir</name>

<value>/data/appdata/hadoopname</value>

</property>

<!—用来存储namenode的文件系统元数据,包括编辑日志和文件系统映像,如果更换地址的话,则需要重新使用hadoop namenode –format命令格式化namenode-->

<property>

<name>dfs.replication</name>

<value>1</value>

</proerty>

<!—用来设置文件系统冗余备份数量,因为只有一个节点,所有设置为1,系统默认数量为3-->

3.3.4配置mapred-site.xml:

在configuration标签中加入以下内容:

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

<!—该项配置用来配置jobtracker节点,localhost也可以换成本机的IP地址;真实分布模式下注意更改成实际jobtracker机器的IP地址-->

4:启动hadoop

4.1:测试hadoop配置是否成功:

4.2:格式化namenode:

cd /data/software/hadoop/hadoop-1.2.1/bin

./hadoop namenode –format

4.3:启动hadoop进程,运行start-all.sh:

cd /data/software/hadoop/hadoop-1.2.1/bin

./start-all.sh

我们可以通过java的jps命令来查看进程是否启动成功,从下图可以看到,我们已经成功启动SecondaryNamenode,JobTracker,NameNode,DataNode,TraskTracker五个进程,而刚好这五个进程是hadoop所需要的。如果有一个进程没有启动成功,就表示整个集群没有正常工作,我们可以进入/data/software/hadoop/hadoop-1.2.1/libexec/../logs/目录下查看失败日记。

4.4:从浏览器查看hadoop信息:

我们可以从本机或者其他机器的浏览器访问hadoop。

查看jobtracker信息:

http://192.168.0.107:50030/jobtracker.jsp

上图显示的只是该页面的部分信息。

查看namenode信息:

http://192.168.0.107:50070/dfshealth.jsp

上图显示的只是该页面的部分信息。

查看trasktracker信息:

http://192.168.0.107:50060/tasktracker.jsp

5:hadoop实例

在这里我们来测试下hadoop自带的examples例子,该例子里面有个wordcount类,wordcount用来计算文件里面每一个单词出现了多少次数。examples jar包位于hadoop安装目录下,名称叫做hadoop-examples-1.2.1.jar:

5.1:进入到bin目录中去

首先我们进入到bin目录中去:

cd /data/software/hadoop/hadoop-1.2.1/bin

5.2:创建文件夹

然后我们创建一个input文件夹,并且创建3个文件,给每个文件写一些内容:

mkdir input

echo “hello hadoop” >input/f1.txt

echo “hello word” >input/f2.txt

echo “hello java” >input/f3.txt

5.3:在hadoop中创建文件夹

使用以下命令在hadoop中创建文件夹:

hadoop dfs –mkdir input

然后我们查看在hadoop中是否已经创建该文件夹:

hadoop dfs –ls /user/root

我们可以看到已经成功在hadoop中创建了input文件夹。

5.4:把文件复制到hadoop中

使用以下命令把文件从Linux中复制到hadoop中:

hadoop dfs –put input/* input

查看文件是否在hadoop中:

hadoop dfs –ls input

查看文件内容是否一致:

hadoop dfs –cat input/f1.txt

可以看到,文件已经成功放入hadoop文件系统中了。

5.5:从浏览器中查看文件内容

我们也可以从浏览器中浏览整个hdfs文件系统的目录,打开namenode链接:

http://192.168.0.107:50070/dfshealth.jsp

然后里面会有个Browse the filesystem超级链接,点击进去就可以看到相应的目录结构了。

5.6:运行examples例子

我们使用以下命令来运行wordcount程序:

hadoop jar ../hadoop-examples-1.2.1.jar wordcount input output

注意当前目录是bin目录,而jar包在上一级目录中,则定位jar包需要用到..来表示上级目录,wordcount表示jar包中的类名,表示要执行这个类,input是输入文件夹,output是输出文件夹,必须不存在,它由程序自动创建,如果预先存在output文件夹,则会报错。

我们可以看到程序已经运行成功,接下来就是查看运行结果了。

5.7:查看运行结果

我们可以查看output文件夹的内容来检查程序是否成功创建文件夹,通过查看output文件里面的part-r-00000文件的内容来检查程序执行结果:

我们可以看到hadoop出现一次,hello出现3次,java出现一次,world出现一次,这跟预期是一样的,说明执行成功。

6:关闭hadoop进程

如果我们要关闭hadoop集群,则只需要运行stop-all.sh:

cd /data/software/hadoop/hadoop-1.2.1/bin

./stop-all.sh

可以看到只有一个jps进程在运行,其它hadoop的进程都已经关闭了。

hadoop1.2.1伪分布模式安装教程的更多相关文章

  1. Hadoop1.2.1完全分布模式安装教程

    假设有三台机器,它们的IP地址和对应的主机名为: 192.168.12.18           localhost.localdomain 192.168.2.215           rhel5 ...

  2. Hadoop-1.0.4伪分布安装与配置

    1.采用伪分布模式安装      将hadoop-****.tar.gz复制到linux的/usr/local目录下. 2.解压,重命名      #tar -xzvf hadoop-1.0.4.ta ...

  3. 伪分布模式安装hadoop

    准备工具: 虚拟机:VMware Linux系统:CentOS hadoop-1.1.2.tar.gz jdk-7u75-linux-x64.gz CentOS的网络配置 1.设置主机中VMware ...

  4. Hadoop 伪分布模式安装

    ( 温馨提示:图片中有id有姓名,不要盗用哦,可参考流程,有问题评论区留言哦 ) 一.任务目标 1.了解Hadoop的3种运行模式 2.熟练掌握Hadoop伪分布模式安装流程 3.培养独立完成Hado ...

  5. Hadoop学习笔记(3)hadoop伪分布模式安装

    为了学习这部分的功能,我们这里的linux都是使用root用户登录的.所以每个命令的前面都有一个#符号. 伪分布模式安装步骤: 关闭防火墙 修改ip地址 修改hostname 设置ssh自动登录 安装 ...

  6. Spark新手入门——2.Hadoop集群(伪分布模式)安装

    主要包括以下三部分,本文为第二部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 三. Spark集群(standalone模式)安装 查看 Hadoop集群(伪分布模式 ...

  7. Hadoop单点伪分布模式安装

    Hadoop单点伪分布模式安装 概述 单点 single-node,单节点,即一台计算机. 伪分布式模式 pseudo-distributed mode 所谓集群,表面上看是多台计算机联合完成任务:但 ...

  8. Hadoop1.2.1伪分布模式安装指南

    一.前置条件 1.操作系统准备 (1)Linux可以用作开发平台及产品平台. (2)win32只可用作开发平台,且需要cygwin的支持. 2.安装jdk 1.6或以上 3.安装ssh,并配置免密码登 ...

  9. Hadoop1.2.1伪分布模式安装指南 分类: A1_HADOOP 2014-08-17 10:52 1346人阅读 评论(0) 收藏

    一.前置条件 1.操作系统准备 (1)Linux可以用作开发平台及产品平台. (2)win32只可用作开发平台,且需要cygwin的支持. 2.安装jdk 1.6或以上 3.安装ssh,并配置免密码登 ...

随机推荐

  1. PageObject模式的层次结构

    做过UI自动化的都晓得,在做UI自动化时定位特别依赖页面,一旦页面发生变更就不得不跟着去修改页面定位. 在webdriver中,假设你想对一个元素定位操作,那么你可能会编写下面的代码: driver. ...

  2. Python(socket编程——2)

    import socket ''' socket.socket(socket_family,socket_type,protocal=0) socket_family 可以是 AF_UNIX 或 AF ...

  3. vmware12 安装linux centos6

          内核选 2.6                                                                 中文安装选 基本系统 -> 基本, 兼 ...

  4. git安装教程(windows安装)

    git下载地址 https://git-scm.com/download/win 选择安装的组件,推荐全选 Additional icons 附加图标 ​ On the Desktop 在桌面上 Wi ...

  5. 什么是Http无状态?Session、Cookie、Token三者之间的区别

    一.什么是HTTP无状态? 1.1定义: HTTP无状态协议,是指协议对于交互性场景没有记忆能力. 1.2举个例子: 在点击一个纯的html网页,请求获取服务器的html文件资源时,每次http请求都 ...

  6. 论文笔记:IRGAN——A Minimax Game for Unifying Generative and Discriminative Information

    2017 SIGIR 简单介绍 IRGAN将GAN用在信息检索(Information Retrieval)领域,通过GAN的思想将生成检索模型和判别检索模型统一起来,对于生成器采用了基于策略梯度的强 ...

  7. 关于Android RenderScript 的详细说明和一些实用文档

    http://www.cnblogs.com/TerryBlog/archive/2012/03/02/2377251.html RenderScript 是一种低级的高性能编程语言,用于3D渲染和处 ...

  8. asp.net发送短信

    public class SmsServiceManager { public static string Send(string PhoneNumber, out string sendNo) { ...

  9. 手动加载B120i/B320i阵列卡驱动安装RHEL7.0

    实验设备: Micro server Gen8(B120i) DL360e Gen8(B320i) 目录 一.前期准备... 1 二.加载阵列卡驱动... 11 三.手动分区... 21 四.安装设置 ...

  10. ViewResolver和ResponseBody笔记

    处理HttpResponseBody有两种方式,ViewResolver(视图解析器)和ResponseBody ViewResolver.View多用于jsp,ViewResolver的主要作用是把 ...