Hadoop-1.0.4单机伪分布式环境搭建

1.搭建环境

  ubuntu-12.04.1-desktop-i386.iso

  java jdk6  

  hadoop-1.0.4

2.jdk的安装与配置

  下载 jdk 6 下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html

  创建安装目录 /usr/java

  

  将下载的jdk复制到该目录下

  

  进入usr/java 目录下 首先改变该文件的权限

  

  然后执行自解压命令:sudo ./jdk-6u43-linux-i586.bin

  配置java环境变量:进入/etc/profile

  

  在文件尾添加如下内容:

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

  export PATH=$JAVA_HOME/bin:$PATH

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

  保存后运行 source /etc/profile 让配置文件生效 可以用 echo $PATH 和echo $CLASSPATH 看配置是否正确

  配置成功以后运行java -version 出现下图所示,java环境即配置成功

  

  至此java环境配置成功。

3.hadoop安装及配置

  1.创建Hadoop用户及用户组

    sudo addgroup hadoop

    sudo adduser -ingroup hadoop hadoop

    

    java环境变量在hadoop用户下可能没有生效,用source /ect/profile 命令让配置文件生效即可

    给hadoop用户赋予root权限

      进入root下: su root

      修改 /etc/sudoers 在root ALL=(ALL:ALL) ALL下增加一行

      hadoop ALL=(ALL:ALL) ALL

  2.SSH安装配置

    从ubuntu的软件库中直接安装ssh

      sudo apt-get install ssh openssh-server

    生成密钥

      ssh-keygen

      

      进入密钥保存的目录

        cd ~/.ssh

      可以看到目录下有两个密钥文件 一个是私钥一个是公钥

        

      复制ssh的公钥

        cp id_rsa.pub authorized_keys

    配置完成后就可以用ssh 进行无密码登录,第一次登录的时候可能会出现如下提示:

       

       出现提示的时候输入yes即可 第二次登录就没有问题了

       

  3.hadoop安装配置

    下载hadoop-1.0.4.bin.tar.gz  http://mirrors.cnnic.cn/apache/hadoop/common/

    将其复制到/usr 目录下 并解压

      

      改变hadoop-1.0.4的使用权限

        sudo chown hadoop:hadoop hadoop-1.0.4

        

     进入hadoop-1.0.1/conf/目录下 编辑hadoop的配置文件

      首先配置hadoop-env.sh(记录脚本使用的环境变量)

        sudo gedit hadoop-env.sh 

        (用ssh locahost登录以后 好像用gedit编辑不了 用exit退出以后就可以编辑了)    

       配置core-site.xml(hadoop core的配置项)

         在configuration中加入

          <property>

             <name>fs.default.name</name>//默认的文件系统,通过该端口可以访问hadoop的namenode

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

          </property>

          <property>

             <name>hadoop.tmp.dir</name>//设置hadoop的临时目录,hdfs的临时目录存放在该临时目录下

             <value>/opt/tmp/hadoop-${user.name}</value>

          </property>

       配置hdfs-site.xml(Hadoop守护进程的配置项)

        在configuration中加入

           <property>

             <name>dfs.replication</name>//文件进行备份的份数

             <value>1</value>

          </property>

       配置mapred-site.xml:(MapReduce守护进程的配置项)

        在configuration中加入

           <property>

             <name>mapred.job.tracker</name>//指定jobtracker的RPC服务器地址和端口

             <value>localhost:9001</value>

          </property>

          <property>

             <name>mapred.child.tmp</name>//mapred运行时的临时目录

             <value>/opt/tmp</value>

          </property>

    至此hadoop的安装配置完毕。

  4.hadoop的运行

 

    对namenode 进行格式化

     在格式化的时候出现了错误:    

        

    这是由于hadoop用户没有/opt 目录的操作权限造成的 改变/opt目录的权限再进行格式化即可 sudo chown hadoop:hadoop opt

      

  格式化以后即可启动hadoop

      

  用jps可以看到系统启动了如下进程

      

  启动的日志在/hadoop-1.0.4/logs/下 如果出错可以通过查看log来找出错误

  启动hadoop以后通过localhost:50030发现不能访问,查看日志 发现是如下错误:

     java.io.exception:could only be replicated to 0 nodes instead of 1;

     检查以后将/opt 下的tmp目录删除,重新格式化了一下namenode并关闭了防火墙 sudo ufw disabled 就可以了

  hadoop启动以后 就可以通过localhost:50030 访问jobtracker

    

    通过localhost:50070 访问namenode

    

      

    至此所有配置完毕。

    

      

     

        

         

    

    

    

posted @ 2013-04-23 20:02  xiaohuoshan  阅读(731)  评论(0编辑  收藏  举报