Sunday, May 17, 2015

ubuntu 15,jdk1.8上安装 单机hadoop 2.7成功

copy其他人的教程,他是用14+2.6实现,本人用的15+2.7实现,基本无差别
参考 http://blog.csdn.net/shomy_liu/article/details/43027783
注意他里面有点小错

最近需要hadoop,再加上 hadoop这么流行, 就打算开始学习hadoop, 关于hadoop的简介 就不再赘述了,只需先记住, HDFS(Hadoop分布式文件系统), MapReduce(计算模型) 是hadoop的 核心即可。
 首先  hadoop 平台的搭建有三种方式:
  •      单机版
  •      伪分布式版
  •      完全集群分布式          
首先先试着练习来安装 单机版hadoop

一、安装环境
          Ubuntu 15
         hadoop 2.7
         java jdk 1.8
        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 openssh-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,修改配置文件(如果java是默认安装的话,不需要修改jdk目录)
           首先修改 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 已经完成, 可以写自己的程序; 虽然单机版并不能体现云计算的优势 , 在实际应用中并没有什么意义 , 但是在程序的测试与调试过程中 , 它们还是很有意义的 。

No comments:

Post a Comment