Hadoop环境搭建2_hadoop安装和运行环境

1 运行模式:

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

伪分布模式(Pseudo-Distributed Mode):  伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。

全分布模式(Fully Distributed Mode):   Hadoop守护进程运行在一个集群上。

2 下载Hadoop:------------------笑一个------------------------ 

获取安装包后
在home/user目录下创建一个文件夹hadoop, 便于管理hadoop;
更改该文件夹的所有者:sudo chown -R user:usergroup hadoop
有了这步后,更改文件夹,就可以在Ubuntu界面下来操作来

3 配置的过程:

  1修改配置文件:

    [email protected]:~/hadoop/conf$ gedit hadoop-env.sh   

    添加如下:

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64 (视你机器的java安装路径而定)
export HADOOP_HOME=/home/five/hadoop
export PATH=$PATH:/home/five/hadoop/bin

生效:source hadoop-env.sh

提示:当然你可以在用户环境变量中添加第二个第三个,以便在任意路径下都可以快速执行hadoop命令

2修改文件:

  文件1:--------------------------- 

    conf/core-site.xml文件内容修改为下面内容:

  <configuration>

     <!-- global properties 以下部分可以不用添加,在1.2.1的示例运行的时候回出现问题-->
     <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/five/hadoop/tmp</value>
   </property>

    <!-- file system properties -->  hadoop核心配置文件,HDFS 的地址和端口号
   <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
   </property>
  </configuration>

文件2:---------------------------

 conf/hdfs-site.xml文件内容修改为下面内容:(replication默认为3,如果不修改,datanode少于三台就会报错)
  <configuration>
   <property>
    <name>fs.replication</name>
    <value>1</value>
   </property>
  </configuration>

文件3:---------------------------

    这是Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。
  conf/mapred-site.xml文件内容修改为下面内容:
  <configuration>
   <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
   </property>
  </configuration>

3 格式化Hadoop文件系统,在命令行输入命令:

  bin/hadoop namenode -format

  显示:15/03/16 15:43:46 INFO common.Storage: Storage directory /home/five/hadoop/hdfs/name has been successfully formatted.

  上面命令如果有错,hadoop目录下执行,或者在环境变量中添加:hadoop的bin目录后,运行:hadoop namenode -format

4 、启动Hadoop,在命令行输入命令:

    bin/start-all.sh
    ./start-all.sh
    用bin/start-all.sh;也可以用bin/start-dfs.sh和bin/start-mapred.sh)

  5

隔10秒后,因为可能会报错:
然后在命令行下输入:jps
发现有:
4574 TaskTracker
4630 Jps
2865 JobTracker
4237 DataNode
4394 SecondaryNameNode
4092 NameNode

6 验证Hadoop是否安装成功,在浏览器中输入下面网址,如果正常打开说明安装成功。

  http://localhost:50030 (mapreduce的web页面)
  http://localhost:50070 (hdfs的web页面)



错误信息:

1 http://localhost:50070 ,第二个打不开:

查看Logs:
2015-03-16 16:43:20,701 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode:
java.net.UnknownHostException: Invalid hostname for server: master

  打开core-site.xml中的主机:看是不是正确,由于我之前写错了,



  2 jps命令后,发现没有DataNode:可能是由于多次格式化NameNode造成

    ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs

1.进入每个datanode的 dfs.data.dir 的 current目录,修改里面的文件VERSION

#Fri Nov 23 15:00:17 CST 2012
namespaceID=246015542
storageID=DS-2085496284-192.168.1.244-50010-1353654017403
cTime=0
storageType=DATA_NODE
layoutVersion=-32

里面有个 namespaceID 将其修改成为报错信息中的

namenode namespaceID = 971169702

相同的 namespaceID .

然后重新启动 datanode全部都能正常启动了。



4 运行示例: 

(1)先在本地磁盘建立两个输入文件 file01和file02
$echo "Hello World Bye World" > file01
$echo "Hello Hadoop Goodbye Hadoop" > file02
例如:我的是:/home/five/input : file01 file02

(2)在hdfs中建立一个input目录:$hadoop fs -mkdir input
(3)将file01和file02拷贝到hdfs中:
$hadoop fs -copyFromLocal /home/five/input/file0* input
(4)执行wordcount:
$hadoop jar hadoop/hadoop-examples-1.2.1.jar wordcount input hadoop/output

hadoop jar hadoop-examples-1.0.4.jar (指定例子所在jar包 ) wordcount (指定程序的名字) /user/hadoop/test-examples/world-count(输入参数)  /user/hadoop/test-examples/world-count-result(输出结果)

Error:1:需要是安装目录下对应的版本:hadoop-examples-1.2.1.jar

    2:如果提示创建Tem文件夹失败:删除那个在文件conf/core-site.xml中的属性

  

(5)完成之后,查看结果
$hadoop fs -cat hadoop/output/part-r-00000

显示如下信息:
.....
.....
15/03/17 15:16:24 INFO mapred.JobClient: map 0% reduce 0%
15/03/17 15:16:32 INFO mapred.JobClient: map 100% reduce 0%
15/03/17 15:16:40 INFO mapred.JobClient: map 100% reduce 33%
15/03/17 15:16:41 INFO mapred.JobClient: map 100% reduce 100%

5:参考:

http://www.linuxidc.com/Linux/2013-06/86106p2.htm
http://blog.csdn.net/wyswlp/article/details/10564847
http://www.cnblogs.com/forfuture1978/category/300670.html
http://www.linuxidc.com/Linux/2012-01/50880p2.htm

时间: 2024-11-25 23:03:43

Hadoop环境搭建2_hadoop安装和运行环境的相关文章

在CentOS上安装GO运行环境及其开发工具LiteIDE

早在五年前,我就想着要是微软出一套基于C语言的易于开发的Web框架该多好,那性能肯定比Asp.Net要高很多.后来知道有个PHP性能不错,但是又由于讨厌在HTML页面里面写蛋疼的后台代码,于是一度很鄙视PHP.最近由于云计算的风行,GO语言也被追捧,下面我就在CentOS系统上安装GO运行时和开发工具做尝试. 一.安装GO运行环境 1.安装GO运行环境,必须确保机子上已经安装了GCC编译器.想知道机子上有没有安装GCC简单,只需输入"gcc --version"查看即可,如果提示了GC

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客 VPS主机   2014年06月02日 17:20 评论» 文章目录 Debian上安装 CentOS上安装 Ubuntu上安装 装Wordpress HHvm安装小结 HHVM是一个强大的可以用于替代PHP的建站环境,出自Facebook团队,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点.实践证明HHVM可以明显地提升PHP执行速度,节省大量的服务器资源

centos7 yum安装java运行环境,初识hadoop

安装java运行环境 1.实验机相关信息:[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected] ~]# uname -r3.10.0-327.el7.x86_62.配置epel源,以yum方式安装openjdkyum search java | grep -i JDKyum install java-1.8.0-openjdk java-1.8.

EJB3基本概念、运行环境、下载安装与运行jboss

EJB3基本概念 什么是EJB: EJB(EnterpriceJavaBeans)是一个用于分布式业务应用的标准服务端组件模型.采用EJB架构编写的应用是可伸的.事务性的.多用户安全的.采用EJB编写的这些应用,可以部署在任何支持EJB规范的服务器平台,如Jboss.weblogic等. EJB用来干什么? EJB实际是用来编写业务层代码.如果大家对于MVC(model-view-controller)结构的应用有所了解的话,我们知道一个基于MVC结构的应用应包含显示层.控制层和业务层,假设我们

linux(CentOS) 下安装java运行环境及输出Hello World

最近打算学习hadoop和spark,需要安装java运行环境,我用的系统是CentOS. 一.安装jdk 1.进入usr目录 cd /usr 2.在usr目录下建立java安装目录 mkdir java 3.将jdk-8u45-linux-x64.rpm拷贝到java目录下 cp /root/hadoop_home/jdk-8u45-linux-x64.rpm /usr/java/ 4.安装jdk cd /usr/java rpm -ivh jdk-8u45-linux-x64.rpm 5.安

【Mac + Android】之Android Studio 环境搭建,AVD模拟器运行(包括Genymotion模拟器插件配置运行)

参考主要: <Mac android studio 环境搭建和真机运行> <如何在mac本上安装android sdk> <mac系统下android studio创建手机模拟器> 参考次要: <mac机中使用命令行方式启动android sdk manager> <如何在Mac中使用Android SDK> <Mac上运行安卓手机模拟器> 其他参考: Windows: <Android SDK Manager 和 AVD Ma

phonegap 4.2 环境搭建 及 项目创建 运行

安装Java 和 ADT 1.首先要安装java运行环境jdk,这个可以自行到官网下载.百度也有下载连接:( http://www.baidu.com/s?tn=baidu&ie=utf-8&f=8&wd=jdk ),这个主意要将java安装路径的bin目录加入系统或用户的环境变量path中,安装完可以在cmd命令行窗口输入java -version,看是否有反应.2.然后下载ADT(Android Development Tools),这个到官网下载:(http://develo

图文详解安装PHP运行环境

一.什么是PHP运行环境 能够理解人与计算机交流时语言软件,通常指解释PHP编程语言的软件. 例如: PHP(代码) 需要PHP超文本预编译器(软件). Java需要JVM虚拟机 二.安装PHP运行环境(PHP软件) 以下是两个PHP软件32位. 直接解压就表示安装. 我们在上课期间使用32位.因为32位软件既可以运行在32位电脑上也可以运行在64位的电脑上. 注意:安装目录不要出现特殊字符或者是中文 三.如何让PHP环境运行(理解)PHP代码 有两种方式: 1.直接使用php软件直接运行(理解

meteor安装Android运行环境的一系列问题

meteor安装Android运行环境的一系列问题 命令1:meteor install-sdk android 问题1 Installing Android Build Tools events.js:72 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at errnoException (net.js:904:11) at Pipe.onread (net.js:558:19) 解决方案 修改hosts文件,[点击