一、引言

  在完成了Storm的环境配置之后,想着鼓捣一下Hadoop的安装,网上面的教程好多,但是没有一个特别切合的,所以在安装的过程中还是遇到了很多的麻烦,并且最后不断的查阅资料,终于解决了问题,感觉还是很好的,下面废话不多说,开始进入正题。

  本机器的配置环境如下:

    Hadoop(2.7.1)

    Ubuntu Linux(64位系统)

  下面分为几个步骤来详解配置过程。

二、安装ssh服务

  进入shell命令,输入如下命令,查看是否已经安装好ssh服务,若没有,则使用如下命令进行安装:

    sudo apt-get install ssh openssh-server

  安装过程还是比较轻松加愉快的。

三、使用ssh进行无密码验证登录

  1.创建ssh-key,这里我们采用rsa方式,使用如下命令:

    ssh-keygen -t rsa -P ""

  2.出现一个图形,出现的图形就是密码,不用管它

    cat ~/.ssh/id_rsa.pub >> authorized_keys(好像是可以省略的)

  3.然后即可无密码验证登录了,如下:

    ssh localhost

  成功截图如下:

    

四、下载Hadoop安装包

  下载Hadoop安装也有两种方式

    1.直接上官网进行下载,http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz

    2.使用shell进行下载,命令如下:

      wget http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz

  貌似第二种的方法要快点,经过漫长的等待,终于下载完成。

五、解压缩Hadoop安装包

  使用如下命令解压缩Hadoop安装包

    tar -zxvf hadoop-2.7.1.tar.gz

  解压缩完成后出现hadoop2.7.1的文件夹

六、配置Hadoop中相应的文件

  需要配置的文件如下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,所有的文件均位于hadoop2.7.1/etc/hadoop下面,具体需要的配置如下:

  1.core-site.xml 配置如下:    

    <configuration>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/leesf/program/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
      </property>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
      </property>
    </configuration>

  其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。

  2.mapred-site.xml.template配置如下:    

    <configuration>
      <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
      </property>
    </configuration>

  3.hdfs-site.xml配置如下:

    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/leesf/program/hadoop/tmp/dfs/name</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/leesf/program/hadoop/tmp/dfs/data</value>
      </property>
    </configuration>

  其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。

  补充,如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop.env.sh里面,具体如下:

    export JAVA_HOME="/home/leesf/program/java/jdk1.8.0_60"

七、运行Hadoop

  在配置完成后,运行hadoop。

  1.初始化HDFS系统

    在hadop2.7.1目录下使用如下命令:

    bin/hdfs namenode -format

    截图如下:

     

    过程需要进行ssh验证,之前已经登录了,所以初始化过程之间键入y即可。

    成功的截图如下:

    

    表示已经初始化完成。

  2.开启NameNodeDataNode守护进程

    使用如下命令开启:

    sbin/start-dfs.sh,成功的截图如下:

    

  3.查看进程信息

    使用如下命令查看进程信息

    jps,截图如下:

    

    表示数据DataNode和NameNode都已经开启

  4.查看Web UI

    在浏览器中输入http://localhost:50070,即可查看相关信息,截图如下:

    

  至此,hadoop的环境就已经搭建好了。下面开始使用hadoop来运行一个WordCount例子。

八、运行WordCount Demo

  1.在本地新建一个文件,笔者在home/leesf目录下新建了一个words文档,里面的内容可以随便填写。

  2.在HDFS中新建一个文件夹,用于上传本地的words文档,在hadoop2.7.1目录下输入如下命令:

    bin/hdfs dfs -mkdir /test,表示在hdfs的根目录下建立了一个test目录

    使用如下命令可以查看HDFS根目录下的目录结构

    bin/hdfs dfs -ls /

    具体截图如下:

    

    表示在HDFS的根目录下已经建立了一个test目录

  3.将本地words文档上传到test目录中

    使用如下命令进行上传操作:

    bin/hdfs dfs -put /home/leesf/words /test/

    使用如下命令进行查看

    bin/hdfs dfs -ls /test/

    结果截图如下:

    

    表示已经将本地的words文档上传到了test目录下了。

  4.运行wordcount

    使用如下命令运行wordcount:

    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/words /test/out

    截图如下:

    

    运行完成后,在/test目录下生成名为out的文件,使用如下命令查看/test目录下的文件

    bin/hdfs dfs -ls /test

    截图如下:

    

    表示在test目录下已经有了一个名为Out的文件目录

    输入如下命令查看out目录下的文件:

    bin/hdfs dfs -ls /test/out,结果截图如下:

    

    表示已经成功运行了,结果保存在part-r-00000中。

  5.查看运行结果

    使用如下命令查看运行结果:

    bin/hadoop fs -cat /test/out/part-r-00000

    结果截图如下:

    

  至此,运行过程就已经完成了。

九、总结

  在此次的hadoop配置过程遇到了很多问题,hadoop1.x和2.x的命令还是差别很大的,配置过程中还是一一的解决了问题,配置成功了,收获也很多,特此把这次配置的经验分享出来,也方便想要配置hadoop环境的各位园友,在配置的过程中有任何问题都欢迎讨论,谢谢各位园友的观看~

参考链接如下:

http://www.linuxidc.com/Linux/2015-02/113487.htm

http://www.cnblogs.com/madyina/p/3708153.html

【大数据】Linux下安装Hadoop(2.7.1)详解及WordCount运行的更多相关文章

  1. 联想ThinkPad S3-S440虚拟机安装,ubuntu安装,Hadoop(2.7.1)详解及WordCount运行,spark集群搭建

    下载ubuntu操作系统版本 ubuntu-14.10-desktop-amd64.iso(64位) 安装过程出现错误: This kernel requires an X86-64 CPU,but ...

  2. 大数据学习系列之五 ----- Hive整合HBase图文详解

    引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环 ...

  3. Linux下安装Hadoop完全分布式(Ubuntu12.10)

    Hadoop的安装非常简单,可以在官网上下载到最近的几个版本,最好使用稳定版.本例在3台机器集群安装.hadoop版本如下: 工具/原料 hadoop-0.20.2.tar.gz Ubuntu12.1 ...

  4. 大数据的开始:安装hadoop

    为实现全栈,从今天开始研究Hadoop,个人体会是成为某方面的专家需要从三个方面着手 系统化的知识(需要看书或者比较系统的培训) 碎片化的知识(需要根据关注点具体的深入的了解) 经验的积累(需要遇到问 ...

  5. Linux下rz命令使用的实例详解

    Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...

  6. 全网最全最详细的Windows下安装Anaconda2 / Anaconda3(图文详解)

    不多说,直接上干货! 说明: Anaconda2-5.0.0-Windows-x86_64.exe安装下来,默认的Python2.7 Anaconda3-4.2.0-Windows-x86_64.ex ...

  7. VNC CentOS Linux下VNC Server远程桌面配置详解

    VNC概述 VNC (Virtual Network Console)是虚拟网络控制台的缩写.VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 ...

  8. (总结)CentOS Linux下VNC Server远程桌面配置详解

    一.安装相应桌面环境与vnc服务端和客户端: # yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME桌面环 ...

  9. Linux下同步工具inotify+rsync使用详解

    1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这 ...

随机推荐

  1. position定位

    CSS盒模型和定位的类型 为了搞清楚定位首先你得了解CSS盒模型.在上一句中的链接是我写在InstantShift 中的一篇关于盒模型的文章.我在那篇文章做了详细的讲解并会在这篇文章中做一个快速的总结 ...

  2. JavaScript知识总结<一>

    JavaScript核心基础语法: 1.什么是JavaScript? 我们知道在Web标准中网页由:结构.形式.行为三部分组成:结构由标准形式XHTML.形式又标准形式CSS,那么行为的表现就由Jav ...

  3. android oauth 微博客户端 架构一

    最近研究oauth协议,为了进一步 的巩固自己的学习成果,顾完成了android的新浪客户端.他的架构如下: UI层微博中的各个窗体  就是所谓的各个activitylogic层程序的核心控制调度模块 ...

  4. java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器

    java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...

  5. 从KRE到XRE:ASP.NET 5中正在消失的那些K

    前几天写了篇博客ASP.NET 5中的那些K,刚把ASP.NET 5中的那些K搞明白了些,昨天发现微软正在让那些K消失. 首先是在 KRuntime 的git日志中发现的: * Runtime ren ...

  6. 将Win8.1/WP8.1应用迁移到Universal Windows Platform

    在上一篇在VS2015 RC打开CTP中创建的工程,我们介绍了怎么在RC中打开CTP中创建的Universal 工程,这一篇我们来讲下怎么将Windows 8.1/WP8.1的应用迁移到Univers ...

  7. require、module、exports dojo中的三个特殊模块标识

    查看dojo源码过程中,发现这三个模块名并不以dojo.dijit.dojox开头,在dojo加载器中属于特殊模块名. require 这是一个上下文智能的加载器. 我们通过dojoConfig配置了 ...

  8. EF 外键问题

    在做一个评论功能的时候,发现用户的id不对,打开数据库一看,莫名其妙的新增了几个用户.明显是将外键中的用户新增到用户表中了. 评论表: public class CourseComment : Bas ...

  9. Winform启动隐藏,WebBrowser交互JS

    一.启动隐藏 Winform比较奇怪,Load的时候设置Visiable=false,无效.webBrowser_DocumentCompleted之后调用hide隐藏了窗体,但是在notifyIco ...

  10. Nim教程【六】

    目前看来这是国内第一个关于Nim的系列教程 先说废话 Rust1.0已经发布了, 国内有一个人为这个事情写了一篇非常长的博客, 这篇文章我前几天草草的看了一下,只记得这位朋友追Rust的艰辛,其他内容 ...