环境搭建(一)hadoop2.2.0 (ubuntu10.0.4)

本文详细介绍了如何在开发测试环境中搭建Hadoop2.2.0,包括安装JDK、配置SSH无密码通信、设置环境变量、配置各核心文件等步骤,并解决了可能出现的一些常见问题。

目前的开发测试环境中用到map-reduce框架,hive数据库,spark也涉及了hdfs文件系统,因此有必要配置Hadoop环境,考虑到整个框架的稳定性等因素,这里搭建hadoop2.2.0.

准备工作:
  1. 安装了jdk,测试:java -version
  2. 安装了vim,测试: vim a.txt
正式安装:
  1. 下载 hadoop-2.2.0.x86_64.tar.gz
    $ wget http://archive.apache.org/dist/hadoop/core/hadoop-2.2.0/hadoop-2.2.0.tar.gz
  2. 配置环境变量

    $ tar zxvf hadoop-2.2.0.tar.gz

    $ sudo mv hadoop-2.2.0 /opt/

    $ sudo vim /etc/profile 

    #添加以下信息

      export HADOOP_HOME=/opt/hadoop-2.2.0

     #修改PATH

       PATH=$HADOOP_HOME/bin:$PATH

    $ source /etc/profile

  3. 配置ssh无密码通信
    $ apt-get install ssh
    $ /etc/init.d/ssh start
    $ ssh-keygen -t rsa 
    $ cd .ssh # 进入.ssh目录 
    $ cp id_rsa.pub authorized_keys #生成authorized_keys文件 
    $ ssh localhost #测试无密码登陆,第一次登录可能需要密码

    若报“Agent admitted failure to sign using the key”错误
     $ ssh-add
     $ ssh localhost

  4. 配置hadoop启动环境变量

    $ sudo vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

      #修改JAVA_HOME:export JAVA_HOME=/opt/jdk1.7.0_17

      #注:以自己的JAVA_HOME实际位置为准

    $ sudo vim $HADOOP_HOME/etc/hadoop/yarn-env.sh

      #修改JAVA_HOME:export JAVA_HOME=/opt/jdk1.7.0_17

  5. 配置namenode访问地址和端口

    $ sudo vim $HADOOP_HOME/etc/hadoop/core-site.xml

       #添加以下配置信息:

     <property>
           <name>fs.default.name</name>
          <value>hdfs://localhost:9000</value>
       </property>

  6. 配置namenode和datanode信息

    $ sudo vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

    #添加以下配置信息

    property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop-2.2.0/hdfs/namenode</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop-2.2.0/hdfs/datanode</value>
    </property>

  7. 配置yarn-site.xml

    $ sudo vim  $HADOOP_HOME/etc/hadoop/yarn-site.xml

    #添加以下配置信息 

    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

    <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

  8. 配置mapred-site.xml

    sudo vim  $HADOOP_HOME/etc/hadoop/mapred-site.xml

     

    #添加以下配置信息 

     

    <property>
    <name>mapreduce.cluster.temp.dir</name>
    <value></value>
    <description>No description</description>
    <final>true</final>
    </property>

    <property>
    <name>mapreduce.cluster.local.dir</name>
    <value></value>
    <description>No description</description>
    <final>true</final>
    </property>

  9. 格式化namenode

    $ hadoop namenode -format

  10. 启动虚拟集群

    $ cd $HADOOP_HOME/sbin
    $ ./start-all.sh

  11. 配置mapred-site.xml

    sudo vim  $HADOOP_HOME/etc/hadoop/mapred-site.xml

     

    #添加以下配置信息 

     

    <property>
    <name>mapreduce.cluster.temp.dir</name>
    <value></value>
    <description>No description</description>
    <final>true</final>
    </property>

    <property>
    <name>mapreduce.cluster.local.dir</name>
    <value></value>
    <description>No description</description>
    <final>true</final>
    </property>

  12. 格式化namenode

    $ hadoop namenode -format

  13. 启动虚拟集群

    $ cd $HADOOP_HOME/sbin
    $ ./start-all.sh

  14. 若机器没有root账户,则会启动失败,使用以下命令添加root 账户

    $ sudo passwd root

  15. 如果使用hadoop fs ... 命令,报连接错误

    可能是hadoop namenode -format 命令未执行成功,改用sudo,并且查看hdfs-site.xml中路径是否设置正确

  16. 如果使用hadoop fs -mkdir /path 遇到权限问题,可以在root下使用hadoop fs chmod 777 /path

查看集群情况:
  1. http://localhost:8088/cluster
  2. http://localhost:50070/dfshealth.jsp


错误情况解决:

  1. ssh can not find host name or service:
    64位系统不兼容32位程序,安装32位库
  2. start-dfs.sh log中报错:namenode:cluster id .... datanode: cluster id
    检查配置的namenode和datanode文件夹下的version中cluster_id 的一致性
  3. “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”

    http://www.secdoctor.com/html/yyjs/31101.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值