zoukankan      html  css  js  c++  java
  • [转]CentOS下安装伪分布式Hadoop-1.2.1

    From: http://blog.csdn.net/yinan9/article/details/16805275

    环境:CentOS 5.10(虚拟机下)

    1. [root@localhost hadoop]# lsb_release -a  
      1. LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch  
      2. Distributor ID: CentOS  
      3. Description:    CentOS release 5.10 (Final)  
      4. Release:        5.10  
      5. Codename:       Final 

    准备

    Jdk安装与配置

    Oracle官网下载jdk,这里我下载的是jdk-6u45-linux-i586.bin,并上传到虚拟机上,使用root用户,执行以下命令创建文件夹,移动安装文件,执行安装。

    1. mkdir /usr/java  

    mv/home/auxu/Desktop/jdk-6u45-linux-i586.bin /usr/java  

    cd /usr/java  

    ./jdk-6u45-linux-i586.bin 

    配置环境变量

    1. vi /etc/profile 

    加入

    export JAVA_HOME=/usr/java/jdk1.6.0_45
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

    保存完毕之后,执行:

    1. source /etc/profile 

    验证java配置

    [root@localhost java]# java -version  

    java version "1.6.0_45"

    Java(TM) SE Runtime Environment (build 1.6.0_45-b06)  

    Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing) 

    可以简单写一个java class来进行测试,这里不多说明

    创建Hadoop用户及相关应用文件夹

    同样使用root用户创建一个名为hadoop的新用户

    useradd hadoop  

    passwd hadoop 

    创建应用文件夹,以便进行之后的hadoop配置

    mkdir /hadoop  

    mkdir /hadoop/hdfs  

    mkdir /hadoop/hdfs/data  

    mkdir /hadoop/hdfs/name

    mkdir /hadoop/mapred  

    mkdir /hadoop/mapred/local

    mkdir /hadoop/mapred/system  

    mkdir /hadoop/tmp 

    将文件夹属主更改为hadoop用户

    chown -R hadoop /hadoop 

    设置Hadoop用户使之可以免密码sshlocalhost

    su - hadoop  

    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa    

    cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys  

    cd /home/hadoop/.ssh   

    chmod 600 authorized_keys 

    注意这里的权限问题,保证.ssh目录权限为700,authorized_keys为600

    验证:

    1. [hadoop@localhost .ssh]$ ssh localhost  
    2. Last login: Sun Nov 17 22:11:55 2013 

    ssh localhost之后无需输入密码就可以连接,配置OK

    安装配置Hadoop

    创建目录并安装

    重新切回root用户,创建安装目录

    mkdir /opt/hadoop  

    将安装文件移动到以上新建目录,确保其执行权限,然后执行

    mv /home/auxu/Desktop/hadoop-1.2.1.tar.gz /opt/hadoop  

    1. cd /opt/hadoop  
    2. tar -xzvf hadoop-1.2.1.tar.gz 

    将hadoop安装目录的属主更改为hadoop用户

    chown -R hadoop /opt/hadoop  

    切换到hadoop用户,修改配置文件,这里根据前面创建的应用文件进行相关配置,依照各自情况而定

    1. su - hadoop 
    1. cd /opt/hadoop/hadoop-1.2.1/conf 

    core-site.xml

    <configuration>

    <property>

    <name>fs.default.name</name>

    <value>hdfs://localhost:9000</value>

    </property>

    <property>

    <name>hadoop.tmp.dir</name>

    <value>/hadoop/tmp</value>

    </property>

    </configuration>

    hdfs-site.xml

    <configuration>

    <property>

    <name>dfs.replication</name>

    <value>1</value>

    </property>

    <property>

    <name>dfs.name.dir</name>

    <value>/hadoop/hdfs/name</value>

    </property>

    <property>

    <name>dfs.data.dir</name>

    <value>/hadoop/hdfs/data</value>

    </property>

    </configuration>

    mapred-site.xml

    <configuration>

    <property>

    <name>mapred.job.tracker</name>

    <value>localhost:9001</value>

    </property>

    </configuration>

    hadoop-env.sh

    配置JAVA_HOME 与 HADOOP_HOME_WARN_SUPPRESS。

    PS:HADOOP_HOME_WARN_SUPPRESS这个变量可以避免某些情况下出现这样的提醒 "WARM: HADOOP_HOME is deprecated”

    export JAVA_HOME=/usr/java/jdk1.6.0_45  

    export HADOOP_HOME_WARN_SUPPRESS="TRUE"      

    source hadoop-env.sh 

    重新配置 /etc/profile 文件,最终如:

    export JAVA_HOME=/usr/java/jdk1.6.0_45  

    export JRE_HOME=$JAVA_HOME/jre  

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  

    export HADOOP_HOME=/opt/hadoop/hadoop-1.2.1  

    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 

    使更新后的配置文件生效

    1. source /etc/profile 

    测试hadoop安装

    [hadoop@localhost conf]$ hadoop version  

    Hadoop 1.2.1  

    Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152  

    Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013  

    From source with checksum 6923c86528809c4e7e6f493b6b413a9a 

    启动HADOOP

    需要先格式化namenode,再启动所有服务

    1. hadoop namenode -format  
    2. start-all.sh  

    查看进程

    hadoop@localhost conf]$ jps   

    6360 NameNode  

    6481 DataNode  

    6956 Jps  

    6818 TaskTracker  

    6610 SecondaryNameNode  

    6698 JobTracker 

    如果能找到这些服务,说明Hadoop已经成功启动了。

    如果有什么问题,可以去/opt/hadoop/hadoop-1.2.1/logs查看相应的日志

    最后就可以通过以下链接访问haddop服务了
    localhost:50030/   for the Jobtracker
    localhost:50070/   for the Namenode
    localhost:50060/   for the Tasktracker

    Hadoop JobTracker:

    clip_image001

    Hadoop Namenode:

    clip_image002

    Hadoop TaskTracker:

    clip_image003

    PS:完全分布式的安装与伪分布式安装大同小异,注意如下几点即可

    1.集群内ssh免用户登录

    2.配置文件中指定具体的ip地址(或机器名),而不是localhost

    3.配置masters和slaves文件,加入相关ip地址(或机器名)即可

    以上配置需要在各个节点上保持一致。

  • 相关阅读:
    Java method Exception throw with return instance.
    SQL Profiler Practice.
    FTP 文件 循环 Copy
    【SQL遗补】之 SET NOCOUNT (TransactSQL)
    【WinForm窗体控件开发】之三 窗体控件设计时属性Attribute
    【WinForm窗体控件开发】之三续 窗体控件设计时的事件属性
    【WinForm窗体控件开发】之二 简单的窗体控件
    解决删除DataGridView中数据引发的“DataGridView Default Error Dialog 错误”
    .NET开发WinCE程序之使用软键盘(System.WindowsCE.Forms命名空间)兼容WinCE和桌面操作系统之解决方案
    【C#遗补】之Char.IsDigit和Char.IsNumber的区别
  • 原文地址:https://www.cnblogs.com/dorothychai/p/4175717.html
Copyright © 2011-2022 走看看