目标:运行单机版hadoop

http://localhost:50030mapredule监控界面

http://localhost:50070HDFS监控页面

-->安装linux系统

-->java环境

-->ssh免密码登陆-->防火墙iptables

-->配置hadoop

环境准备:Centos 6.3  http://mirror.symnds.com/distributions/CentOS-vault/6.3/isos/i386/   CentOS-6.3-i386-bin-DVD1.iso

JDK http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-i586.tar.gz?AuthParam=1384763306_45788258a165f5f772a28d5a5fb88c7d jdk-7u45-linux-i586.gz

hadoop http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz hadoop-2.2.0.tar.gz

安装配置jDK

[ge@localhost ~]$ tar -zxvf jdk-7u45-linux-i586.gz-----解压

[ge@localhost ~]$ tar -zxvf hadoop-2.2.0.tar.gz

[ge@localhost ~]$ su  root

[root@localhost ge]# mv jdk1.7.0_45/ /usr/java1.7

[root@localhost ge]# mv hadoop-2.2.0 /usr/hadoop

[root@localhost ge]# vim /etc/profile

添加以下行:

export JAVA_HOME=/usr/java1.7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行以下命令是文件马上生效。

[root@localhost ge]# source /etc/profile

测试java版本:

[root@localhost ge]# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode)

ssh免秘钥登陆:

[root@localhost ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

[root@localhost ~]# ll ~/.ssh/
总用量 12
-rw-------. 1 root root 1675 11月 19 01:29 id_rsa
-rw-r--r--. 1 root root  408 11月 19 01:29 id_rsa.pub
-rw-r--r--. 1 root root  391 11月 19 01:16 known_hosts

[root@localhost ~]# cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
[root@localhost ~]# ssh localhost
Last login: Tue Nov 19 01:16:10 2013 from localhost

配置hadoop:

编辑/usr/hadoop/etc/hadoop/hadoop-env.sh
替换exportJAVA_HOME=${JAVA_HOME}为如下:exportJAVA_HOME=/usr/java1.7

编辑/usr/hadoop/etc/hadoop/core-site.xml,在<configuration>中添加如下:

<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp/hadoop-${user.name}</value>
<description>A base for other temporarydirectories.</description>
</property> <property>
<name>fs.default.name</name>
<value>hdfs://localhost:8010</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri’s scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri’s authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>

备注:配置了/usr/hadoop/tmp/这个目录,必须执行mkdir /usr/hadoop/tmp/创建它,否则后面运行会报错。

编辑/usr/hadoop/etc/hadoop/mapred-site.xml:

(1)   mv /usr/hadoop/etc/hadoop/mapred-site.xml.template /usr/hadoop/etc/hadoop/mapred-site.xml

(2)   在<configuration>中添加如下:

<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce job tracker runs
at. If “local”, thenjobs are run in-process as a single map
and reduce task.
</description>
</property> <property>
<name>mapred.map.tasks</name>
<value>10</value>
<description>As a rule of thumb, use 10x the number of slaves(i.e., number of tasktrackers).
</description>
</property> <property>
<name>mapred.reduce.tasks</name>
<value>2</value>
<description>As a rule of thumb, use 2x the number of slaveprocessors (i.e., number of tasktrackers).
</description>
</property>

编辑/usr/hadoop/etc/hadoop/hdfs-site.xml,在<configuration>中添加如下:

<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be specified when the file iscreated.
The default is used if replication is not specified in create time.
</description>
</property>

运行Hadoop

在初次运行Hadoop的时候需要初始化Hadoop文件系统,命令如下:

$cd /usr/hadoop/bin

$./hdfs namenode -format

如果执行成功,你会在日志中(倒数几行)找到如下成功的提示信息:

common.Storage: Storage directory/usr/hadoop/tmp/hadoop-hduser/dfs/name has been successfully formatted.

运行命令如下:

$cd /usr/hadoop/sbin/

$./start-dfs.sh

注:该过程需要多次输入密码, 如果不想多次输入密码,可先用ssh建立信任。

$ jps

4266 SecondaryNameNode

4116 DataNode

4002 NameNode

注:用jps查看启动了三个进程。

$./start-yarn.sh

cd /usr/hadoop/sbin/

$ jps

4688 NodeManager

4266 SecondaryNameNode

4116 DataNode

4002 NameNode

4413 ResourceManager

查看Hadoop资源管理器

http://192.168.128.129:8088/,将其中的192.168.128.129替换为你的实际IP地址。

测试Hadoop

cd /usr

$ wget http://www.gutenberg.org/cache/epub/20417/pg20417.txt

$ cd hadoop

$ bin/hdfs dfs -mkdir /tmp

$ bin/hdfs dfs -copyFromLocal /usr/pg20417.txt /tmp 

$ bin/hdfs dfs -ls /tmp

$ bin/hadoop jar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /tmp/ /tmp-output

如果一切正常的话,会输入相应的结果,可以从屏幕输出看到。

$bin/hadoop fs -ls /tmp-output可以查看/tmp-output任务完成情况,会显示两个文件:

-rw-r–r–   1 hadoop supergroup          0 2013-10-28 23:09 /tmp-output/_SUCCESS

-rw-r–r–   1 hadoop supergroup     196192 2013-10-28 23:09 /tmp-output/part-r-00000

通过 bin/hadoop fs -cat /tmp-output/part-r-00000 查看结果

停止Hadoop

若停止hadoop,依次运行如下命令:

$./stop-yarn.sh

$./stop-dfs.sh

[置顶] 单机版hadoop实例安装的更多相关文章

  1. [置顶] TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)

    eclipse .MyEclipse 配置安装 git:http://wenku.baidu.com/link?url=gMT4a7K6EJWAztuwun73oPHiKqlydEdn5F3S2Win ...

  2. [置顶] 使用U盘安装ubuntu系统

    使用U盘安装ubuntu系统 在网上找了很多教程,都不起效,提示:“从光盘上读取数据出错”. 总结出了几个关键点. 首先,版本,Ubuntu 12.04 Server,一般的U盘安装都会报:“从光盘上 ...

  3. [置顶] MyElipse9.0 M1安装svn(测试100%通过)

    为什么标题要写100%通过呢?原因是以前的方法(直接复制到plugin里(MyEclipse 6.0可以,我试过),link安装)都不好用了,9.0M1不吃这一套,所以告诉大家这么做一定能够装上!! ...

  4. [置顶] C++ sizeof实例详解

    在C++中使用sizeof要比C复杂很多,因为C++类中有static静态变量,virtual虚函数,还有继承.派生等.sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是 ...

  5. [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁

    [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁 如标题,笔者查阅资料发现微软声称安装故障转角色后就可能发生上述描述问题,但不止于SSMS崩溃.建议使用win2012R ...

  6. centos中-hadoop单机安装及伪分布式运行实例

    创建用户并加入授权 1,创建hadoop用户 sudo useradd -m hadoop -s /bin/bash 2,修改sudo的配置文件,位于/etc/sudoers,需要root权限才可以读 ...

  7. JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念

    JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念 <html> <body> <script type="t ...

  8. win应用只允许单个实例运行,并将已运行实例窗口置顶

    关键词:windows,c++,桌面应用,单个实例,窗口置顶 目标:1.判断本程序是否已有一个实例在运行.2.若有,则激活已在运行的实例(将其窗口置顶),并退出当前运行. 1.使用semaphore来 ...

  9. [置顶] SQL Server 2005 双机热备的实现

    [置顶] SQL Server 2005 双机热备的实现 分类: SQLSERVER2011-08-24 21:25 901人阅读 评论(0) 收藏 举报 sql servermicrosoftsql ...

随机推荐

  1. c++ 内存泄露的检查

    对于c++的内存泄露检测,除了我们自己手动检查以外,还可以使用c++中的函数来帮助我们检测, 如下代码: #include "stdafx.h" #include <stri ...

  2. [JavaScript] 初中级Javascript程序员必修学习目录

    很多人总感觉javascript无法入门,笔者在这里写一下自己的学习过程,以及个人认 为的最佳看书过程,只要各位能按照本人所说步骤走下去,不用很长时间,坚持 个3个月,你的js层级会提高一个档次,无他 ...

  3. MyEclipse使用自己的JDK和Tomcat

    配置tomcat:window-->preferences-->myeclipse-->servers-->tomcat-->选一个-->右边选择一的tomcat的 ...

  4. ireport 在 AIX Linux websphere下的字体安装

    首先,ireport在linux下有些时候是正常的,而有些时候却不正常,只要是汉字就出不来的情况我今天是遇到了. ireport在Linux下不显示中文汉字的解决方法: 将字体文件(后缀名必须是ttf ...

  5. HDU4530+模拟

    /* */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorith ...

  6. What's this?(js)

    What's this? 由于运行期绑定的特性,JavaScript 中的 this 含义非常多,它可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式 随着函数使用场合的不同,this的 ...

  7. 目标识别:Bag-of-words表示图像

    BOW (bag of words) 模型简介 Bag of words模型最初被用在文本分类中,将文档表示成特征矢量.它的基本思想是假定对于一个文本,忽略其词序和语法.句法,仅仅将其看做是一些词汇的 ...

  8. 用C++ 设计一个不能被继承的类

    http://blog.sina.com.cn/s/blog_69d9bff30100odlz.html 在Java 中定义了关键字final ,被final 修饰的类不能被继承.但在C++ 中没有f ...

  9. javaweb学习总结(二十八)——JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  10. ServletInvocableHandlerMethod:167 - Error resolving argument

    at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(R ...