ITPub博客

首页 > 大数据 > 数据挖掘 > Ubuntu12.04安装Hadoop0.23.5

Ubuntu12.04安装Hadoop0.23.5

数据挖掘 作者:978531841 时间:2013-01-04 09:06:32 0 删除 编辑
  Hadoop本身是JAVA语言开发,所以需要安装JDK。为了更好的使用Hadoop建议使用Sun的JDK。Linux是Hadoop唯一支持的生产平台,所以,童鞋们还是装上Linux吧,哈哈。其实Linux挺好用的。

Hadoop目录结构
  Hadoop0.23版本相对以前的版本变化还是比较大的,主要有以下几方面:
  (1)Hadoop0.23中加入了权限的区分,原来的bin目录被分成两个部分——bin和sbin目录,sbin目录存放的是Hadoop的运行脚本,只有超级用户才可以执行;而bin目录下存放的东西是所有用户都可以执行的。
  (2)原来的配置文件在conf目录下,在0.23版本中,配置文件放到了 etc/hadoop目录下了。
  (3)include和lib目录下存放的是用C语言开发的Hadoop头文件和库文件;
  (4)libexec目录存放的是Hadoop的配置脚本;
  (5)share目录下存放的是doc文档和最重要的Hadoop的Jar包文件,就是开发中用到的那些Jar包(开发就用这里的包,里面有Hadoop的全部包和它需要的第三方包

安装
  从Hadoop的官方网页下载最新版的Hadoop(http://hadoop.apache.org)。解压到本地文件系统中
  %tar xvf hadoop-x.y.z.tar.gz
  在运行Hadoop安装程序之前,需要指定JAVA在本机的路径。
  创建一个Hadoop的安装目录的环境变量(例如 HADOOP_DEV_HOME),再把Hadoop安装目录放在命令行路径上,是非常方便的。例如:
  %export HADOOP_DEV_HOME=/home/tony/hadoop-0.23.0
  %export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
  %export PATH=$PATH:${HADOOP_DEV_HOME}/bin
  设置完之后,运行命令测试Hadoop的安装是否正确
  %hadoop version
  如果显示出版本信息,则表示成功了。  

配置
1.配置SSH
  要启动Hadoop的守护进程,必须要配置SSH。在Ubuntu中,可以使用下面的命令来安装SSH
    %:sudo apt-get install ssh
  然后创建一个新的SSH密钥,以启动无密码登陆
    % ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    % cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  用以下指令测试:
    % ssh localhost
  第一次执行时会有个提示,输入yes就行了,然后一路回车,如果成功了,则需要输入密码。
2.配置环境变量
  在~/.bashrc文件中增加如下内容(此处没有配置yarn的环境变量)
    export HADOOP_DEV_HOME=/home/tony/cop/Cloud/hadoop-0.23.5
    export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
    export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
    export HADOOP_CONF_DIR=${HADOO_DEV_HOME}/etc/hadoop
  网上还说要在libexec/hadoop-config.sh中添加JAVA_HOME,我在~/.bashrc中配置了,所以没有在这里进行配置,运行Hadoop也成功了,如果各位运行没有成功,可以在这里指定一下JAVA_HOME。
  注:我试了,在hadoop-config.sh中增加JAVA_HOME,一直没成功。建议大家去etc/hadoop/hadoop-env.sh中修改。
3.配置Hadoop的配置文件
  配置文件都放在etc/haddop目录下了,主要的配置文件有core-site.xml(用于配置Common组件的属性)、hdfs-site.xml(HDFS的配置文件)和mapred-site.xml(MapReduce的配置文件)。
  Hadoop分有三种运行模式:独立模式、伪分布模式和分布模式。独立模式不需要进行配置就可以运行,是默认的模式;伪分布模式和分布模式主要差别在HDFS对于文件副本数要求的差别,伪分布式只有一个副本,而分布式模式需要多个副本。
  (1)伪分布式模式
  修改core-site.xml文件

  

    fs.default.name

    hdfs://localhost/

  

  

    dfs.replication

    1

  

  

    hadoop.tmp.dir

    /home/tony/cop/Cloud/hadoop-0.23.5/tmp

  

  注:dfs.replication的数目为1就是伪分布式,>1就是分布式。由于core-default.xml中默认把临时文件目录放在了/tmp目录下了,重启机器就会丢失数据,所以我们在这里对hadoop.tmp.dir重新定义,以覆盖默认的配置。


配置hdfs-site.xml
这部分还在研究中。在使用中,如果仅执行 $ hadoop namenode -format,我遇到的情况是没有DataNode被启动,导致无法操作hdfs。所以我配置了一下datanode

  

    dfs.datanode.data.dir

    file:///home/tony/cop/Cloud/hadoop-0.23.5/temp/datanode

  


格式化HDFS文件系统
  使用Hadoop前,必须格式化一个全新的HDFS安装。通过创建存储目录和namenode管理文件系统的元数据。需要进入bin目录,执行下面的语句
    % hadoop namenode -format
  如前段所说,仅执行这条语句后,datanode没有启动,所以我加了一句
    % hadoop datanode -format

启动和终止守护进程
    % ./sbin/start-dfs.sh
    % ./sbin/start-mapred.sh(Hadoop 0.23.5中没找到这个东东,不知道是我少下了什么东西,还是有问题)

    % ./sbin/stop-dfs.sh
    % ./sbin/stop-mapred.sh
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26144336/viewspace-1120652/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-08-07