• 搭建Hadoop集群步骤


     

                              ——基于三台机器

    一、前提

    1、  首先要有三台已联网机器,假设为A,B1,B2。其中A:192.168.81.91;B1:192.168.81.92;B2:192.168.81.93。机器装有Ubuntu10.04服务器版64位操作系统。

    2、  对三台机器做相同的处理。为Hadoop集群的使用新增一个专门的用户,假设用户名和密码均为hadoop。然后使用hadoop用户账户登录到系统。具体操作步骤为:

    $sudo useradd hadoop
    $sudo passwd hadoop
    $sudo groupadd hadoop
    $sudo usermod -g hadoop hadoop
    $sudo mkdir /home/hadoop
    $sudo chown hadoop: hadoop /home/hadoop

    3、  修改hostname和hosts文件。首先修改各机器上的/etc/hostname文件。我们假设A机器作为master,B1和B2作为slaver。则修改A机器的hostname文件内容为master。修改B1机器上的hostname文件内容为slaver1,修改B2机器上的hostname文件内容为slaver2。操作步骤为:

    $sudo vim /etc/hostname
    %进入了vim编辑器编辑hostname文件,假设为master
    %完成后退出vim编辑器
    $sudo hostname master
    $hostname                     %查看是否成功

    三台机器的hosts文件都相同,类似于以下内容,进入编辑方法与hostname文件编辑一致。

    192.168.81.191    master
    192.168.81.192    slaver1
    192.168.81.193    slaver2

    4、  在各机器上安装JDK1.6或者更高版本。在Ubuntu10.04服务器上自带openJDK,但这对于安装Hadoop不适用,必须安装sun-java JDK。安装方式如下:

    $sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"
    $sudo apt-get update
    $sudo apt-get install sun-java6-jdk
    %然后弹出java安装界面,以此选择yes和ok可以完成sun-java6-jdk的安装。
    %但是此时系统使用的JDK还是默认的open JDK,需要我们修改为已经安装的JDK
    $sudo update-alternatives --config java

     

    输入代表所安装sun-java6-JDK的数字,回车。OK,设置完成。可以用java –version命令验证。如果出现以下结果,则表明sun JDK已经安装完成。

     

    5、  配置master用SSH免密码登录到所有slaver。使用ssh –version检查系统是否安装ssh。如果显示如下结果吗,则表明系统已安装SSH。

     

    如果没有安装,请使用下面命令安装:

    $sudo apt-get install ssh

    系统安装ssh完成后就开始配置无密码登录了。需要对每台slaver都做相同的处理。以下操作是在master机器上对slaver1进行操作的步骤,slaver2类似。

    $ls –al /home/hadoop
    %看是否存在.ssh这个隐藏文件夹,一般情况下安装了ssh后会自动创建,如果没有可以使用命令mkdir /home/hadoop/.ssh创建。
    $ssh-keygen -t -dsa -P ‘’ -f ~/.ssh/id_dsa
    %以上命令是生成密钥,-t表示指定密钥类型(注意要小写),此处生成的是dsa密钥认证;-P用于提供密语(注意要大写),此处为空;-f指定生成的密钥文件,此处指定为 /home/hadoop/.ssh/id_dsa。
    $cd ~/.ssh
    $scp id_dsa.pub hadoop@slaver1:/home/hadoop/.ssh/ id_dsa.pub
    %可能拷贝之前需要输入远程机器的密码,提示输入密码的时候输入slaver1的登录密码就行。OK,此时已经把master公钥拷贝到远程机器slaver1上了。下面到slaver1上进行操作:
    $cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    %这句命令的意思是把公钥加到用于认证的公钥文件中。至此无密码登录slaver1已经设置完成。可以使用下面命令检验(在master下使用命令):
    $ssh slaver1

    二、安装hadoop(以下以hadoop-0.20.2为例)

    %以下所有操作可以只在master上进行配置,配置完成后将hadoop-0.20.2目录整体复制到所有slaver机器,复制目录的命令为:
    $scp -r ~/hadoop-0.20.2 hadoop@slaver1:~/

    1、  首先下载hadoop,使用如下命令:

    $cd ~

    2、  解压下载的hadoop压缩包,使用ls命令可以查看是否已下载并在当前目录,命令如下:

    $ls –al
    $tar –zxvf hadoop-0.20.2.tar.gz

    3、  解压后可以在当前目录得到一个hadoop-0.20.2子目录。配置需要修改的文件全部位于该目录的子目录conf下面。使用cd hadoop-0.20.2/conf进入conf目录。修改文件使用vim编辑器。

    (1)     修改hadoop-env.sh

    添加内容:

    (2)     修改core-site.xml

    (3)     修改hdfs-site.xml

    (4)     修改mapred-site.xml

    (5)     修改masters

    master

    (6)     修改slaves

    slaver1
    slaver2

    4、  为了方便hadoop使用,我们将hadoop的安装路径加到系统path中。使用如下命令:

    $sudo vim ~/.bashrc

    在文本编辑器下对.bashrc进行如下修改:

  • 相关阅读:
    J2EE中常用的名词解释
    java中的构造方法
    String s = new String("xyz");创建了几个StringObject?
    MySQL 学习笔记
    《SQL 必知必会》建表语句
    《SQL 必知必会》读书笔记
    IDEA 中项目代码修改后不自动生效,需要执行 mvn clean install 才生效
    curl 使用指南
    MySQL字段添加注释,但不改变字段的类型
    《痞子衡嵌入式半月刊》 第 14 期
  • 原文地址:https://www.cnblogs.com/wuxi/p/2845823.html
Copyright © 2020-2023  润新知