二、hadoop伪分布搭建

标签: hadoop伪分布Ubuntujdk
2250人阅读 评论(1) 收藏 举报
分类:

  环境                                              

虚拟机:VirtualBox

Ubuntu:14.04

hadoop:2.6

  安装                                             

1、创建hadoop用户

sudo useradd -m hadoop -s/bin/bash

Ubuntu终端复制粘贴快捷键】

【在Ubuntu终端窗口中,复制粘贴的快捷键需要加上shift,即粘贴是 ctrl+shift+v。】

使用如下命令修改密码,按提示输入两次密码 hadoop :

sudo passwd hadoop

可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:

sudo adduser hadoop sudo

2、切换到hadoop用户下

su hadoop

3、安装SSH server、配置SSH无密码登陆

集群、单节点模式都需要用到SSH登陆(类似于远程登陆,你可以登录某台Linux电脑,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

sudo apt-get install openssh-server

安装后,可以使用如下命令登陆本机:

ssh localhost


此时会有提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码hadoop,这样就登陆到本机了。

但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。

首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

  1. exit # 退出刚才的 ssh localhost
  2. cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
  3. ssh-keygen -t rsa # 会有提示,都按回车就可以
  4. cat id_rsa.pub >> authorized_keys # 加入授权

此时再用 ssh localhost 命令,无需输入密码就可以直接登陆


4、安装Java环境

Java环境可选择 Oracle 的 JDK,或是 OpenJDK,按http://wiki.apache.org/hadoop/HadoopJavaVersions中说的,新版本在 OpenJDK 1.7 下是没问题的。为图方便,这边直接通过命令安装 OpenJDK 7。

sudo apt-get install openjdk-7-jre openjdk-7-jdk

OpenJDK 默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (32位系统则是 /usr/lib/jvm/java-7-openjdk-i86 ,可通过命令dpkg -L openjdk-7-jdk查看到)。安装完后就可以使用了,可以用java -version 检查一下。

接着需要配置一下 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置(扩展阅读:设置Linux环境变量的方法和区别):

vi ~/.bashrc

在文件最前面添加如下单独一行(注意 = 号前后不能有空格),并保存:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

如下图所示(该文件原本可能不存在,内容为空,这不影响):


配置JAVA_HOME变量

接着还需要让该环境变量生效,执行如下代码:

source ~/.bashrc# 使变量设置生效

echo $JAVA_HOME# 检验是否设置正确

设置正确的话,会输出如下结果:


成功配置JAVA_HOME变量

5、安装hadoop

进入hadoop所在的目录将其解压到/usr/local/hadoop

  • sudo tar -zxvf ./hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中
  • cd /usr/local/
  • sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
  • sudo chown -R hadoop:hadoop ./hadoop # 修改文件权限
  • Hadoop解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示命令用法:

    cd ./hadoop

    ./bin/hadoop

    6、hadoop伪分布配置

    Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件core-site.xmlhdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

    修改配置文件 core-site.xml (vim /usr/local/hadoop/etc/hadoop/core-site.xml),将当中的

    <configuration>
    </configuration>
    

    修改为下面配置:

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

    同样的,修改配置文件 hdfs-site.xml

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
    </configuration>
    
    修改配置文件yarn-site.xml
    <configuration> 

         <property>  

            <name>mapreduce.framework.name</name>  

            <value>yarn</value> 

        </property>  
        <property> 

            <name>yarn.nodemanager.aux-services</name>  

            <value>mapreduce_shuffle</value>  

       </property> 

    </configuration> 

    配置完成后,执行 namenode 的格式

    bin/hdfs namenode -format

    成功的话,会看到successfully formatted 的提示,且倒数第5行的提示如下,Exitting with status 0 表示成功,若为Exitting with status 1 则是出错

    接着开启如下进程

    sbin/start-dfs.sh

    sbin/start-yarn.sh

    至此,所有的已经安装完事,且所有服务都已经启动

     验证                           

    http://127.0.0.1:8088


    http://localhost:50070


    http://127.0.0.1:19888


     提示                           

    每次进入虚拟机系统时必须先进入hadoop用户下(su hadoop),才能开启服务,否则会报错

    参考文章:www.powerxing.com/install-hadoop/

    QQ交流:1923361654

    hadoop完全分布式部署参考:http://blog.csdn.net/gamer_gyt/article/details/51991893

    hadoop单机版部署参考:http://blog.csdn.net/gamer_gyt/article/details/46545303

    0
    0

    查看评论
    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
      Thinkgamer微博
      个人微信,一起交流!

       扫一扫,关注我




      个人资料
      • 访问:692926次
      • 积分:8900
      • 等级:
      • 排名:第2115名
      • 原创:211篇
      • 转载:22篇
      • 译文:2篇
      • 评论:259条
      个人简介
      姓名:Thinkgamer

      Github:https://github.com/thinkgamer

      主攻:云计算/python/数据分析

      程度:熟悉/熟悉/熟悉

      微信:gyt13342445911

      Email:thinkgamer@163.com

      工作状态:在职ing

      心灵鸡汤:只要努力,你就是下一个大牛...

      hadoop/spark/机器学习群:279807394(大神建的群,蹭个管理员)

      欢迎骚扰........
      博客专栏
      最新评论