zoukankan      html  css  js  c++  java
  • (2)虚拟机下hadoop1.1.2集群环境搭建

    hadoop集群环境的搭建和单机版的搭建差点儿相同,就是多了一些文件的配置操作。

    一、3台主机的hostname改动和IP地址绑定

    注意:以下的操作我都是使用root权限进行!

    (1)3太主机的基本网络环境

    CentOS6.5,32位,在虚拟机下实现。

    我在虚拟机下安装了3个centos6.5系统,其IP地址和主机名分别例如以下:

    192.168.1.103  hadoop

    192.168.1.105  hadoop0

    192.168.1.106  hadoop1


    这里,hadoop是master,hadoop0和hadoop1是两个slaves。


    (2)IP地址与hostname绑定

    在hadoop主机下:

    vi /etc/sysconfig/network

    将HOSTNAME改动为hadoop,见下图:



    在hadoop0主机下操作类似,将HOSTNAME改动为hadoop0;在hadoop1主机下操作类似,将HOSTNAME改动为hadoop1。


    在hadoop主机下:

    输入:vi /etc/hosts,在hosts下加入例如以下内容:

    192.168.1.103  hadoop
    192.168.1.105  hadoop0
    192.168.1.106  hadoop1
    然后通过scp命令,将改动好的hosts拷贝到hadoop0和hadoop1的/etc/hosts目录下覆盖:

    scp  /etc/hosts  root@hadoop0:/etc/hosts
    scp  /etc/hosts  root@hadoop1:/etc/hosts


    (3)測试3太主机之间能否Ping通

    在3台主机下分别输入:

    ping hadoop
    ping hadoop0
    ping hadoop1
    
    假设3太主机都能ping通,那说明前面的配置成功。

    二、SSH免password登陆

    在hadoop主机下:

    1.查看当前用户下(root)是否有.ssh的隐藏文件,假设没有就创建一个

    mkdir .ssh

    2.输入ssh-keygen -t  rsa

    这个命令会在.ssh目录下生成id_dsa和id_ds.pub两个文件,这私钥和公钥。

    3.输入

    cp id_rsa.pub authorized_keys

    这条命令是把公钥加到用于认证的公钥文件里

    4.验证SSH是否成功安装,以及能否够免password登陆本机

    ssh  localhost

    假设显演示样例如以下,表示成功安装

    5.将authorized_keys拷贝到hadoop0和hadoop1下的.ssh文件,这样就能够免password登陆hadoop0和hadoop1了。

    scp authorized_keys root@hadoop0:.ssh/
    scp authorized_keys root@hadoop1:.ssh/
    6.測试

    在hadoop主机下输入:

    ssh hadoop0
    ssh hadoop1
    在第一次登陆是须要password,以后则不要。到此,ssh的免password登陆完毕。


    三、jdk的安装和java环境变量配置

    (1)安装jdk1.6

    这里,我使用的jdk安装包例如以下,大家能够上网自行下载,这里推荐jdk为1.6为好。

    在hadoop下:


    将jdk安装包移动到/usr/local这个文件夹下,(local下的文件能够删除,没实用的)。

    然后首先是给jdk安装包“X”的运行权限,chmod   u+x   jdk-6u24-linux-i586.bin。(如有x权限请忽略这一步)

    然后就是运行安装就可以,jdk-6u24-linux-i586.bin。

    然后将/usr/local下jdk的目录从命名为jdk。然后通过scp命令将jdk目录拷贝到另外两个slaves主机。

    scp -r /etc/local/jdk root@hadoop0:/etc/local
    scp -r /etc/local/jdk root@hadoop1:/etc/local

    (2)环境变量设置

    接下来就是配置环境变量:

    vi   /etc/profile

    export JAVA_HOME=/usr/local/jdk
    export PATH=.:$JAVA_HOME/bin:$PATH

    输入 source /etc/profile使配置文件生效。

    检查jdk是否安装配置成功,java -version,若显演示样例如以下,表示成功安装。


    相同,将profile拷贝到另外两台主机。

    scp /etc/profile root@hadoop0:/etc/
    scp /etc/profile root@hadoop1:/etc/
    在hadoop0和hadoop1下检查是否安装jdk成功。注意请先使用source /etc/profile更新命令。

    假设现实如上图,则表示3台主机的jdk安装和配置成功。


    四、安装和配置hadoop


    (1)解压安装hadoop1.1.2

    在hadoop主机下:

    下载并将hadoop-1.1.2.tar.gz解压到当前用户文件夹下(/usr/local)。

    tar -zxvf   hadoop-1.1.2.tar.gz

    然后将hadoop目录重命名为hadoop。


    (2)配置hadoop

    在hadoop主机下:

    进入hadoop目录下的conf夹,改动配置文件。

    1.指定jdk安装位置:

    Hadoop-env.sh:

    export  JAVA_HOME=/usr/local/jdk

    2.hadoop核心配置文件,配置HDFS地址和段口号。

    core-site.xml

    <configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://hadoop:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/hadoop/tmp</value>
        </property>
    </configuration>

    3.hdfs-site.xml,默认的配置方式是3,这里表示副本数是3,因为我们搭建的子节点仅仅有2个,所以输入1或2。

    hdfs-site.xml

    <configuration>
            <property>
                     <name>dfs.replication</name>
                     <value>2</value>
             </property>
    </configuration>

    4.配置MapReduce文件,配置JobTracker的地址和port

    mapred-site.xml

    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>hadoop:9001</value>
    </property>
    </configuration>

    5‘改动masters文件

    hadoop
    6.改动slaves文件

    hadoop0
    hadoop1


    然后将hadoop目录拷贝到另外2台主机。

    scp /uer/local/hadoop root@hadoop0:/etc/local/
    scp /uer/local/hadoop root@hadoop1:/etc/local/

    接下来要改动环境变量:

    vi /etc/profile

    export JAVA_HOME=/usr/local/jdk
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
    相同,将profile拷贝到另外两台主机上,操作见三(2)。


    (3)启动hadoop

    在hadoop下:

    输入:

    hadoop namenode -format

    然后通过start-all.sh启动全部进程:

    start-all.sh

    能够通过jps命令来查看执行的进程,假设成功执行,那么将会有5个进程执行,例如以下图:
    在hadoop 下:



    在hadoop0下:



    在hadoop1下:



    至此,hadoop启动成功,要想看集群状态,能够打开以下两个网址:

    localhost:50030(mapreduce的web页面)

    localhost:50070(HDFS的web页面)


    假设想在windows下訪问这两个网址,那么就须要关闭centos的防火墙,否则訪问不了。(3台主机都要关闭防火墙)

    命令:service iptables stop

    使用:chkconfig iptables off,能够关闭防火墙的自己主动执行





    备注:我也是刚起步学习hadoop,可能文章有一些不完整或错误的地方,还请大家多多不吝赐教,也希望能交流学习,互相促进提高。微笑







  • 相关阅读:
    TSQL 字符串前加 N 是什么意思
    SQL语句修改字段默认值
    Clustering Technologies On Windows Server 2008 R2
    sql 修改列名及表名
    Capture screenshots on Mac 在Mac下截图
    极限编程(XP,eXtreme Programming)
    zookeeper安装(单机版)
    linux备份用户权限
    Dubbo管控台安装(zookeeper单机版)
    linux查看IP
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4549044.html
Copyright © 2011-2022 走看看