二、hadoop伪分布搭建

来源:互联网 发布:网络人 netman 编辑:程序博客网 时间:2024/04/29 22:44

  环境                                              

虚拟机: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