1-Hadoop环境配置

配置

配置时间 2015年5月5日
操作系统 Mint-16,64bit
Hadoop版本 2.2.0
安装模式 单机伪分布式

步骤

  • 安装JAVA

    • 下载安装JAVA —— Open-JDK 1.7 64bit

    • 设置环境变量

    • 使用java -version命令验证JAVA安装是否成功

$ sudo vi /etc/profile

#在文件结尾添加以下四个路径
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_51

export JRE_HOME=/usr/lib/jdk/jdk1.7.0_51/jre

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

#更新文件内容
$ source /etc/profile
java -Version
  • 配置SSH免密码登录
#创建RSA密钥对并复制公钥到钥匙串authorized_keys即可

$ ssh-keygen -t rsa -P "" 

$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys 

$ ssh localhost
  • Hadoop下载
$ wget https://archive.apache.org/dist/hadoop/core/hadoop-2.2.0/hadoop-2.2.0.tar.gz 

$ tar -xvzf hadoop-2.2.0.tar.gz

$ sudo mv hadoop-2.2.0/ /usr/

$ chmod 777 -R hadoop-2.2.0/
  • Hadoop配置
$ cd /usr/hadoop-2.2.0/etc/hadoop

hadoop-env.sh yarn-env.sh 添加JDK路径

$ vi hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64

$ vi yarn-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64

hdfs-site.xml HDFS配置


    
        dfs.namenode.name.dir
        file:/home/zhy/hdfs/name
        true
    
    
        dfs.datanode.data.dir
        file:/home/zhy/hdfs/data
        true
      
    
        dfs.permissions
        false
    
    
        dfs.replication
        1
    

core-site.xml 配置Namenode



    fs.default.name
    hdfs://node:8020
    true


mapred-site.xml MapReduce设置


      
        mapreduce.framework.name  
        yarn  
      

      
        mapred.system.dir  
        file:/home/zhy/hadoop/mapred/system  
        true  
      

      
        mapred.local.dir  
        file:/home/zhy/hadoop/mapred/local  
        true  
    

yarn-site.xml Yarn资源管理配置


    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.nodemanager.aux-services.mapreduce.shuffle.class
        org.apache.hadoop.mapred.ShuffleHandler
    

slaves保存所有slave节点的主机名或IP地址;
/etc/hostname 保证主机名和其他节点中主机名一致;
/etc/hosts 主机名和IP地址的映射关系,这里只需要添加本机

$ vi slaves
node

$ vi /etc/hosts
node 172.20.10.6

  • 验证Hadoop安装配置

格式化Namenode

hdfs namenode -format

启动HDFS和Yarn

$ cd /usr/hadoop-2.2.0/sbin/

$ ./hadoop-daemon.sh start namenode

$ ./hadoop-daemon.sh start datanode

$ ./yarn-daemon.sh  start resourcemanager

$ ./yarn-daemon.sh  start nodemanager

#简单命令启动
$ ./start-dfs.sh

$ ./start-yarn.sh

#简单但废弃的启动命令
$ ./start-all.sh

使用jps查看进程启动是否成功

 $ jps
1-Hadoop环境配置_第1张图片
jps 命令结果

操作检验

$ hdfs dfs -ls /

$ hdfs dfs -mkdir  /home
 
$ hdfs dfs -put /usr/hadoop-2.2.0/LICENSE.txt  /home/hadoop/

其他操作

  • 关闭Hadoop
$ cd /usr/hadoop-2.2.0/sbin/

$ ./stop-yarn.sh

$ ./stop-dfs.sh

问题及解决方案

  • 1-Hadoop环境配置_第2张图片
    Warning

出现这个警告是由于Hadoop的库文件是在32bit环境下编译的,解决方式是下载对应版本的Hadoop源码,并在本机器上编译即可,该警告不影响Hadoop功能。

  • could only be replicated to 0 nodes error

出现这个问题可能是由于DataNode连接问题,尝试以下两个操作:

1 编辑**/etc/hosts**文件并将配置中使用的主机名IP地址写入该文件

2 删除Hadoop的**tmp**文件夹,尝试重启并格式化Namenode
  • path is not a file error

这个问题在该URL中提出过,这也是我解决这个问题的思路。是由于把输入文件放在了/tmp路径下,导致中间结果也被当做输入读取,且Hadoop无法读取多层目录的输入,因此出错。

你可能感兴趣的:(1-Hadoop环境配置)