您的位置:首页 > 运维架构

Ubuntu 14.04 搭建单机版 hadoop 2.6.0 环境

2015-01-23 19:39 429 查看
最近需要hadoop,再加上 hadoop这么流行, 就打算开始学习hadoop, 关于hadoop的简介 就不再赘述了,只需先记住, HDFS(Hadoop分布式文件系统), MapReduce(计算模型) 是hadoop的 核心即可。

 首先  hadoop 平台的搭建有三种方式:

     单机版
     伪分布式版
     完全集群分布式         

首先先试着练习来安装 单机版hadoop

一、安装环境

          Ubuntu 14.04

         hadoop 2.6.0

         java jdk 1.7

        openssh

二、配置用户、组

     1, 创建hadoop组     


            在终端执行:

            sudo addgroup hadoop

           如下图






        2,创建hadoop用户

             在hadooop用户组添加hadoop用户

             sudo adduser -ingroup hadoop hadoop表示在hadoop 组 添加hadoop 用户

 


      3,为hadoop增加root权限

             赋予hadoop  root权限,就相当于每次执行权限指令时候,只需sudo 就可以,方法如下,修改/etc/sudoers, 如下图,增加              hadoop    ALL=(ALL:ALL) ALL,  执行  sudo  gedit /etc/sudoers  修改之后,如下图

        


         保存退出即可

三、安装SSH 服务

        首先SSH是一个安全的传输协议,可以进行远程登录,hadoop使用ssh 协议来进行数据通信

        建议先  切换到 刚刚 建立的 hadoop 用户下进行操作: 
su hadoop


       1,安装ssh 服务

             sudo apt-get install open-ssh-server

         2,  建立ssh无密码登录本机

            执行  ssh-keygen 生成密钥  中间需要几个回车

          




        然后可以试试 ssh localhost 需要输入密码, 比较麻烦。如果把 key 拷贝到远程机器上,下次ssh链接的时候就无需输入密码登陆了   :  执行  ssh-copy-id  localhost   之后, 在继续ssh localhost就无需输入密码了。 然后在 执行exit 返回到 hadoop用户

如下:

 


四、安装java jdk

         运行hadoop ,jdk 是必需 的。 安装jdk 也比较容易;可以 自己选择版本下载手动安装, 也可以直接apt-get   ,这里为了方便,就直接安装apt-get的openjdk了

        1,直接 执行  sudo apt-get openjdk-7-jdk

        2,查看jdk是否安装完成   java -version

  

                

五、配置安装hadoop

         hadoop 各个版本差别挺大, 但是作为练习 就直接用了最新版 2.6.0

        1,安装解压

           官网直接下载就好http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/

          一般是安装到 /usr/local , 假设下载的tar.gz 在downloads ,将其移动到 /usr/local :

          sudo cp hadoop-2.6.0.tar.gz  /usr/local

           之后进入/usr/local 目录下: 解压sudo tar -zxvf haddoop-2.6.0.tar.gz   



          解压之后 在该目录下 会多出一个 hadoop-2.6.0的目录,为了方便,一般 是重命名为hadoop:

          sudo  mv  hadoop-2.6.0  hadoop


         这就算安装好了,下面就是修改配置文件了

      2,修改配置文件

           首先修改 hadoop文件夹的权限用户:  sudo chown -R hadoop:hadoop  hadoop

           修改
/.bashrc
文件,添加环境变量

            首先查看自己的jdk目录:update-alternatives --config java如下:

       

      


          我们只需要到根目录 也就是 :/usr/lib/jvm/jdk1.7.0_71 

          然后就是修改 hadoop的 hadoop-env.sh

         sudo gedit /etc/hadoop/hadoop-env.sh

         修改export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_71


         如下:

  


        


保存退出  ,至此,单机版的配置 就基本完成了。 下面就是测试了:

 

六、测试单机版hadoop       


    1,首先格式化

           bin/hadoop  namenode -format

        之后出现: 表示格式化成功

   

     


  

  2、运行测试程序

        在hadoop目录下,
hadoop-examples-2.6.0.jar
这个是测试程序,里面包含了很多测试用的代码,我们运行一个经典的,wordcount程序: 就是 统计单词频率的一个程序, 首先我们需要建立一个input 文件夹,作为输入

    sudo mkdir input 

    然后随便复制文本进去: 这里就用hadoop目录下的  README.txt 作为测试样本。 

   sudo  cp README.txt input

   然后执行jar 包 运行样例:

    bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar  org.apache.hadoop.examples.WordCount input output

  

   结果如下:

   




  稍等运行一会,会在/home/hadoop/下生成一个output目录,里面有
part-r-00000
_SUCCESS
两个文件,看到
_SUCCESS
就知道已经成功了,打开
part-r-00000
看看,每个单词的出现次数都给你统计好了吧。

    执行 cat output/* 可以查看 单词的出现次数~ 

  



 

   至此, 单机版的hadoop 已经完成, 可以写自己的程序; 虽然单机版并不能体现云计算的优势 , 在实际应用中并没有什么意义 , 但是在程序的测试与调试过程中 , 它们还是很有意义的 。

  后面还会相继搭建 伪分布式和 完全集群式的环境
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息